All Projects → bosh-prometheus → firehose_exporter

bosh-prometheus / firehose_exporter

Licence: Apache-2.0 license
Cloud Foundry Firehose Prometheus exporter

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to firehose exporter

Wfl
A Simple Way of Creating Job Workflows in Go running in Processes, Containers, Tasks, Pods, or Jobs
Stars: ✭ 30 (+11.11%)
Mutual labels:  cloud-foundry
Eirini
Pluggable container orchestration for Cloud Foundry, and a Kubernetes backend
Stars: ✭ 116 (+329.63%)
Mutual labels:  cloud-foundry
Ibm Cf V2
Use GitHub Actions to automatically deploy the latest version of V2Ray to IBM Cloud Foundry
Stars: ✭ 194 (+618.52%)
Mutual labels:  cloud-foundry
Insurance Bot
A message based insurance experience
Stars: ✭ 30 (+11.11%)
Mutual labels:  cloud-foundry
Prometheus Boshrelease
Prometheus BOSH Release
Stars: ✭ 99 (+266.67%)
Mutual labels:  cloud-foundry
Gcp Service Broker
Open Service Broker for Google Cloud Platform
Stars: ✭ 133 (+392.59%)
Mutual labels:  cloud-foundry
Gautocloud
A golang library to let cloud applications connect automatically to services.
Stars: ✭ 17 (-37.04%)
Mutual labels:  cloud-foundry
Stratos
Stratos: Web-based Management UI for Cloud Foundry and Kubernetes
Stars: ✭ 209 (+674.07%)
Mutual labels:  cloud-foundry
Configuration
.NET Configuration providers for Spring Cloud Config Server & CloudFoundry
Stars: ✭ 100 (+270.37%)
Mutual labels:  cloud-foundry
Bosh Bootloader
Command line utility for standing up a BOSH director on an IAAS of your choice.
Stars: ✭ 171 (+533.33%)
Mutual labels:  cloud-foundry
Nodejs Mean Stack
Solution tutorial: Modern Web Application using MEAN stack on IBM Cloud
Stars: ✭ 37 (+37.04%)
Mutual labels:  cloud-foundry
Open Service Broker
Open Service Broker is an implementation of the "Open Service Broker API" based on Spring Boot & Groovy. It enables platforms such as Cloud Foundry & Kubernetes to provision and manage services.
Stars: ✭ 70 (+159.26%)
Mutual labels:  cloud-foundry
Kubo Release
Kubernetes BOSH release
Stars: ✭ 153 (+466.67%)
Mutual labels:  cloud-foundry
Spring Cloud Stream Tutorial
Spring Cloud Stream Tutorial
Stars: ✭ 30 (+11.11%)
Mutual labels:  cloud-foundry
Todo Apps
Sample ToDo application (various languages) running on IBM Cloud
Stars: ✭ 195 (+622.22%)
Mutual labels:  cloud-foundry
Nucleus
Platform as a Service API abstraction layer.
Stars: ✭ 28 (+3.7%)
Mutual labels:  cloud-foundry
Cli
The official command line client for Cloud Foundry
Stars: ✭ 1,613 (+5874.07%)
Mutual labels:  cloud-foundry
Postfacto
Self-hosted retro tool aimed at helping remote teams
Stars: ✭ 224 (+729.63%)
Mutual labels:  cloud-foundry
Idea Live Templates
My IntelliJ Live Templates
Stars: ✭ 207 (+666.67%)
Mutual labels:  cloud-foundry
Ng Demo
🦴 Bare Bones Angular 10 and Angular CLI Tutorial
Stars: ✭ 154 (+470.37%)
Mutual labels:  cloud-foundry

Cloud Foundry Firehose Exporter Build Status

A Prometheus exporter proxy for Cloud Foundry Firehose metrics. Please refer to the FAQ for general questions about this exporter.

Architecture overview

Installation

Binaries

Download the already existing binaries for your platform:

$ ./firehose_exporter <flags>

From source

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

$ go install github.com/bosh-prometheus/firehose_exporter
$ firehose_exporter <flags>

Docker

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

$ docker run -p 9186:9186 boshprometheus/firehose-exporter <flags>

Cloud Foundry

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

$ git clone https://github.com/bosh-prometheus/firehose_exporter.git
$ cd firehose_exporter

Modify the included application manifest file to include your Cloud Foundry Firehose 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

UAA Client

In order to connect to the Cloud Foundry Firehose a client-id and client-secret must be provided. The client-id must have the doppler.firehose 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-firehose \
  --name prometheus-firehose \
  --secret prometheus-client-secret \
  --authorized_grant_types client_credentials,refresh_token \
  --authorities doppler.firehose

Flags

