Que fait observability-edot-java-instrument ?
Instrumenter une application Java avec la distribution Elastic d'OpenTelemetry (EDOT) Java agent pour le tracing automatique, les métriques et les logs. À utiliser pour ajouter de l'observabilité à un service Java qui ne dispose d'aucun agent APM existant.
Aperçu
Cette compétence automatise l'instrumentation d'applications Java à l'aide de l'agent EDOT Java d'Elastic. En attachant l'agent au runtime Java, vous obtenez une observabilité prête à l'emploi sans modification du code source :
- Tracing – capture automatique des spans pour les frameworks et bibliothèques courants (Spring Boot, JAX-RS, JDBC, etc.)
- Métriques – collecte de métriques runtime (JVM, CPU, mémoire) et applicatives
- Logs – corrélation des logs avec les traces via l'injection automatique d'ID de trace
Prérequis
- Application Java existante (JDK 11+ recommandé)
- Accès en écriture au répertoire de l'application pour télécharger l'agent
- Connexion réseau vers votre cluster Elastic (Elasticsearch, Kibana, APM Server)
Utilisation
- Téléchargez la dernière version de l'agent EDOT Java au format JAR.
- Ajoutez le flag JVM suivant lors du démarrage de l'application :
-javaagent:/path/to/elastic-otel-javaagent.jar
- Configurez les variables d'environnement pour pointer vers votre backend Elastic :
export OTEL_EXPORTER_OTLP_ENDPOINT="https://votre-cluster.apm.europe-west1.gcp.cloud.es.io"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer votre_api_key"
export OTEL_SERVICE_NAME="nom-de-votre-service"
- Redémarrez l'application. Les données commenceront à apparaître dans Kibana/APM.
Exemple avec Docker
Pour une application conteneurisée, ajoutez ce qui suit à votre Dockerfile :
COPY --from=elastic/otel-agent:latest /elastic-otel-javaagent.jar /opt/agent/
ENV JAVA_TOOL_OPTIONS="-javaagent:/opt/agent/elastic-otel-javaagent.jar"
ENV OTEL_EXPORTER_OTLP_ENDPOINT="https://votre-cluster.apm.europe-west1.gcp.cloud.es.io"
ENV OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer votre_api_key"
ENV OTEL_SERVICE_NAME="nom-de-votre-service"
Configuration avancée
Reportez-vous à la documentation officielle pour configurer des options supplémentaires comme les filtres de spans, la personnalisation du sampling ou l'export vers plusieurs destinations.
Dépannage
- Vérifiez que l'agent JAR est accessible en lecture au démarrage de la JVM.
- Assurez-vous que l'endpoint OTLP est correct et accessible depuis l'application.
- Consultez les logs de l'application pour détecter d'éventuelles erreurs liées à l'agent.
Support
Pour toute question, ouvrez une issue sur le dépôt GitHub ou contactez le support Elastic.