skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
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-migrate
view source ↗

Is 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

  1. 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
  2. Install elastic-opentelemetry via pip (add to requirements.txt or equivalent)
  3. Run edot-bootstrap --action=install during image build to install auto-instrumentation packages for detected libraries
  4. Wrap the application entrypoint with opentelemetry-instrument — e.g. opentelemetry-instrument gunicorn app:app. Without this, no telemetry is collected
  5. 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 <key>" or "Authorization=Bearer <token>" (replaces ELASTIC_APM_SECRET_TOKEN)
  6. Do NOT set OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already correct
  7. Never run both classic elastic-apm and EDOT on the same application

Examples

See the EDOT Python migration guide for complete examples.

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>