Flag / Environment Variable Required Default Description
uaa.url
FIREHOSE_EXPORTER_UAA_URL
Yes Cloud Foundry UAA URL
uaa.client-id
FIREHOSE_EXPORTER_UAA_CLIENT_ID
Yes Cloud Foundry UAA Client ID
uaa.client-secret
FIREHOSE_EXPORTER_UAA_CLIENT_SECRET
Yes Cloud Foundry UAA Client Secret
doppler.subscription-id
FIREHOSE_EXPORTER_DOPPLER_SUBSCRIPTION_ID
No prometheus Cloud Foundry Doppler Subscription ID
doppler.idle-timeout
FIREHOSE_EXPORTER_DOPPLER_IDLE_TIMEOUT
No Cloud Foundry Doppler Idle Timeout duration
doppler.min-retry-delay
FIREHOSE_EXPORTER_DOPPLER_MIN_RETRY_DELAY
No Cloud Foundry Doppler min retry delay duration
doppler.max-retry-delay
FIREHOSE_EXPORTER_DOPPLER_MAX_RETRY_DELAY
No Cloud Foundry Doppler max retry delay duration
doppler.max-retry-count
FIREHOSE_EXPORTER_DOPPLER_MAX_RETRY_COUNT
No Cloud Foundry Doppler max retry count
doppler.metric-expiration
FIREHOSE_EXPORTER_DOPPLER_METRIC_EXPIRATION
No 5 minutes How long Cloud Foundry metrics received from the Firehose are valid
filter.deployments
FIREHOSE_EXPORTER_FILTER_DEPLOYMENTS
No Comma separated deployments to filter
filter.events
FIREHOSE_EXPORTER_FILTER_EVENTS
No Comma separated events to filter. If not set, all events will be enabled (ContainerMetric, CounterEvent, HttpStartStop, ValueMetric)
logging.url
FIREHOSE_EXPORTER_LOGGING_URL
Yes Cloud Foundry Log Stream URL
logging.use-legacy-firehose
USE_LEGACY_FIREHOSE
No False Whether to use the legacy firehose
metrics.namespace
FIREHOSE_EXPORTER_METRICS_NAMESPACE
No firehose Metrics Namespace
metrics.environment
FIREHOSE_EXPORTER_METRICS_ENVIRONMENT
Yes Environment label to be attached to metrics
metrics.cleanup-interval
FIREHOSE_EXPORTER_METRICS_CLEANUP_INTERVAL
No 2 minutes Metrics clean up interval
skip-ssl-verify
FIREHOSE_EXPORTER_SKIP_SSL_VERIFY
No false Disable SSL Verify
web.listen-address
FIREHOSE_EXPORTER_WEB_LISTEN_ADDRESS
No :9186 Address to listen on for web interface and telemetry
web.telemetry-path
FIREHOSE_EXPORTER_WEB_TELEMETRY_PATH
No /metrics Path under which to expose Prometheus metrics
web.auth.username
FIREHOSE_EXPORTER_WEB_AUTH_USERNAME
No Username for web interface basic auth
web.auth.password
FIREHOSE_EXPORTER_WEB_AUTH_PASSWORD
No Password for web interface basic auth
web.tls.cert_file
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
web.tls.key_file
FIREHOSE_EXPORTER_WEB_TLS_KEYFILE
No Path to a file that contains the TLS private key (PEM format)

Metrics

For a list of Cloud Foundry Firehose metrics check the Cloud Foundry Component Metrics documentation.

The exporter returns additionally the following internal metrics:

Metric Description Labels
metrics.namespace_total_envelopes_received Total number of envelopes received from Cloud Foundry Firehose environment
metrics.namespace_last_envelope_received_timestamp Number of seconds since 1970 since last envelope received from Cloud Foundry Firehose environment
metrics.namespace_total_metrics_received Total number of metrics received from Cloud Foundry Firehose environment
metrics.namespace_last_metric_received_timestamp Number of seconds since 1970 since last metric received from Cloud Foundry Firehose environment
metrics.namespace_total_container_metrics_received Total number of container metrics received from Cloud Foundry Firehose environment
metrics.namespace_total_container_metrics_processed Total number of container metrics processed from Cloud Foundry Firehose environment
metrics.namespace_container_metrics_cached Number of container metrics cached from Cloud Foundry Firehose environment
metrics.namespace_last_container_metric_received_timestamp Number of seconds since 1970 since last container metric received from Cloud Foundry Firehose environment
metrics.namespace_total_counter_events_received Total number of counter events received from Cloud Foundry Firehose environment
metrics.namespace_total_counter_events_processed Total number of counter events processed from Cloud Foundry Firehose environment
metrics.namespace_counter_events_cached Number of counter events cached from Cloud Foundry Firehose environment
metrics.namespace_last_counter_event_received_timestamp Number of seconds since 1970 since last counter event received from Cloud Foundry Firehose environment
metrics.namespace_total_http_start_stop_received Total number of http start stop received from Cloud Foundry Firehose environment
metrics.namespace_total_http_start_stop_processed Total number of http start stop processed from Cloud Foundry Firehose environment
metrics.namespace_http_start_stop_cached Number of http start stop cached from Cloud Foundry Firehose environment
metrics.namespace_last_http_start_stop_received_timestamp Number of seconds since 1970 since last http start stop received from Cloud Foundry Firehose environment
metrics.namespace_total_value_metrics_received Total number of value metrics received from Cloud Foundry Firehose environment
metrics.namespace_total_value_metrics_processed Total number of value metrics processed from Cloud Foundry Firehose environment
metrics.namespace_value_metrics_cached Number of value metrics cached from Cloud Foundry Firehose environment
metrics.namespace_last_value_metric_received_timestamp Number of seconds since 1970 since last value metric received from Cloud Foundry Firehose environment
metrics.namespace_slow_consumer_alert Nozzle could not keep up with Cloud Foundry Firehose environment
metrics.namespace_last_slow_consumer_alert_timestamp Number of seconds since 1970 since last slow consumer alert received from Cloud Foundry Firehose environment

Contributing

Refer to CONTRIBUTING.md.

License

Apache License 2.0, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].