SigNoz Cloud - This page is relevant for SigNoz Cloud editions.
Self-Host - This page is relevant for self-hosted SigNoz editions.

Send Envoy Metrics to SigNoz using OpenTelemetry

Overview

Envoy is a high-performance edge and service proxy. This guide will help you send metrics from Envoy to SigNoz using the OpenTelemetry (OTel) Collector.

Prerequisites

  • OpenTelemetry Collector installed: You need the OpenTelemetry Collector running in your environment. See Installation Guides.
  • Access to Configuration: You must be able to edit the otel-collector-config.yaml file where the collector is running.

Send Envoy Metrics to SigNoz

Step 1: Configure Envoy with OpenTelemetry Sink

Envoy can send metrics to SigNoz using the OpenTelemetry (OTel) protocol. You can learn more about it at OpenTelemetry Stat Sink.

Update your Envoy configuration:

envoy.yaml
stats_sinks:
  - name: envoy.stat_sinks.open_telemetry
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.stat_sinks.open_telemetry.v3.SinkConfig
      grpc_service:
        envoy_grpc:
          cluster_name: opentelemetry_collector
      # Optional: emit histogram metrics
      # report_histograms_as_deltas: true
      # report_counters_as_deltas: true

static_resources:
  clusters:
    - name: opentelemetry_collector
      type: STRICT_DNS
      lb_policy: ROUND_ROBIN
      typed_extension_protocol_options:
        envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
          "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
          explicit_http_config:
            http2_protocol_options: {}
      load_assignment:
        cluster_name: opentelemetry_collector
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: otel-collector # Update with your collector address
                      port_value: 4317

Step 2: Run Envoy with Docker

You can run Envoy using the official Docker image. For more details, see the Envoy Docker Installation Guide.

Save the above configuration as envoy.yaml and run the following command:

docker run --name=envoy -p 9901:9901 -p 10000:10000 -v $(pwd)/envoy.yaml:/etc/envoy/envoy.yaml envoyproxy/envoy:v1.36-latest

Step 3: Configure OpenTelemetry Collector

Ensure your OpenTelemetry Collector is configured to receive OTLP metrics on port 4317 (gRPC). The SigNoz OTel Collector already listens on port 4317 to receive OTLP metrics by default.

For more details on configuring the collector, refer to the OpenTelemetry Collector Configuration guide.

Validate Metrics

After setting up the collector, go to the Metrics Explorer in SigNoz and search for Envoy metrics to confirm data is flowing:

  • cluster.upstream_rq_per_cx
  • cluster.upstream_cx_connect_ms
  • http.downstream_rq_time
  • http.downstream_cx_length_ms
Envoy Metrics
Envoy Metrics
Envoy Metrics - Detailed View
Envoy Metrics - Detailed View

Next Steps

  • Create Dashboards: Visualize your Envoy metrics by creating custom dashboards. Learn more.
  • Set Alerts: Configure alerts to get notified when metrics cross a threshold. Learn more.

Troubleshooting

Metrics not appearing in SigNoz

  • Check Envoy Logs: Ensure Envoy is starting correctly and not reporting errors related to the open_telemetry sink.
  • Verify OTel Collector: Check if the OTel Collector is running and accessible from the Envoy container/pod.
  • Check Endpoint: Verify that the socket_address in the Envoy config matches the OTel Collector's address and port (default 4317 for gRPC).

Connection Refused Errors

If you see connection refused errors in Envoy logs:

  • Ensure the OTel Collector is listening on port 4317.
  • If running in Docker, ensure both containers are on the same network.
  • If running in Kubernetes, ensure the Service name and namespace are correct.

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: November 25, 2025

Edit on GitHub

Was this page helpful?