Skip to content

bosh-prometheus/bosh_tsdb_exporter

Repository files navigation

BOSH TSDB Prometheus Exporter Build Status

A Prometheus exporter for BOSH OpenTSDB Health Monitor plugin metrics. Please refer to the FAQ for general questions about this exporter.

Architecture overview

Installation

Binaries

Download the already existing binaries for your platform:

$ ./bosh_tsdb_exporter <flags>

From source

Using the standard go install (you must have Go already installed in your local machine):

$ go install github.com/bosh-prometheus/bosh_tsdb_exporter
$ bosh_tsdb_exporter <flags>

Docker

To run the BOSH TSDB exporter as a Docker container, run:

docker run -p 9194:9194 -p 13321:13321 boshprometheus/bosh-tsdb-exporter <flags>

BOSH

This exporter can be deployed using the Prometheus BOSH Release.

Usage

Flags

Flag / Environment Variable Required Default Description
metrics.namespace
BOSH_TSDB_EXPORTER_METRICS_NAMESPACE
No bosh_tsdb Metrics Namespace
metrics.environment
BOSH_TSDB_EXPORTER_METRICS_ENVIRONMENT
Yes Environment label to be attached to metrics
tsdb.listen-address
BOSH_TSDB_EXPORTER_TSDB_LISTEN_ADDRESS
No :13321 Address to listen on for the TSDB collector
web.listen-address
BOSH_TSDB_EXPORTER_WEB_LISTEN_ADDRESS
No :9194 Address to listen on for web interface and telemetry
web.telemetry-path
BOSH_TSDB_EXPORTER_WEB_TELEMETRY_PATH
No /metrics Path under which to expose Prometheus metrics
web.auth.username
BOSH_TSDB_EXPORTER_WEB_AUTH_USERNAME
No Username for web interface basic auth
web.auth.password
BOSH_TSDB_EXPORTER_WEB_AUTH_PASSWORD
No Password for web interface basic auth
web.tls.cert_file
BOSH_TSDB_EXPORTER_WEB_TLS_CERTFILE
No Path to a file that contains the TLS certificate (PEM format). If the certificate is signed by a certificate authority, the file should be the concatenation of the server's certificate, any intermediates, and the CA's certificate
web.tls.key_file
BOSH_TSDB_EXPORTER_WEB_TLS_KEYFILE
No Path to a file that contains the TLS private key (PEM format)

Metrics

The exporter returns the following metrics:

Metric Description Labels
metrics.namespace_received_tsdb_messages_total Total number of BOSH HM TSDB received messages environment
metrics.namespace_invalid_tsdb_messages_total Total number of BOSH HM TSDB invalid messages environment
metrics.namespace_discarded_tsdb_messages_total Total number of BOSH HM TSDB discarded messages environment
metrics.namespace_last_tsdb_received_message_timestamp Number of seconds since 1970 since last received message from BOSH HM TSDB environment
metrics.namespace_last_hm_tsdb_scrape_timestamp Number of seconds since 1970 since last scrape of BOSH HM TSDB collector environment
metrics.namespace_last_hm_tsdb_scrape_duration_seconds Duration of the last scrape of BOSH HM TSDB collector environment

The exporter returns the following Job metrics:

Metric Description Labels
metrics.namespace_job_healthy BOSH Job Healthy (1 for healthy, 0 for unhealthy) environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_load_avg01 BOSH Job Load avg01 environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_cpu_sys BOSH Job CPU System environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_cpu_user BOSH Job CPU User environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_cpu_wait BOSH Job CPU Wait environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_mem_kb BOSH Job Memory KB environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_mem_percent BOSH Job Memory Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_swap_kb BOSH Job Swap KB environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_swap_percent BOSH Job Swap Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_system_disk_inode_percent BOSH Job System Disk Inode Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_system_disk_percent BOSH Job System Disk Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_ephemeral_disk_inode_percent BOSH Job Ephemeral Disk Inode Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_ephemeral_disk_percent BOSH Job Ephemeral Disk Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_persistent_disk_inode_percent BOSH Job Persistent Disk Inode Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index
metrics.namespace_job_persistent_disk_percent BOSH Job Persistent Disk Percent environment, bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index

Contributing

Refer to the contributing guidelines.

License

Apache License 2.0, see LICENSE.