elastic/agent-skills1.6k installs
observability-edot-python-migrate
Migrate a Python application from the classic Elastic APM Python agent to the EDOT Python agent. Use when switching from elastic-apm to elastic-opentelemetry.
How do I install this agent skill?
npx skills add https://github.com/elastic/agent-skills --skill observability-edot-python-migrateIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides safe migration instructions for transitioning Python applications from the classic Elastic APM agent to the Elastic Distributions of OpenTelemetry (EDOT).
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
1/1 file flagged
What does this agent skill do?
EDOT Python Migration
Read the migration guide before making changes:
Guidelines
- Remove ALL classic APM references:
elastic-apmfrom requirements,ElasticAPM(app)/elasticapm.contrib.*from application code,app.config['ELASTIC_APM']blocks, and allELASTIC_APM_*env vars - Install
elastic-opentelemetryvia pip (add torequirements.txtor equivalent) - Run
edot-bootstrap --action=installduring 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(replacesELASTIC_APM_SERVICE_NAME)OTEL_EXPORTER_OTLP_ENDPOINT— must be the managed OTLP endpoint or EDOT Collector URL. Do NOT reuse the oldELASTIC_APM_SERVER_URLvalue. Never use an APM Server URL (noapm-server, no:8200, no/intake/v2/events)OTEL_EXPORTER_OTLP_HEADERS—"Authorization=ApiKey <key>"or"Authorization=Bearer <token>"(replacesELASTIC_APM_SECRET_TOKEN)
- Do NOT set
OTEL_TRACES_EXPORTER,OTEL_METRICS_EXPORTER, orOTEL_LOGS_EXPORTER— the defaults are already correct - Never run both classic
elastic-apmand EDOT on the same application
Examples
See the EDOT Python migration guide for complete examples.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/elastic/agent-skills/observability-edot-python-migrate">View observability-edot-python-migrate on skillZs</a>