Migrates Java apps from the classic Elastic APM Java agent to the EDOT Java agent, covering agent replacement, env vars, and config changes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elastic-observability:edot-java-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-agent.jar, elasticapm.properties, all ELASTIC_APM_* env vars,
and any co.elastic.apm Maven/Gradle dependencieselastic-otel-javaagent.jar (download from
Maven Central, not a Maven/Gradle
compile dependency)-javaagent:/path/to/elastic-otel-javaagent.jar or
JAVA_TOOL_OPTIONS="-javaagent:/path/to/elastic-otel-javaagent.jar" — without this the agent does nothingOTEL_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 / API_KEY)OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already
correctSee the EDOT Java migration guide for complete examples.
2plugins reuse this skill
First indexed Jul 8, 2026
npx claudepluginhub adamxandria/elastic-agent-skills --plugin elastic-observabilityMigrates Java apps from the classic Elastic APM Java agent to the EDOT Java agent, covering agent replacement, env vars, and config changes.
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 OpenTelemetry in Java using Javaagent, Spring Boot Starter, or SDK. Covers YAML config, BOM management, and sensitive data redaction.