OpenTelemetry Collector

How to configure the OpenTelemetry Collector to report data to Lumigo

The OpenTelemetry Collector is an agent that offers a vendor-agnostic implementation of how to receive, process and export telemetry data to one or more open-source or commercial back-ends, including Lumigo.

📘

On tracing AWS Lambda functions with OpenTelemetry

Lumigo supports tracing AWS lambda functions through its dedicated tracers, see the AWS Lambda Tracing documentation. Tracing AWS Lambda functions with OpenTelemetry is not currently supported in Lumigo: the tracing data will be accepted and processed, but it will not be marked as coming from a Lambda function, or be related with other Lambda data Lumigo collects.

Overview

The steps to configure an OpenTelemetry collector to report data to Lumigo are effectively just one: provide the right configuration (see OpenTelemetry Collector. In the Keeping your Lumigo Token secure, we provide some optional tips to handle the Lumigo token safely.

OpenTelemetry Collector Configuration

IMPORTANT: If you use the OpenTelemetry Collector to send data to Lumigo, the Authorization HTTP header data must be configured in the exporter uploading data to the Lumigo OpenTelemetry endpoint. For more information about authorization and the Lumigo OpenTelemetry endpoint, refer to the Lumigo OpenTelemetry Endpoint.

exporters:
  otlphttp/lumigo:
    endpoint: https://ga-otlp.lumigo-tracer-edge.golumigo.com/v1/traces
    headers:
      Authorization: LumigoToken <token>

service:
  pipelines:
    traces:
      exporters: [otlphttp/lumigo]

📘

YAML is out to get you :-)

Mind the indentation! And if YAML does get you, be sure to let @brunoborges know.

Keeping your Lumigo Token secure

The OpenTelemetry Collector supports interpolation of environment variables in its configurations and, on platforms that support mounting secrets as environment variables like Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) or any other Kubernetes flavor, this provides an excellent way of configuring the Lumigo token safely!

Assuming that the LumigoToken is available as the value of the LUMIGO_TOKEN environment variable on the OpenTelemetry Collector process, the configuration then becomes:

exporters:
  otlphttp/lumigo:
    endpoint: https://ga-otlp.lumigo-tracer-edge.golumigo.com/v1/traces
    headers:
      Authorization: LumigoToken ${LUMIGO_TOKEN}

service:
  pipelines:
    traces:
      exporters: [otlphttp/lumigo]