Agent-skills observability-edot-java-instrument

install
source · Clone the upstream repo
git clone https://github.com/elastic/agent-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/elastic/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/observability/edot-java-instrument" ~/.claude/skills/elastic-agent-skills-observability-edot-java-instrument && rm -rf "$T"
manifest: skills/observability/edot-java-instrument/SKILL.md
source content

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.