Replace metrics names to retrieve:
[namespace]_http_start_stop_requests
=>[namespace]_http_total
[namespace]_http_start_stop_response_size_bytes
=>[namespace]_response_size_bytes
[namespace]_http_start_stop_response_size_bytes_count
=>[namespace]_response_size_bytes_count
[namespace]_http_start_stop_response_size_bytes_sum
=>[namespace]_response_size_bytes_sum
[namespace]_http_start_stop_response_size_bytes_sum
=>[namespace]_response_size_bytes_sum
[namespace]_http_start_stop_server_request_duration_seconds
=>[namespace]_http_duration_seconds_bucket
(metric is now a histogram with bucket)[namespace]_http_start_stop_server_request_duration_seconds_count
=>[namespace]_http_duration_seconds_count
[namespace]_http_start_stop_server_request_duration_seconds_sum
=>[namespace]_http_duration_seconds_sum
[namespace]_http_start_stop_last_request_timestamp
=> metric has been removed to avoid too much cpu work for exporter for metric not used in default dashboards or alerts[namespace]_http_start_stop_client_request_duration_seconds_count
=> metric has been removed because it was already not reported anymore on app but only on gorouter metric[namespace]_http_start_stop_client_request_duration_seconds_sum
=> metric has been removed because it was already not reported anymore on app but only on gorouter metric
The Cloud Foundry Firehose Prometheus Exporter is a proxy for Cloud Foundry Firehose metrics. It exports
Cloud Foundry ContainerMetric
, CounterEvent
, HttpStartStop
and ValueMetric
metrics.
Metrics are cached (with a expirity defined at the doppler.metric-expiration
command flag). The exporter always emits
the last metric received if it has not been expired.
For a list of all Cloud Foundry Firehose metrics check the Cloud Foundry Component Metrics documentation.
ContainerMetric
metrics reports resource usage of an application in a container. The exporter emits:
Metric | New Metric (retro compat disable) | Description | Labels |
---|---|---|---|
metrics.namespace_container_metric_cpu_percentage | metrics.namespace_cpu | Cloud Foundry Firehose container metric: CPU used, on a scale of 0 to 100 | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , application_id , instance_index |
metrics.namespace_container_metric_memory_bytes | metrics.namespace_memory | Cloud Foundry Firehose container metric: bytes of memory used | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , application_id , instance_index |
metrics.namespace_container_metric_disk_bytes | metrics.namespace_disk | Cloud Foundry Firehose container metric: bytes of disk used | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , application_id , instance_index |
metrics.namespace_container_metric_memory_bytes_quota | metrics.namespace_memory_quota | Cloud Foundry Firehose container metric: maximum bytes of memory allocated to container | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , application_id , instance_index |
metrics.namespace_container_metric_disk_bytes_quota | metrics.namespace_disk_quota | Cloud Foundry Firehose container metric: maximum bytes of disk allocated to container | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , application_id , instance_index |
Important:
- Use
retro_compat.disable
command flag to deactivate retro-compat mode and use new names.
CounterEvent
metrics represents a metric counter. The exporter normalizes each counter_event_name received from a Cloud Foundry Firehose origin and emits:
Metric | New Metric (retro compat disable) | Description | Labels |
---|---|---|---|
metrics.namespacecounter_eventorigin_counter_event_name_total | metrics.namespace_counter_event_name_total | Cloud Foundry Firehose counter_event_name total counter event from origin |
environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip |
metrics.namespacecounter_eventorigin_counter_event_name_delta | metrics.namespace_counter_event_name_delta | Cloud Foundry Firehose counter_event_name delta counter event from origin |
environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip |
Important:
- Delta is not exported by default, enable it by using
retro_compat.enable_delta
command flag - Use
retro_compat.disable
command flag to deactivate retro-compat mode and use new names.
An HttpStartStop
event represents the whole lifecycle of an HTTP request. The exporter generate metrics from related
HTTP requests passing by gorouters using rollup mechanism from the Cloud Foundry Firehose, those metrics
are:
Metric | Description | Labels |
---|---|---|
* | ||
metrics.namespace*_http_total | Cloud Foundry Firehose http total requests | environment , bosh_deployment , application_id , instance_id , method , scheme , host , status_code |
* | ||
metrics.namespace*_http_response_size_bytes | Summary of Cloud Foundry Firehose http request size in bytes with quantiles 0.2, 0.5, 0.75, 0.95 | environment , bosh_deployment , application_id , instance_id , method , scheme , host , quantile |
* | ||
metrics.namespace*_http_response_size_bytes_count | Summary of Cloud Foundry Firehose http request size in bytes (number of observations) | environment , bosh_deployment , application_id , instance_id , method , scheme , host |
* | ||
metrics.namespace*_http_response_size_bytes_sum | Summary of Cloud Foundry Firehose http request size in bytes (sum of observations) | environment , bosh_deployment , application_id , instance_id , method , scheme , host |
* | ||
metrics.namespace*_http_duration_seconds_count | Histogram of Cloud Foundry Firehose http client request duration in seconds (number of observations) | environment , bosh_deployment , application_id , instance_id , method , scheme , host |
* | ||
metrics.namespace*_http_duration_seconds_sum | Histogram of Cloud Foundry Firehose http client request duration in seconds (sum of observations) | environment , bosh_deployment , application_id , instance_id , method , scheme , host |
* | ||
metrics.namespace*_http_duration_seconds_bucket | Histogram of Cloud Foundry Firehose http client request duration in seconds (bucket of observations) | environment , bosh_deployment , application_id , instance_id , method , scheme , host |
ValueMetric
metrics represents the value of a metric at an instant in time. The exporter normalizes each *
value_metric_name* received from a Cloud Foundry Firehose origin and emits:
Metric | New Metric (retro compat disable) | Description | Labels |
---|---|---|---|
metrics.namespacevalue_metricorigin_value_metric_name | metrics.namespace_value_metric_name | Cloud Foundry Firehose 'value_metric_name' value metric from 'origin' | environment , origin , bosh_deployment , bosh_job_name , bosh_job_id , bosh_job_ip , unit |
Important:
- Use
retro_compat.disable
command flag to deactivate retro-compat mode and use new names.
The filter.events
command flag allows you to filter what event metrics will be reported (if not set, all events will
be enabled by default). Possible values are ContainerMetric
, CounterEvent
, Http
, ValueMetric
(or a combination
of them).
The filter.deployments
command flag allows you to filter metrics which origin is a particular BOSH deployment.
No, this exporter only supports targetting a single Cloud Foundry Firehose endpoint. If you want to get metrics from several endpoints, you will need to use one exporter per endpoint.
You can scale the exporter by increasing the number of exporter instances and using the same doppler.subscription-id
command flag. If you use the same subscription ID on each instance, the Firehose evenly distributes events
across all instances of the exporter. For example, if you have two exporters with the same subscription ID,
the Firehose sends half of the events to one exporter and half to the other.
For more information, check the Scaling Nozzles documentation.
You can combine this exporter with the Cloud Foundry Prometheus Exporter, that provides administrative
information about Applications
, Organizations
, Services
and Spaces
.
For example:
firehose_container_metric_cpu_percentage
* on(application_id)
group_left(application_name, organization_name, space_name)
cf_application_info
The on specifies the matching label, in this case, the application_id. The group_left specifies what labels (* application_name*, organization_name, space_name) from the right metric (cf_application_info) should be merged into the left metric (firehose_container_metric_cpu_percentage).
We will be glad to address any questions not answered here. Please, just open a new issue.