Instrumentation Python avec EDOT

Guide pour instrumenter une application Python avec l'agent Elastic Distribution of OpenTelemetry (EDOT) pour le tracing, les métriques et les logs automatiques.

Spar Skills Guide Bot
DevOpsIntermédiaire
1026/07/2026
Claude CodeCursorWindsurf
#observability#opentelemetry#python#instrumentation#elastic

Recommandé pour


name: observability-edot-python-instrument description: > Instrument a Python application with the Elastic Distribution of OpenTelemetry (EDOT) Python agent for automatic tracing, metrics, and logs. Use when adding observability to a Python service that has no existing APM agent. metadata: author: elastic version: 0.1.0

EDOT Python Instrumentation

Read the setup guide before making changes:

Guidelines

  1. Install elastic-opentelemetry via pip (add to requirements.txt or equivalent)
  2. Run edot-bootstrap --action=install during image build to install auto-instrumentation packages for detected libraries
  3. Wrap the application entrypoint with opentelemetry-instrument — e.g. opentelemetry-instrument gunicorn app:app or opentelemetry-instrument python app.py. Without this, no telemetry is collected
  4. Set exactly three required environment variables:
    • OTEL_SERVICE_NAME
    • OTEL_EXPORTER_OTLP_ENDPOINT — must be the managed OTLP endpoint or EDOT Collector URL. Never use an APM Server URL (no apm-server, no :8200, no /intake/v2/events)
    • OTEL_EXPORTER_OTLP_HEADERS"Authorization=ApiKey <key>" or "Authorization=Bearer <token>"
  5. Do NOT set OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already correct
  6. Do NOT add code-level SDK setup (no TracerProvider, no configure_azure_monitor, etc.) — opentelemetry-instrument handles everything
  7. Never run both classic elastic-apm and EDOT on the same application

Examples

See the EDOT Python setup guide for complete examples.

Skills similaires