The OpenTelemetry Collector, when configured with a Prometheus receiver, provides an integration with Envoy to ingest metrics. The Collector fetches metrics from the configured path in the Envoy configuration file and sends it to the Prometheus exporter. From there the metrics are received and processed by the Prometheus receiver and exported to Lightstep Observability.
To complete the integration, you will:
- Configure Envoy to use the Prometheus exporter.
- Configure the Collector to use the Envoy endpoint as a scrape target for the Prometheus receiver.
- Enable the integration by adding it to a pipeline
Prerequisites
You’ve configured the Collector to export metric data to Lightstep Observability.
Configure Envoy reporting
In your envoy.yaml
files, configure the Envoy to enable the administration interface and then to publish Prometheus metrics at the path /stats/prometheus
.
The details of your configuration will vary with the infrastructure that you run.
1
2
3
4
5
admin:
address:
socket_address:
address: 0.0.0.0
port_value: 8001
This example shows a simple setup of Envoy with a front proxy for multiple service metrics using a Docker compose files.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
services:
front-envoy:
build:
context: .
dockerfile: Dockerfile-frontenvoy
ports:
- "8080:8080"
- "8443:8443"
- "8001:8001"
service1:
image: envoyproxy:tracing
volumes:
- ./service-envoy.yaml:/etc/service-envoy.yaml
environment:
- SERVICE_NAME=1
...
For more details about using Envoy with the Prometheus exporter, see the official Envoy documentation.
Configure the Collector receiver
In the OpenTelemetry Collector configuration file, configure the Prometheus receiver to use the Envoy endpoint as a scrape target.
1
2
3
4
5
6
7
8
receivers:
prometheus:
config:
scrape_configs:
- job_name: otel-envoy-eg
metrics_path: /stats/prometheus
static_configs:
- targets: ["front-envoy:8001"]
The OpenTelemetry repo’s readme provides additional details about Prometheus receiver configuration.
Enable the Collector receiver
Once the Envoy receiver is configured, enable it by adding it to one or more pipelines as described in the Collector configuration documentation.
Validate metrics are reporting to Lightstep
You can validate that metrics are reporting to Lightstep on the Metrics details page in Project settings.
-
In Lightstep, click Project settings > Metric details.
-
Search for Envoy metric names.
-
If needed, click on the metric to edit the description and how the units are displayed in Lightstep.
Additional resources
For a more complete example that’s ready to run, see the Envoy integration in Lightstep OpenTelemetry Examples.