OpenTelemetry Collector

Visualize OpenTelemetry (OTEL) collector metrics (tested with OTEL contrib v0.125.0)

OpenTelemetry Collector screenshot 1

Visualisation of OpenTelemetry collector metrics from Prometheus.

Part of opentelemetry-collector-monitoring repo.

This dashboard can also be used partially for Alloy monitoring (mainly for OTEL components).

Metric name/label name conventions

OpenTelemetry collector metrics and label names can vary significantly. These variations depend on several factors:

  • OpenTelemetry Collector version
  • Specific receivers/exporters in use
  • Receiver/exporter configuration settings
  • Metric storage backend configuration

For example uptime metric can be saved as:

otelcol_process_uptime{service_instance_id="123456", ...}
otelcol_process_uptime_total{service_instance_id="123456", ...}
otelcol_process_uptime_seconds_total{service_instance_id="123456", ...}
otelcol_process_uptime_seconds_total{service.instance.id="123456", ...}
otelcol_process_uptime_seconds_total_total{service.instance.id="123456", ...}

This dashboard attempts to detect all these variations through hidden dashboard variables to ensure compatibility across different configurations.

Collector configuration, where the collector collects their own metrics and posts them to Prometheus:

extensions:
  sigv4auth/aws:

receivers: prometheus: config: scrape_configs: - job_name: otel-collector-metrics scrape_interval: 10s static_configs: - targets: ['localhost:8888']

exporters:

AWS Managed Prometheus example

prometheusremotewrite/aws: endpoint: https://aps-workspaces.<region>.amazonaws.com/workspaces/<workspace-id>/api/v1/remote_write auth: authenticator: sigv4auth/aws

Grafana Cloud example

prometheusremotewrite/grafanacloud: # check your Grafana Cloud admin console for correct hostname endpoint: https://prometheus-prod-11-prod-us-central-0.grafana.net/api/prom
headers: # hardcoded base64 value in auth header or use basicauth extension "Authorization": "Basic <base64(username:password)>"

Prometheus server example

prometheusremotewrite/my-prometheus: # my-prometheus server must have '–enable-feature=remote-write-receiver' endpoint: https://my-prometheus/api/v1/write

service: pipelines: metrics: receivers: [prometheus] processors: [] # use configured prometheusremotewrite exporter exporters: [prometheusremotewrite] telemetry: metrics: address: 0.0.0.0:8888 level: detailed

See: collector monitoring doc and collector troubleshooting - metrics.

Revisions
RevisionDescriptionCreated

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies