bosh_exporter

command module
v2.1.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2016 License: Apache-2.0 Imports: 15 Imported by: 0

README

BOSH Prometheus Exporter Build Status

A Prometheus exporter for BOSH 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_exporter <flags>
From source

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

$ go install github.com/cloudfoundry-community/bosh_exporter
$ bosh_exporter <flags>
Cloud Foundry

The exporter can be deployed to an already existing Cloud Foundry environment:

$ git clone https://github.com/cloudfoundry-community/bosh_exporter.git
$ cd bosh_exporter

Modify the included application manifest file to include your BOSH properties. Then you can push the exporter to your Cloud Foundry environment:

$ cf push
BOSH

This exporter can be deployed using the Prometheus BOSH Release.

Usage

Flags
Flag / Environment Variable Required Default Description
bosh.url
BOSH_EXPORTER_BOSH_URL
Yes BOSH URL
bosh.username
BOSH_EXPORTER_BOSH_USERNAME
[1] BOSH Username
bosh.password
BOSH_EXPORTER_BOSH_PASSWORD
[1] BOSH Password
bosh.uaa.url
BOSH_EXPORTER_BOSH_UAA_URL
[1] BOSH UAA URL
bosh.uaa.client-id
BOSH_EXPORTER_BOSH_UAA_CLIENT_ID
[1] BOSH UAA Client ID
bosh.uaa.client-secret
BOSH_EXPORTER_BOSH_UAA_CLIENT_SECRET
[1] BOSH UAA Client Secret
bosh.log-level
BOSH_EXPORTER_BOSH_LOG_LEVEL
No ERROR BOSH Log Level (DEBUG, INFO, WARN, ERROR, NONE)
bosh.ca-cert-file
BOSH_EXPORTER_BOSH_CA_CERT_FILE
No BOSH CA Certificate file
filter.deployments
BOSH_EXPORTER_FILTER_DEPLOYMENTS
No Comma separated deployments to filter
filter.azs
BOSH_EXPORTER_FILTER_AZS
No Comma separated AZs to filter
filter.collectors
BOSH_EXPORTER_FILTER_COLLECTORS
No Comma separated collectors to filter (Deployments, Jobs, ServiceDiscovery)
metrics.namespace
BOSH_EXPORTER_METRICS_NAMESPACE
No bosh Metrics Namespace
sd.filename
BOSH_EXPORTER_SD_FILENAME
No bosh_target_groups.json Full path to the Service Discovery output file
sd.processes_regexp
BOSH_EXPORTER_SD_PROCESSES_REGEXP
No Regexp to filter Service Discovery processes names
web.listen-address
BOSH_EXPORTER_WEB_LISTEN_ADDRESS
No :9190 Address to listen on for web interface and telemetry
web.telemetry-path
BOSH_EXPORTER_WEB_TELEMETRY_PATH
No /metrics Path under which to expose Prometheus metrics

[1] When BOSH delegates user managament to UAA, bosh.uaa.url, bosh.uaa.client-id and bosh.uaa.client-secret flags will be required; otherwise bosh.username and bosh.password will be required.

Metrics

The exporter returns the following metrics:

Metric Description Labels
metrics.namespace_scrapes_total Total number of times BOSH was scraped for metrics
metrics.namespace_scrape_errors_total Total number of times an error occured scraping BOSH
metrics.namespace_last_scrape_error Whether the last scrape of metrics from BOSH resulted in an error (1 for error, 0 for success)
metrics.namespace_last_scrape_timestamp Number of seconds since 1970 since last scrape from BOSH
metrics.namespace_last_scrape_duration_seconds Duration of the last scrape from BOSH

The exporter returns the following Deployments metrics:

Metric Description Labels
metrics.namespace_deployment_release_info Labeled BOSH Deployment Release Info with a constant 1 value bosh_deployment, bosh_release_name, bosh_release_version
metrics.namespace_deployment_stemcell_info Labeled BOSH Deployment Stemcell Info with a constant 1 value bosh_deployment, bosh_stemcell_name, bosh_stemcell_version, bosh_stemcell_os_name
metrics.namespace_last_deployments_scrape_timestamp Number of seconds since 1970 since last scrape of Deployments metrics from BOSH
metrics.namespace_last_deployments_scrape_duration_seconds Duration of the last scrape of Deployments metrics from BOSH

The exporter returns the following Jobs metrics:

Metric Description Labels
metrics.namespace_job_healthy BOSH Job Healthy (1 for healthy, 0 for unhealthy) bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_load_avg01 BOSH Job Load avg01 bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_load_avg05 BOSH Job Load avg05 bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_load_avg15 BOSH Job Load avg15 bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_cpu_sys BOSH Job CPU System bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_cpu_user BOSH Job CPU User bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_cpu_wait BOSH Job CPU Wait bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_mem_kb BOSH Job Memory KB bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_mem_percent BOSH Job Memory Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_swap_kb BOSH Job Swap KB bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_swap_percent BOSH Job Swap Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_system_disk_inode_percent BOSH Job System Disk Inode Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_system_disk_percent BOSH Job System Disk Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_ephemeral_disk_inode_percent BOSH Job Ephemeral Disk Inode Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_ephemeral_disk_percent BOSH Job Ephemeral Disk Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_persistent_disk_inode_percent BOSH Job Persistent Disk Inode Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_persistent_disk_percent BOSH Job Persistent Disk Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip
metrics.namespace_job_process_healthy BOSH Job Process Healthy (1 for healthy, 0 for unhealthy) bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip, bosh_job_process_name
metrics.namespace_job_process_uptime_seconds BOSH Job Process Uptime in seconds bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip, bosh_job_process_name
metrics.namespace_job_process_cpu_total BOSH Job Process CPU Total bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip, bosh_job_process_name
metrics.namespace_job_process_mem_kb BOSH Job Process Memory KB bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip, bosh_job_process_name
metrics.namespace_job_process_mem_percent BOSH Job Process Memory Percent bosh_deployment, bosh_job_name, bosh_job_id, bosh_job_index, bosh_job_az, bosh_job_ip, bosh_job_process_name
metrics.namespace_last_jobs_scrape_timestamp Number of seconds since 1970 since last scrape of Job metrics from BOSH
metrics.namespace_last_jobs_scrape_duration_seconds Duration of the last scrape of Job metrics from BOSH

The exporter returns the following ServiceDiscovery metrics:

Metric Description Labels
metrics.namespace_last_service_discovery_scrape_timestamp Number of seconds since 1970 since last scrape of Service Discovery from BOSH
metrics.namespace_last_service_discovery_scrape_duration_seconds Duration of the last scrape of Service Discovery from BOSH
Service Discovery

If the ServiceDiscovery collector is enabled, the exporter will write a json file at the sd.filename location containing a list of static configs that can be used with the Prometheus file-based service discovery mechanism:

[
  {
    "targets": ["10.244.0.12"],
    "labels":
      {
        "__meta_bosh_job_process_name": "bosh_exporter"
      }
  },
  {
    "targets": ["10.244.0.11", "10.244.0.12", "10.244.0.13", "10.244.0.14"],
    "labels":
      {
        "__meta_bosh_job_process_name": "node_exporter"
      }
  }
]

The list of targets can be filtered using the sd.processes_regexp flag.

Contributing

Refer to the contributing guidelines.

License

Apache License 2.0, see LICENSE.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL