A Prometheus exporter for Cloud Foundry administrative information. Please refer to the FAQ for general questions about this exporter.
Download the already existing binaries for your platform:
$ ./cf_exporter <flags>
Using the standard go install
(you must have Go already installed in your local machine):
$ go install github.com/bosh-prometheus/cf_exporter
$ cf_exporter <flags>
To run the cf exporter as a Docker container, run:
$ docker run -p 9193:9193 boshprometheus/cf-exporter <flags>
The exporter can be deployed to an already existing Cloud Foundry environment:
$ git clone https://github.com/bosh-prometheus/cf_exporter.git
$ cd cf_exporter
Modify the included application manifest file to include your Cloud Foundry properties. Then you can push the exporter to your Cloud Foundry environment:
$ cf push
This exporter can be deployed using the Prometheus BOSH Release.
In order to connect to the Cloud Foundry API a client-id
and client-secret
must be provided. The client-id
must have the cloud_controller.admin
authority.
For example, to create a new client-id
and client-secret
with the right permissions:
uaac target https://<YOUR UAA URL> --skip-ssl-validation
uaac token client get <YOUR ADMIN CLIENT ID> -s <YOUR ADMIN CLIENT SECRET>
uaac client add prometheus-cf \
--name prometheus-cf \
--secret prometheus-cf-client-secret \
--authorized_grant_types client_credentials,refresh_token \
--authorities cloud_controller.admin
Flag / Environment Variable | Required | Default | Description |
---|---|---|---|
cf.api_url CF_EXPORTER_CF_API_URL |
Yes | Cloud Foundry API URL | |
cf.username CF_EXPORTER_CF_USERNAME |
[1] | Cloud Foundry Username (must be an administrator user) |
|
cf.password CF_EXPORTER_CF_PASSWORD |
[1] | Cloud Foundry Password | |
cf.client-id CF_EXPORTER_CF_CLIENT_ID |
[1] | Cloud Foundry Client ID (must have the cloud_controller.admin or cloud_controller.admin_read_only scope) |
|
cf.client-secret CF_EXPORTER_CF_CLIENT_SECRET |
[1] | Cloud Foundry Client Secret | |
cf.deployment-name CF_EXPORTER_CF_DEPLOYMENT_NAME |
Yes | Cloud Foundry Deployment Name to be reported as a metric label | |
cf.api-v3-enabled CF_EXPORTER_CF_API_V3_ENABLED |
No | False | Enable Cloud Foundry API V3 calls |
events.query CF_EXPORTER_EVENTS_QUERY |
No | When the Events filter is enabled and this value is set, this query is sent to the CloudController to limit the number of results returned. Syntax is exactly as documented at the Cloud Foundry API |
|
filter.collectors CF_EXPORTER_FILTER_COLLECTORS |
No | Comma separated collectors to filter. If not set, all collectors except Events will be enabled (Applications , Events , IsolationSegments , Organizations , Routes , SecurityGroups , ServiceBindings , ServiceInstances , ServicePlans , Services , Spaces , Stacks ). IsolationSegments collector requires cf.api-v3-enabled enabled |
|
metrics.namespace CF_EXPORTER_METRICS_NAMESPACE |
No | cf |
Metrics Namespace |
metrics.environment CF_EXPORTER_METRICS_ENVIRONMENT |
Yes | Environment label to be attached to metrics | |
skip-ssl-verify CF_EXPORTER_SKIP_SSL_VERIFY |
No | false |
Disable SSL Verify |
web.listen-address CF_EXPORTER_WEB_LISTEN_ADDRESS |
No | :9193 |
Address to listen on for web interface and telemetry |
web.telemetry-path CF_EXPORTER_WEB_TELEMETRY_PATH |
No | /metrics |
Path under which to expose Prometheus metrics |
web.auth.username CF_EXPORTER_WEB_AUTH_USERNAME |
No | Username for web interface basic auth | |
web.auth.password CF_EXPORTER_WEB_AUTH_PASSWORD |
No | Password for web interface basic auth | |
web.tls.cert_file CF_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 CF_EXPORTER_WEB_TLS_KEYFILE |
No | Path to a file that contains the TLS private key (PEM format) |
[1] Either cf.username
and cf.password
or cf.client-id
and cf.client-secret
must be provided. When using cf.username
and cf.password
, tokens are not refreshed, so after a period of time the exporter will be unable to communicate with the CF API, so use this method only when testing the exporter. For production, it is recommended to use the cf.client-id
and cf.client-secret
authentication method.
The exporter returns the following Applications
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_application_info | Labeled Cloud Foundry Application information with a constant 1 value |
environment , deployment , application_id , application_name , detected_buildpack , buildpack , organization_id , organization_name , space_id , space_name , stack_id , state |
metrics.namespace_application_instances | Number of desired Cloud Foundry Application Instances | environment , deployment , application_id , application_name , organization_id , organization_name , space_id , space_name , state |
metrics.namespace_application_instances_running | Number of running Cloud Foundry Application Instances | environment , deployment , application_id , application_name , organization_id , organization_name , space_id , space_name , state |
metrics.namespace_application_memory_mb | Cloud Foundry Application Memory (Mb) | environment , deployment , application_id , application_name , organization_id , organization_name , space_id , space_name |
metrics.namespace_application_disk_quota_mb | Cloud Foundry Application Disk Quota (Mb) | environment , deployment , application_id , application_name , organization_id , organization_name , space_id , space_name |
metrics.namespace_applications_scrapes_total | Total number of scrapes for Cloud Foundry Applications | environment , deployment |
metrics.namespace_applications_scrape_errors_total | Total number of scrape errors of Cloud Foundry Applications | environment , deployment |
metrics.namespace_last_applications_scrape_error | Whether the last scrape of Applications metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_applications_scrape_timestamp | Number of seconds since 1970 since last scrape of Applications metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_applications_scrape_duration_seconds | Duration of the last scrape of Applications metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Events
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_events_info | Labeled Cloud Foundry Events information with a constant 1 value |
environment , deployment , type , actor , actor_type , actor_name , actor_username , actee , actee_type , actee_name , space_id , organization_id |
metrics.namespace_events_scrapes_total | Total number of scrapes for Cloud Foundry Events | environment , deployment |
metrics.namespace_events_scrape_errors_total | Total number of scrape errors of Cloud Foundry Events | environment , deployment |
metrics.namespace_last_events_scrape_error | Whether the last scrape of Events metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_events_scrape_timestamp | Number of seconds since 1970 since last scrape of Events metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_events_scrape_duration_seconds | Duration of the last scrape of Events metrics from Cloud Foundry | environment , deployment |
The exporter returns the following IsolationSegments
metrics (requires cf.api-v3-enabled
enabled):
Metric | Description | Labels |
---|---|---|
metrics.namespace_isolation_segment_info | Labeled Cloud Foundry Isolation Segment information with a constant 1 value |
environment , deployment , isolation_segment_id , isolation_segment_name |
metrics.namespace_isolation_segments_scrapes_total | Total number of scrapes for Cloud Foundry Isolation Segments | environment , deployment |
metrics.namespace_isolation_segments_scrape_errors_total | Total number of scrape errors of Cloud Foundry Isolation Segments | environment , deployment |
metrics.namespace_last_isolation_segments_scrape_error | Whether the last scrape of Isolation Segments metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_isolation_segments_scrape_timestamp | Number of seconds since 1970 since last scrape of Isolation Segments metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_isolation_segments_scrape_duration_seconds | Duration of the last scrape of Isolation Segments metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Organizations
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_organization_info | Labeled Cloud Foundry Organization information with a constant 1 value |
environment , deployment , organization_id , organization_name , quota_name |
metrics.namespace_organization_non_basic_services_allowed | A Cloud Foundry Organization can provision instances of paid service plans? (1 for true , 0 for false ) |
environment , deployment , organization_id , organization_name |
metrics.namespace_organization_instance_memory_mb_limit | Maximum amount of memory (Mb) an application instance can have in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_app_instances_quota | Total number of application instances that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_app_tasks_quota | Total number of application tasks that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_memory_mb_quota | Total amount of memory (Mb) a Cloud Foundry Organization can have | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_private_domains_quota | Total number of private domains that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_reserved_route_ports_quota | Total number of routes that may be created with reserved ports in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_routes_quota | Total number of routes that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_service_keys_quota | Total number of service keys that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organization_total_services_quota | Total number of service instances that may be created in a Cloud Foundry Organization | environment , deployment , organization_id , organization_name |
metrics.namespace_organizations_scrapes_total | Total number of scrapes for Cloud Foundry Organizations | environment , deployment |
metrics.namespace_organizations_scrape_errors_total | Total number of scrape errors of Cloud Foundry Organizations | environment , deployment |
metrics.namespace_last_organizations_scrape_error | Whether the last scrape of Organizations metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_organizations_scrape_timestamp | Number of seconds since 1970 since last scrape of Organizations metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_organizations_scrape_duration_seconds | Duration of the last scrape of Organizations metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Routes
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_route_info | Labeled Cloud Foundry Route information with a constant 1 value |
environment , deployment , route_id , route_host , route_path , domain_id , space_id , service_instance_id |
metrics.namespace_routes_scrapes_total | Total number of scrapes for Cloud Foundry Routes | environment , deployment |
metrics.namespace_routes_scrape_errors_total | Total number of scrape errors of Cloud Foundry Routes | environment , deployment |
metrics.namespace_last_routes_scrape_error | Whether the last scrape of Routes metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_routes_scrape_timestamp | Number of seconds since 1970 since last scrape of Routes metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_routes_scrape_duration_seconds | Duration of the last scrape of Routes metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Security Groups
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_security_group_info | Labeled Cloud Foundry Security Group information with a constant 1 value |
environment , deployment , security_group_id , security_group_name |
metrics.namespace_security_groups_scrapes_total | Total number of scrapes for Cloud Foundry Security Groups | environment , deployment |
metrics.namespace_security_groups_scrape_errors_total | Total number of scrape errors of Cloud Foundry Security Groups | environment , deployment |
metrics.namespace_last_security_groups_scrape_error | Whether the last scrape of Security Groups metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_security_groups_scrape_timestamp | Number of seconds since 1970 since last scrape of Security Groups metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_security_groups_scrape_duration_seconds | Duration of the last scrape of Security Groups metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Services
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_service_info | Labeled Cloud Foundry Service information with a constant 1 value |
environment , deployment , service_id , service_label |
metrics.namespace_services_scrapes_total | Total number of scrapes for Cloud Foundry Services | environment , deployment |
metrics.namespace_services_scrape_errors_total | Total number of scrape errors of Cloud Foundry Services | environment , deployment |
metrics.namespace_last_services_scrape_error | Whether the last scrape of Services metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_services_scrape_timestamp | Number of seconds since 1970 since last scrape of Services metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_services_scrape_duration_seconds | Duration of the last scrape of Services metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Service Bindings
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_service_binding_info | Labeled Cloud Foundry Service Binding information with a constant 1 value |
environment , deployment , sservice_binding_id , application_id , service_instance_id |
metrics.namespace_service_bindings_scrapes_total | Total number of scrapes for Cloud Foundry Service Bindings | environment , deployment |
metrics.namespace_service_bindings_scrape_errors_total | Total number of scrape errors of Cloud Foundry Service Bindings | environment , deployment |
metrics.namespace_last_service_bindings_scrape_error | Whether the last scrape of Service Bindings metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_service_bindings_scrape_timestamp | Number of seconds since 1970 since last scrape of Service Bindings metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_service_bindings_scrape_duration_seconds | Duration of the last scrape of Service Bindings metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Service Instances
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_service_instance_info | Labeled Cloud Foundry Service Instance information with a constant 1 value |
environment , deployment , service_instance_id , service_instance_name , service_plan_id , space_id , type , last_operation_type , last_operation_state |
metrics.namespace_service_instances_scrapes_total | Total number of scrapes for Cloud Foundry Service Instances | environment , deployment |
metrics.namespace_service_instances_scrape_errors_total | Total number of scrape errors of Cloud Foundry Service Instances | environment , deployment |
metrics.namespace_last_service_instances_scrape_error | Whether the last scrape of Service Instances metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_service_instances_scrape_timestamp | Number of seconds since 1970 since last scrape of Service Instances metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_service_instances_scrape_duration_seconds | Duration of the last scrape of Service Instances metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Service Plans
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_service_plan_info | Labeled Cloud Foundry Service Plan information with a constant 1 value |
environment , deployment , service_plan_id , service_plane_name , service_id |
metrics.namespace_service_plans_scrapes_total | Total number of scrapes for Cloud Foundry Service Plans | environment , deployment |
metrics.namespace_service_plans_scrape_errors_total | Total number of scrape errors of Cloud Foundry Service Plans | environment , deployment |
metrics.namespace_last_service_plans_scrape_error | Whether the last scrape of Service Plans metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_service_plans_scrape_timestamp | Number of seconds since 1970 since last scrape of Service Plans metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_service_plans_scrape_duration_seconds | Duration of the last scrape of Service Plans metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Spaces
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_space_info | Labeled Cloud Foundry Space information with a constant 1 value |
environment , deployment , space_id , space_name , organization_id , quota_name |
metrics.namespace_space_non_basic_services_allowed | A Cloud Foundry Space can provision instances of paid service plans? (1 for true , 0 for false ) |
environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_instance_memory_mb_limit | Maximum amount of memory (Mb) an application instance can have in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_app_instances_quota | Total number of application instances that may be created in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_app_tasks_quota | Total number of application tasks that may be created in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_memory_mb_quota | Total amount of memory (Mb) a Cloud Foundry Space can have | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_reserved_route_ports_quota | Total number of routes that may be created with reserved ports in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_routes_quota | Total number of routes that may be created in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_service_keys_quota | Total number of service keys that may be created in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_space_total_services_quota | Total number of service instances that may be created in a Cloud Foundry Space | environment , deployment , space_id , space_name , organization_id |
metrics.namespace_spaces_scrapes_total | Total number of scrapes for Cloud Foundry Spaces | environment , deployment |
metrics.namespace_spaces_scrape_errors_total | Total number of scrape errors of Cloud Foundry Spaces | environment , deployment |
metrics.namespace_last_spaces_scrape_error | Whether the last scrape of Spaces metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_spaces_scrape_timestamp | Number of seconds since 1970 since last scrape of Spaces metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_spaces_scrape_duration_seconds | Duration of the last scrape of Spaces metrics from Cloud Foundry | environment , deployment |
The exporter returns the following Stacks
metrics:
Metric | Description | Labels |
---|---|---|
metrics.namespace_stack_info | Labeled Cloud Foundry Stack information with a constant 1 value |
environment , deployment , stack_id , stack_name |
metrics.namespace_stacks_scrapes_total | Total number of scrapes for Cloud Foundry Stacks | environment , deployment |
metrics.namespace_stacks_scrape_errors_total | Total number of scrape errors of Cloud Foundry Stacks | environment , deployment |
metrics.namespace_last_stacks_scrape_error | Whether the last scrape of Stacks metrics from Cloud Foundry resulted in an error (1 for error, 0 for success) |
environment , deployment |
metrics.namespace_last_stacks_scrape_timestamp | Number of seconds since 1970 since last scrape of Stacks metrics from Cloud Foundry | environment , deployment |
metrics.namespace_last_stacks_scrape_duration_seconds | Duration of the last scrape of Stacks metrics from Cloud Foundry | environment , deployment |
Refer to the contributing guidelines.
Apache License 2.0, see LICENSE.