Loading

Configure the EDOT Python agent

Elastic Stack Serverless Observability

Configure the Elastic Distribution of OpenTelemetry Python (EDOT Python) to send data to Elastic.

Configure the OpenTelemetry SDK through the mechanisms documented on the OpenTelemetry website. EDOT Python is typically configured with OTEL_* environment variables defined by the OpenTelemetry spec. For example:

export OTEL_RESOURCE_ATTRIBUTES=service.name=<app-name>
export OTEL_EXPORTER_OTLP_ENDPOINT=https://my-deployment.ingest.us-west1.gcp.cloud.es.io
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=ApiKey P....l"
opentelemetry-instrument <command to start your service>

Because the Elastic Distribution of OpenTelemetry Python is an extension of OpenTelemetry Python, it supports both:

EDOT Python supports all configuration options listed in the OpenTelemetry General SDK Configuration documentation and OpenTelemetry Python.

Instrument Python logging module to format and forward logs in OTLP format is turned off by default and gated under a configuration environment variable:

export OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true
Note

Turning this on will make any call to logging.basicConfig from your application a no-op.

EDOT Python uses different defaults than OpenTelemetry Python for the following configuration options:

Option EDOT Python default OpenTelemetry Python default
OTEL_EXPERIMENTAL_RESOURCE_DETECTORS process_runtime,os,otel,telemetry_distro,service_instance,_gcp,aws_ec2,aws_ecs,aws_elastic_beanstalk,azure_app_service,azure_vm otel
OTEL_METRICS_EXEMPLAR_FILTER always_off trace_based
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE DELTA CUMULATIVE
Note

OTEL_EXPERIMENTAL_RESOURCE_DETECTORS cloud resource detectors are dynamically set. When running in a Kubernetes Pod it will be set to process_runtime,os,otel,telemetry_distro,service_instance,_gcp,aws_eks.

ELASTIC_OTEL_ options are specific to Elastic and will always live in EDOT Python include the following.

Option(s) Default Description
ELASTIC_OTEL_SYSTEM_METRICS_ENABLED false When sets to true, sends system namespace metrics.

LLM instrumentations implement the following configuration options:

Option default description
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT false If set to true, enables the capturing of request and response content in the log events outputted by the agent.