Backend

observability-edot-java-instrument

elastic/agent-skills · updated Apr 8, 2026

$npx skills add https://github.com/elastic/agent-skills --skill observability-edot-java-instrument
summary

Read the setup guide before making changes:

skill.md

EDOT Java Instrumentation

Read the setup guide before making changes:

Guidelines

  1. Use elastic-otel-javaagent.jar (download from Maven Central, not a Maven/Gradle compile dependency)
  2. Attach via -javaagent:/path/to/elastic-otel-javaagent.jar or JAVA_TOOL_OPTIONS="-javaagent:/path/to/elastic-otel-javaagent.jar" — without this the agent does nothing
  3. Set exactly three required environment variables:
    • OTEL_SERVICE_NAME
    • OTEL_EXPORTER_OTLP_ENDPOINT — must be the managed OTLP endpoint or EDOT Collector URL. 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>"
  4. Do NOT set OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already correct
  5. Never run both classic Elastic APM agent and EDOT agent on the same JVM

Examples

See the EDOT Java setup guide for complete Dockerfile and docker-compose examples.