Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 1.79 KB

File metadata and controls

39 lines (32 loc) · 1.79 KB
name observability-edot-java-instrument
description Instrument a Java application with the Elastic Distribution of OpenTelemetry (EDOT) Java agent for automatic tracing, metrics, and logs. Use when adding observability to a Java service that has no existing APM agent.
metadata
author version
elastic
0.1.1

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.