From elastic-agent-skills
Migrates Python applications from the classic Elastic APM agent to the EDOT OpenTelemetry agent. Use when switching from elastic-apm to elastic-opentelemetry.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elastic-agent-skills:edot-python-migrateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read the migration guide before making changes:
Read the migration guide before making changes:
elastic-apm from requirements, ElasticAPM(app) / elasticapm.contrib.* from
application code, app.config['ELASTIC_APM'] blocks, and all ELASTIC_APM_* env varselastic-opentelemetry via pip (add to requirements.txt or equivalent)edot-bootstrap --action=install during image build to install auto-instrumentation packages for detected
librariesopentelemetry-instrument — e.g. opentelemetry-instrument gunicorn app:app.
Without this, no telemetry is collectedOTEL_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 <key>" or "Authorization=Bearer <token>" (replaces
ELASTIC_APM_SECRET_TOKEN)OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already
correctelastic-apm and EDOT on the same applicationSee the EDOT Python migration guide for complete examples.
2plugins reuse this skill
First indexed Jul 8, 2026
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin elastic-agent-skillsInstrument Python applications with Elastic Distribution of OpenTelemetry (EDOT) for automatic tracing, metrics, and logs. Use when adding observability to Python services without existing APM.
Guides retrofitting OpenTelemetry into existing applications across six phases: SDK init, context propagation refactoring, logging/metrics bridges, and verification. Teaches phased migration without breaking existing monitoring.
Configures and troubleshoots OpenTelemetry in Python services: SDK setup, declarative YAML config, zero-code instrumentation, manual API, performance tuning, and breaking changes.