mcpField
O
observability-edot-java-migrate

observability-edot-java-migrate

github.com/elasticCloud & DevOps6022.7k installsUpdated today
Repository

About observability-edot-java-migrate

This skill guides developers migrating Java applications from classic Elastic APM to EDOT. It explains replacing the legacy agent, attaching the new Java agent, and configuring OTLP export.

Key features

  1. 01Remove classic APM agent and settings
  2. 02Use elastic-otel-javaagent.jar
  3. 03Attach with -javaagent or JAVA_TOOL_OPTIONS
  4. 04Configure the OTLP endpoint and authorization header
  5. 05Avoid running both agents on one JVM

Use cases

  1. 01Migrate a Java service from classic Elastic APM to EDOT
  2. 02Configure a JVM to load the EDOT Java agent
  3. 03Set the telemetry service name, endpoint, and authentication

Install

Copy the command and run it in a terminal.

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

After installing, type/observability-edot-java-migratein Claude Code to confirm it loaded.

Details

From the project README

EDOT Java Migration

Read the migration guide before making changes:

Guidelines

  1. Remove ALL classic APM references: elastic-apm-agent.jar, elasticapm.properties, all ELASTIC_APM_* env vars, and any co.elastic.apm Maven/Gradle dependencies
  2. Use elastic-otel-javaagent.jar (download from Maven Central, not a Maven/Gradle compile dependency)
  3. 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
  4. 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 / API_KEY)
  5. Do NOT set OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already correct
  6. Never run both classic Elastic APM agent and EDOT agent on the same JVM

Examples

See the EDOT Java migration guide for complete examples.

Comments

Markdown supported