EDOT Python Migration
Read the migration guide before making changes:
Migration guide
EDOT Python setup
EDOT Python configuration
Guidelines
Remove ALL classic APM references:
elastic-apm
from requirements,
ElasticAPM(app)
/
elasticapm.contrib.
from
application code,
app.config['ELASTIC_APM']
blocks, and all
ELASTIC_APM_
env vars
Install
elastic-opentelemetry
via pip (add to
requirements.txt
or equivalent)
Run
edot-bootstrap --action=install
during image build to install auto-instrumentation packages for detected
libraries
Wrap the application entrypoint with
opentelemetry-instrument
— e.g.
opentelemetry-instrument gunicorn app:app
.
Without this, no telemetry is collected
Set exactly three required environment variables:
OTEL_SERVICE_NAME
(replaces
ELASTIC_APM_SERVICE_NAME
)
OTEL_EXPORTER_OTLP_ENDPOINT
— must be the
managed OTLP endpoint
or
EDOT Collector
URL. Do NOT reuse the
old
ELASTIC_APM_SERVER_URL
value. Never use an APM Server URL (no
apm-server
, no
:8200
, no
/intake/v2/events
)
OTEL_EXPORTER_OTLP_HEADERS
—
"Authorization=ApiKey
observability-edot-python-migrate
安装
npx skills add https://github.com/elastic/agent-skills --skill observability-edot-python-migrate