Categorygithub.com/cloudfoundry/cf_exporter
modulepackage
1.4.1
Repository: https://github.com/cloudfoundry/cf_exporter.git
Documentation: pkg.go.dev

# README

Cloud Foundry Prometheus Exporter Build Status

A Prometheus exporter for Cloud Foundry administrative information. Please refer to the FAQ for general questions about this exporter.

Architecture overview

Installation

Binaries

Download the already existing binaries for your platform:

$ ./cf_exporter <flags>

From source

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

$ go install github.com/cloudfoundry/cf_exporter
$ cf_exporter <flags>

Docker

To run the cf exporter as a Docker container, run:

$ docker run -p 9193:9193 boshprometheus/cf-exporter <flags>

Cloud Foundry

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

$ git clone https://github.com/cloudfoundry/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 cf_exporter -f ./packages/cf/manifest.yml

BOSH

This exporter can be deployed using the Prometheus BOSH Release.

Usage

UAA Client

In order to connect to the [Cloud Foundry API][cf_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

Flags

usage: cf_exporter --cf.api_url=CF.API_URL --cf.deployment-name=CF.DEPLOYMENT-NAME --metrics.environment=METRICS.ENVIRON MENT [<flags>]

Flags:
  -h, --help                     Show context-sensitive help (also try --help-long and --help-man).
      --cf.api_url=CF.API_URL    Cloud Foundry API URL ($CF_EXPORTER_CF_API_URL)
      --cf.username=CF.USERNAME  Cloud Foundry Username ($CF_EXPORTER_CF_USERNAME)
      --cf.password=CF.PASSWORD  Cloud Foundry Password ($CF_EXPORTER_CF_PASSWORD)
      --cf.client-id=CF.CLIENT-ID
                                 Cloud Foundry Client ID ($CF_EXPORTER_CF_CLIENT_ID)
      --cf.client-secret=CF.CLIENT-SECRET
                                 Cloud Foundry Client Secret ($CF_EXPORTER_CF_CLIENT_SECRET)
      --cf.deployment-name=CF.DEPLOYMENT-NAME
                                 Cloud Foundry Deployment Name to be reported as a metric label
                                 ($CF_EXPORTER_CF_DEPLOYMENT_NAME)
      --events.query=""          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 ($CF_EXPORTER_EVENTS_QUERY)
      --filter.collectors=""     Comma separated collectors to filter
                                 (Applications,Buildpacks,Events,IsolationSegments,Organizations,Routes,
                                 SecurityGroups,ServiceBindings,ServiceInstances,ServicePlans,Services,Spaces,Stacks).
                                 If not set, all collectors except Events is enabled ($CF_EXPORTER_FILTER_COLLECTORS)
      --metrics.namespace="cf"   Metrics Namespace ($CF_EXPORTER_METRICS_NAMESPACE)
      --metrics.environment=METRICS.ENVIRONMENT
                                 Environment label to be attached to metrics ($CF_EXPORTER_METRICS_ENVIRONMENT)
      --skip-ssl-verify          Disable SSL Verify ($CF_EXPORTER_SKIP_SSL_VERIFY)
      --web.listen-address=":9193"
                                 Address to listen on for web interface and telemetry ($CF_EXPORTER_WEB_LISTEN_ADDRESS)
      --web.telemetry-path="/metrics"
                                 Path under which to expose Prometheus metrics ($CF_EXPORTER_WEB_TELEMETRY_PATH)
      --web.auth.username=WEB.AUTH.USERNAME
                                 Username for web interface basic auth ($CF_EXPORTER_WEB_AUTH_USERNAME)
      --web.auth.password=WEB.AUTH.PASSWORD
                                 Password for web interface basic auth ($CF_EXPORTER_WEB_AUTH_PASSWORD)
      --web.tls.cert_file=WEB.TLS.CERT_FILE
                                 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
                                 ($CF_EXPORTER_WEB_TLS_CERTFILE)
      --web.tls.key_file=WEB.TLS.KEY_FILE
                                 Path to a file that contains the TLS private key (PEM format)
                                 ($CF_EXPORTER_WEB_TLS_KEYFILE)
      --log.level="error"        Only log messages with the given severity or above. Valid levels: [debug, info, warn,
                                 error, fatal]
      --log.format="stdout"      Set output stream for log. Valid outputs: [stderr, stdout]
      --log.json                 Output logs with JSON format
      --collector.workers=10     Number of requests threads for collector
      --version                  Show application version.

Either --cf.username and --cf.password or --cf.client-id and --cf.client-secret must be provided.

Metrics

The exporter returns the following Applications metrics:

MetricDescriptionLabels
metrics.namespace_application_infoLabeled Cloud Foundry Application information with a constant 1 valueenvironment, deployment, application_id, application_name, detected_buildpack, buildpack, organization_id, organization_name, space_id, space_name, stack_id, state
metrics.namespace_application_instancesNumber of desired Cloud Foundry Application Instancesenvironment, deployment, application_id, application_name, organization_id, organization_name, space_id, space_name, state
metrics.namespace_application_instances_runningNumber of running Cloud Foundry Application Instancesenvironment, deployment, application_id, application_name, organization_id, organization_name, space_id, space_name, state
metrics.namespace_application_memory_mbCloud Foundry Application Memory (Mb)environment, deployment, application_id, application_name, organization_id, organization_name, space_id, space_name
metrics.namespace_application_disk_quota_mbCloud Foundry Application Disk Quota (Mb)environment, deployment, application_id, application_name, organization_id, organization_name, space_id, space_name
metrics.namespace_application_buildpackAll the buildpacks used by an Application.environment, deployment, application_id, application_name, buildpack_name
metrics.namespace_applications_scrapes_totalTotal number of scrapes for Cloud Foundry Applicationsenvironment, deployment
metrics.namespace_applications_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Applicationsenvironment, deployment
metrics.namespace_last_applications_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Applications metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_applications_scrape_duration_secondsDuration of the last scrape of Applications metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Buildpacks metrics:

MetricDescriptionLabels
metrics.namespace_buildpack_infoLabeled Cloud Foundry Buildpacks information with a constant 1 valueenvironment, deployment, buildpack_id, buildpack_name, buildpack_stack, buildpack_filename
metrics.namespace_buildpacks_scrapes_totalTotal number of scrapes for Cloud Foundry Buildpacksenvironment, deployment
metrics.namespace_buildpacks_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Buildpacksenvironment, deployment
metrics.namespace_last_buildpacks_scrape_errorWhether the last scrape of Buildpacks metrics from Cloud Foundry resulted in an error (1 for error, 0 for success)environment, deployment
metrics.namespace_last_buildpacks_scrape_timestampNumber of seconds since 1970 since last scrape of Buildpacks metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_buildpacks_scrape_duration_secondsDuration of the last scrape of Buildpacks metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Domain metrics:

MetricDescriptionLabels
metrics.namespace_domain_infoCloud Foundry domains, labeled by domain ID, name, whether it is internal, and supported protocol. Metric value is set to 1.environment, deployment, domain_id, domain_name, internal, protocol
metrics.namespace_domain_scrapes_totalTotal number of scrapes for Cloud Foundry Domainsenvironment, deployment
metrics.namespace_domain_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Domainsenvironment, deployment
metrics.namespace_last_domains_scrape_errorWhether the last scrape of Domain metrics from Cloud Foundry resulted in an error (1 for error, 0 for success)environment, deployment
metrics.namespace_last_domains_scrape_timestampNumber of seconds since 1970 since last scrape of Domain metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_domains_scrape_duration_secondsDuration of the last scrape of Domain metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Events metrics:

MetricDescriptionLabels
metrics.namespace_events_infoLabeled Cloud Foundry Events information with a constant 1 valueenvironment, deployment, type, actor, actor_type, actor_name, actor_username, actee, actee_type, actee_name, space_id, organization_id
metrics.namespace_events_scrapes_totalTotal number of scrapes for Cloud Foundry Eventsenvironment, deployment
metrics.namespace_events_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Eventsenvironment, deployment
metrics.namespace_last_events_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Events metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_events_scrape_duration_secondsDuration of the last scrape of Events metrics from Cloud Foundryenvironment, deployment

The exporter returns the following IsolationSegments metrics (requires cf.api-v3-enabled enabled):

MetricDescriptionLabels
metrics.namespace_isolation_segment_infoLabeled Cloud Foundry Isolation Segment information with a constant 1 valueenvironment, deployment, isolation_segment_id, isolation_segment_name
metrics.namespace_isolation_segments_scrapes_totalTotal number of scrapes for Cloud Foundry Isolation Segmentsenvironment, deployment
metrics.namespace_isolation_segments_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Isolation Segmentsenvironment, deployment
metrics.namespace_last_isolation_segments_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Isolation Segments metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_isolation_segments_scrape_duration_secondsDuration of the last scrape of Isolation Segments metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Organizations metrics:

MetricDescriptionLabels
metrics.namespace_organization_infoLabeled Cloud Foundry Organization information with a constant 1 valueenvironment, deployment, organization_id, organization_name, quota_name
metrics.namespace_organization_non_basic_services_allowedA 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_limitMaximum amount of memory (Mb) an application instance can have in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_app_instances_quotaTotal number of application instances that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_app_tasks_quotaTotal number of application tasks that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_memory_mb_quotaTotal amount of memory (Mb) a Cloud Foundry Organization can haveenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_private_domains_quotaTotal number of private domains that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_reserved_route_ports_quotaTotal number of routes that may be created with reserved ports in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_routes_quotaTotal number of routes that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_service_keys_quotaTotal number of service keys that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organization_total_services_quotaTotal number of service instances that may be created in a Cloud Foundry Organizationenvironment, deployment, organization_id, organization_name
metrics.namespace_organizations_scrapes_totalTotal number of scrapes for Cloud Foundry Organizationsenvironment, deployment
metrics.namespace_organizations_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Organizationsenvironment, deployment
metrics.namespace_last_organizations_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Organizations metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_organizations_scrape_duration_secondsDuration of the last scrape of Organizations metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Routes metrics:

MetricDescriptionLabels
metrics.namespace_route_infoLabeled Cloud Foundry Route information with a constant 1 valueenvironment, deployment, route_id, route_host, route_path, domain_id, space_id, service_instance_id
metrics.namespace_routes_scrapes_totalTotal number of scrapes for Cloud Foundry Routesenvironment, deployment
metrics.namespace_routes_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Routesenvironment, deployment
metrics.namespace_last_routes_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Routes metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_routes_scrape_duration_secondsDuration of the last scrape of Routes metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Security Groups metrics:

MetricDescriptionLabels
metrics.namespace_security_group_infoLabeled Cloud Foundry Security Group information with a constant 1 valueenvironment, deployment, security_group_id, security_group_name
metrics.namespace_security_groups_scrapes_totalTotal number of scrapes for Cloud Foundry Security Groupsenvironment, deployment
metrics.namespace_security_groups_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Security Groupsenvironment, deployment
metrics.namespace_last_security_groups_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Security Groups metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_security_groups_scrape_duration_secondsDuration of the last scrape of Security Groups metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Services metrics:

MetricDescriptionLabels
metrics.namespace_service_infoLabeled Cloud Foundry Service information with a constant 1 valueenvironment, deployment, service_id, service_label
metrics.namespace_services_scrapes_totalTotal number of scrapes for Cloud Foundry Servicesenvironment, deployment
metrics.namespace_services_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Servicesenvironment, deployment
metrics.namespace_last_services_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Services metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_services_scrape_duration_secondsDuration of the last scrape of Services metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Service Bindings metrics:

MetricDescriptionLabels
metrics.namespace_service_binding_infoLabeled Cloud Foundry Service Binding information with a constant 1 valueenvironment, deployment, service_binding_id, application_id, service_instance_id, route_binding_id
metrics.namespace_service_bindings_scrapes_totalTotal number of scrapes for Cloud Foundry Service Bindingsenvironment, deployment
metrics.namespace_service_bindings_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Service Bindingsenvironment, deployment
metrics.namespace_last_service_bindings_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Service Bindings metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_service_bindings_scrape_duration_secondsDuration of the last scrape of Service Bindings metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Service Route Bindings metrics:

MetricDescriptionLabels
metrics.namespace_service_route_binding_infoLabeled Cloud Foundry Service Route Binding information with a constant 1 valueenvironment, deployment, route_id, route_service_url, service_instance_id, service_route_binding_id
metrics.namespace_service_route_bindings_scrapes_totalTotal number of scrapes for Cloud Foundry Service Bindingsenvironment, deployment
metrics.namespace_service_route_bindings_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Service Bindingsenvironment, deployment
metrics.namespace_last_service_route_bindings_scrape_errorWhether 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_route_bindings_scrape_timestampNumber of seconds since 1970 since last scrape of Service Bindings metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_service_route_bindings_scrape_duration_secondsDuration of the last scrape of Service Bindings metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Service Instances metrics:

MetricDescriptionLabels
metrics.namespace_service_instance_infoLabeled Cloud Foundry Service Instance information with a constant 1 valueenvironment, deployment, service_instance_id, service_instance_name, service_plan_id, space_id, type, last_operation_type, last_operation_state
metrics.namespace_service_instances_scrapes_totalTotal number of scrapes for Cloud Foundry Service Instancesenvironment, deployment
metrics.namespace_service_instances_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Service Instancesenvironment, deployment
metrics.namespace_last_service_instances_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Service Instances metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_service_instances_scrape_duration_secondsDuration of the last scrape of Service Instances metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Service Plans metrics:

MetricDescriptionLabels
metrics.namespace_service_plan_infoLabeled Cloud Foundry Service Plan information with a constant 1 valueenvironment, deployment, service_plan_id, service_plane_name, service_id
metrics.namespace_service_plans_scrapes_totalTotal number of scrapes for Cloud Foundry Service Plansenvironment, deployment
metrics.namespace_service_plans_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Service Plansenvironment, deployment
metrics.namespace_last_service_plans_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Service Plans metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_service_plans_scrape_duration_secondsDuration of the last scrape of Service Plans metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Spaces metrics:

MetricDescriptionLabels
metrics.namespace_space_infoLabeled Cloud Foundry Space information with a constant 1 valueenvironment, deployment, space_id, space_name, organization_id, quota_name
metrics.namespace_space_non_basic_services_allowedA 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_limitMaximum amount of memory (Mb) an application instance can have in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_app_instances_quotaTotal number of application instances that may be created in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_app_tasks_quotaTotal number of application tasks that may be created in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_memory_mb_quotaTotal amount of memory (Mb) a Cloud Foundry Space can haveenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_reserved_route_ports_quotaTotal number of routes that may be created with reserved ports in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_routes_quotaTotal number of routes that may be created in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_service_keys_quotaTotal number of service keys that may be created in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_space_total_services_quotaTotal number of service instances that may be created in a Cloud Foundry Spaceenvironment, deployment, space_id, space_name, organization_id
metrics.namespace_spaces_scrapes_totalTotal number of scrapes for Cloud Foundry Spacesenvironment, deployment
metrics.namespace_spaces_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Spacesenvironment, deployment
metrics.namespace_last_spaces_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Spaces metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_spaces_scrape_duration_secondsDuration of the last scrape of Spaces metrics from Cloud Foundryenvironment, deployment

The exporter returns the following Stacks metrics:

MetricDescriptionLabels
metrics.namespace_stack_infoLabeled Cloud Foundry Stack information with a constant 1 valueenvironment, deployment, stack_id, stack_name
metrics.namespace_stacks_scrapes_totalTotal number of scrapes for Cloud Foundry Stacksenvironment, deployment
metrics.namespace_stacks_scrape_errors_totalTotal number of scrape errors of Cloud Foundry Stacksenvironment, deployment
metrics.namespace_last_stacks_scrape_errorWhether 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_timestampNumber of seconds since 1970 since last scrape of Stacks metrics from Cloud Foundryenvironment, deployment
metrics.namespace_last_stacks_scrape_duration_secondsDuration of the last scrape of Stacks metrics from Cloud Foundryenvironment, deployment

Contributing

Refer to the contributing guidelines.

License

Apache License 2.0, see LICENSE.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author