Monitor OpenTelemetry Collector Pipeline Health with SigNoz

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

The OpenTelemetry Collector emits its own pipeline health metrics under the otelcol_* prefix. Configure the built-in OTLP telemetry reader to push those metrics to SigNoz.

Prerequisites

  • OpenTelemetry Collector v0.92 or later
  • An instance of SigNoz (Cloud or Self-Hosted)

How it works

The Collector has a built-in telemetry pipeline that reports internal counters and gauges, including received spans, processor drops, exporter queue depth, and process memory. Add an OTLP periodic reader under service.telemetry.metrics to send those metrics to SigNoz at a configured interval.

level: normal (the default) covers receiver throughput, exporter queues, batch processor stats, and process resources. level: detailed adds per-method HTTP/RPC dimensions on exporter calls.

Steps

Step 1: Add the telemetry reader

Add a service.telemetry block to your Collector config with a periodic OTLP exporter pointing at SigNoz:

config.yaml
service:
  telemetry:
    resource:
      service.name: "<service-name>"
    metrics:
      level: normal
      readers:
        - periodic:
            interval: 60000
            exporter:
              otlp:
                protocol: "http/protobuf"
                endpoint: "https://ingest.<region>.signoz.cloud:443"
                headers:
                  signoz-ingestion-key: "<your-ingestion-key>"

Verify these values:

  • <region>: Your SigNoz Cloud region
  • <your-ingestion-key>: Your SigNoz ingestion key
  • <service-name>: A unique name for this Collector instance. If you run multiple instances, use different names to distinguish them in the dashboard.

This config block is independent of your pipeline. You do not need to add a receiver, processor, or pipeline.

Step 2: Apply and restart

Validate the config and restart the Collector service:

sudo /usr/bin/otelcol-contrib validate --config /etc/otelcol-contrib/config.yaml
sudo systemctl restart otelcol-contrib

Tail the logs to confirm the telemetry reader started with no errors:

sudo journalctl -u otelcol-contrib -f

Validate

Open Metrics Explorer in SigNoz and search for otelcol_. You should see metrics such as otelcol_exporter_send_failed_spans.

OTel Collector internal metrics in SigNoz Metrics Explorer
OTel Collector internal metrics in SigNoz Metrics Explorer

Troubleshooting

No otelcol_ metrics in SigNoz

Check the Collector logs for export errors:

sudo journalctl -u otelcol-contrib -f

For Docker, use docker logs -f signoz-collection-agent. For Kubernetes, use the Collector pod logs.

If the logs show authentication errors, confirm the ingestion key and endpoint region are correct. If they show connection errors, confirm the Collector can reach ingest.<region>.signoz.cloud:443.

Wait at least one full interval (60 seconds with the config above) after restarting before checking.

Some panels are empty

Check service.telemetry.metrics.level. basic omits batch processor metrics. none disables telemetry. Use normal or detailed.

Duplicate metric points

You can run multiple Collector instances with the same service.name. The dashboard groups them by service.instance.id, which the Collector assigns per process. All instances appear under the shared service name and can be filtered by instance.

Next Steps

Get Help

If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack. If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.

Last updated: June 23, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.