{"id":19040680,"url":"https://github.com/cloudfoundry/firehose_exporter","last_synced_at":"2025-10-06T10:32:46.299Z","repository":{"id":53483735,"uuid":"68638880","full_name":"cloudfoundry/firehose_exporter","owner":"cloudfoundry","description":"Cloud Foundry Firehose Prometheus exporter","archived":false,"fork":false,"pushed_at":"2025-04-14T03:42:45.000Z","size":36496,"stargazers_count":26,"open_issues_count":0,"forks_count":23,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-14T04:33:29.150Z","etag":null,"topics":["cloud-foundry","firehose","metrics","prometheus"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudfoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-09-19T19:27:28.000Z","updated_at":"2025-04-14T03:42:43.000Z","dependencies_parsed_at":"2023-02-01T06:15:49.008Z","dependency_job_id":"3d5bb3af-0173-4589-acb4-2b036b754b60","html_url":"https://github.com/cloudfoundry/firehose_exporter","commit_stats":null,"previous_names":["cloudfoundry-community/firehose_exporter","cloudfoundry/firehose_exporter","bosh-prometheus/firehose_exporter"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Ffirehose_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Ffirehose_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Ffirehose_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Ffirehose_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry","download_url":"https://codeload.github.com/cloudfoundry/firehose_exporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248989506,"owners_count":21194604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-foundry","firehose","metrics","prometheus"],"created_at":"2024-11-08T22:24:29.673Z","updated_at":"2025-10-06T10:32:46.197Z","avatar_url":"https://github.com/cloudfoundry.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud Foundry Firehose Exporter [![Build Status](https://travis-ci.org/cloudfoundry/firehose_exporter.png)](https://travis-ci.org/cloudfoundry/firehose_exporter)\n\nA [Prometheus][prometheus] exporter proxy for [Cloud Foundry Firehose][firehose] metrics. Please refer to the [FAQ][faq]\nfor general questions about this exporter.\n\n## Architecture overview\n\n![](architecture/architecture.svg?raw=true)\n\n## Installation\n\n### Binaries\n\nDownload the already existing [binaries](/releases) for your platform:\n\n```bash\n$ ./firehose_exporter \u003cflags\u003e\n```\n\n### From source\n\nUsing the standard `go install` (you must have [Go][golang] already installed in your local machine):\n\n```bash\n$ go install github.com/cloudfoundry/firehose_exporter\n$ firehose_exporter \u003cflags\u003e\n```\n\n### Docker\n\nTo run the firehose exporter as a Docker container, run:\n\n```bash\n$ docker run -p 9186:9186 boshprometheus/firehose-exporter \u003cflags\u003e\n```\n\n### Cloud Foundry\n\nThe exporter can be deployed to an already existing [Cloud Foundry][cloudfoundry] environment:\n\n```bash\n$ git clone https://github.com/cloudfoundry/firehose_exporter.git\n$ cd firehose_exporter\n```\n\nModify the included [application manifest file][manifest] to include your [Cloud Foundry Firehose][firehose] properties.\nThen you can push the exporter to your Cloud Foundry environment:\n\n```bash\n$ cf push\n```\n\n### BOSH\n\nThis exporter can be deployed using the [Prometheus BOSH Release][prometheus-boshrelease].\n\n## Usage\n\n### Flags\n\n| Flag / Environment Variable | Required | Default | Description |\n| --------------------------- | -------- | ------- | ----------- |\n| `retro_compat.disable`\u003cbr /\u003e`FIREHOSE_EXPORTER_RETRO_COMPAT_DISABLE` | No | `False` | Disable retro compatibility |\n| `retro_compat.enable_delta`\u003cbr /\u003e`FIREHOSE_EXPORTER_RETRO_COMPAT_ENABLE_DELTA` | No | `False` | Enable retro compatibility delta in counter |\n| `metrics.shard_id`\u003cbr /\u003e`FIREHOSE_EXPORTER_DOPPLER_SUBSCRIPTION_ID` | No | `prometheus` | Cloud Foundry Nozzle Subscription ID |\n| `metrics.expiration`\u003cbr /\u003e`FIREHOSE_EXPORTER_DOPPLER_METRIC_EXPIRATION` | No | `10 minutes` | How long Cloud Foundry metrics received from the Firehose are valid |\n| `metrics.batch_size`\u003cbr /\u003e`FIREHOSE_EXPORTER_METRICS_BATCH_SIZE` | No | `infinite buffer` | Batch size for nozzle envelop buffer |\n| `metrics.node_index`\u003cbr /\u003e`FIREHOSE_EXPORTER_NODE_INDEX` | No | `0` | Node index to use |\n| `metrics.timer_rollup_buffer_size`\u003cbr /\u003e`FIREHOSE_EXPORTER_TIMER_ROLLUP_BUFFER_SIZE` | No | `0` | The number of envelopes that will be allowed to be buffered while timer http metric aggregations are running |\n| `filter.deployments`\u003cbr /\u003e`FIREHOSE_EXPORTER_FILTER_DEPLOYMENTS` | No | | Comma separated deployments to filter |\n| `filter.events`\u003cbr /\u003e`FIREHOSE_EXPORTER_FILTER_EVENTS` | No | | Comma separated events to filter. If not set, all events will be enabled (`ContainerMetric`, `CounterEvent`, `HttpStartStop`, `ValueMetric`) |\n| `logging.url`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOGGING_URL` | Yes | | Cloud Foundry Log Stream URL |\n| `logging.tls.ca`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOGGING_TLS_CA` | No | | Path to ca cert to connect to rlp |\n| `logging.tls.cert`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOGGING_TLS_CERT` | Yes | | Path to cert to connect to rlp in mtls |\n| `logging.tls.key`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOGGING_TLS_KEY` | Yes | | Path to key to connect to rlp in mtls |\n| `metrics.namespace`\u003cbr /\u003e`FIREHOSE_EXPORTER_METRICS_NAMESPACE` | No | `firehose` | Metrics Namespace |\n| `metrics.environment`\u003cbr /\u003e`FIREHOSE_EXPORTER_METRICS_ENVIRONMENT` | Yes | | Environment label to be attached to metrics |\n| `skip-ssl-verify`\u003cbr /\u003e`FIREHOSE_EXPORTER_SKIP_SSL_VERIFY` | No | `false` | Disable SSL Verify |\n| `web.listen-address`\u003cbr /\u003e`FIREHOSE_EXPORTER_WEB_LISTEN_ADDRESS` | No | `:9186` | Address to listen on for web interface and telemetry |\n| `web.telemetry-path`\u003cbr /\u003e`FIREHOSE_EXPORTER_WEB_TELEMETRY_PATH` | No | `/metrics` | Path under which to expose Prometheus metrics |\n| `web.auth.username`\u003cbr /\u003e`FIREHOSE_EXPORTER_WEB_AUTH_USERNAME` | No | | Username for web interface basic auth |\n| `web.auth.password`\u003cbr /\u003e`FIREHOSE_EXPORTER_WEB_AUTH_PASSWORD` | No | | Password for web interface basic auth |\n| `web.tls.cert_file`\u003cbr /\u003e`FIREHOSE_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 |\n| `web.tls.key_file`\u003cbr /\u003e`FIREHOSE_EXPORTER_WEB_TLS_KEYFILE` | No | | Path to a file that contains the TLS private key (PEM format) |\n| `profiler.enable`\u003cbr /\u003e`FIREHOSE_EXPORTER_ENABLE_PROFILER` | No | `False` | Enable pprof profiling on app on /debug/pprof |\n| `log.level`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOG_LEVEL` | No | `info` | Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal] |\n| `log.in_json`\u003cbr /\u003e`FIREHOSE_EXPORTER_LOG_IN_JSON` | No | `False` | Log in json |\n\n### Metrics\n\nFor a list of [Cloud Foundry Firehose][firehose] metrics check the [Cloud Foundry Component Metrics][cfmetrics]\ndocumentation.\n\nThe exporter returns additionally the following internal metrics:\n\n| Metric | Description | Labels |\n| ------ | ----------- | ------ |\n| *metrics.namespace*_total_envelopes_received | Total number of envelopes received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_envelope_received_timestamp | Number of seconds since 1970 since last envelope received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_total_metrics_received | Total number of metrics received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_metric_received_timestamp | Number of seconds since 1970 since last metric received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_total_container_metrics_received | Total number of container metrics received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_container_metric_received_timestamp | Number of seconds since 1970 since last container metric received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_total_counter_events_received | Total number of counter events received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_counter_event_received_timestamp | Number of seconds since 1970 since last counter event received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_total_http_received | Total number of http start stop received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_http_received_timestamp | Number of seconds since 1970 since last http start stop received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_total_value_metrics_received | Total number of value metrics received from Cloud Foundry Firehose | `environment` |\n| *metrics.namespace*_last_value_metric_received_timestamp | Number of seconds since 1970 since last value metric received from Cloud Foundry Firehose | `environment` |\n\n## Contributing\n\nRefer to [CONTRIBUTING.md](https://github.com/cloudfoundry/firehose_exporter/blob/master/CONTRIBUTING.md).\n\n## License\n\nApache License 2.0, see [LICENSE](https://github.com/cloudfoundry/firehose_exporter/blob/master/LICENSE).\n\n[cloudfoundry]: https://www.cloudfoundry.org/\n\n[cfmetrics]: https://docs.cloudfoundry.org/loggregator/all_metrics.html\n\n[faq]: https://github.com/cloudfoundry/firehose_exporter/blob/master/FAQ.md\n\n[firehose]: https://docs.cloudfoundry.org/loggregator/architecture.html#firehose\n\n[golang]: https://golang.org/\n\n[manifest]: https://github.com/cloudfoundry/firehose_exporter/blob/master/manifest.yml\n\n[prometheus]: https://prometheus.io/\n\n[prometheus-boshrelease]: https://github.com/bosh-prometheus/prometheus-boshrelease\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Ffirehose_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry%2Ffirehose_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry%2Ffirehose_exporter/lists"}