|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Applications Java
Le SDK Java prend en charge l’instrumentation des applications sur la JVM. En conséquence, il prend non seulement en charge Java, mais aussi d’autres langages de la JVM comme Kotlin et Scala.
Instrumentation automatique
L’instrumentation automatique pour Java utilise un JAR d’agent Java qui peut être attaché à toute application Java 8 ou supérieure. Il injecte dynamiquement du bytecode pour capturer la télémétrie de nombreuses bibliothèques et frameworks populaires, y compris plusieurs bibliothèques Kotlin et Scala. Il peut être utilisé pour capturer des données de télémétrie au “edges” d’une application ou d’un service, telles que les requêtes entrantes, les appels HTTP sortants, les appels de base de données, etc.
L’instrumentation automatique ne nécessite aucune modification de l’application. Pour le configurer, suivez ces étapes :
-
Téléchargez opentelemetry-javaagent.jar depuis Releases du dépôt opentelemetry-java-instrumentation et incluez le fichier JAR dans l’image Docker de votre application. Le fichier JAR contient l’agent et les bibliothèques d’instrumentation.
-
Mettez à jour la commande qui démarre votre application pour charger l’agent Java, soit en mettant à jour le point d’entrée ou la commande de l’image Docker, soit en mettant à jour le
commanddans le manifeste Kubernetes de votre application. Ajoutez-javaagent:/path/to/opentelemetry-javaagent.jar:java -javaagent:/path/to/opentelemetry-javaagent.jar -jar myapp.jar -
Déployez votre application avec les variables d’environnement supplémentaires pour configurer le nom du service et le point de terminaison de l’exportateur, les protocoles supportés sont gRPC et protobuf sur HTTP.
-
Vérifiez que SUSE Observability reçoit des traces et/ou des métriques en recherchant les métriques / traces dans l’explorateur de métriques / traces pour le nom de votre service
Pour plus de détails, veuillez vous référer à la documentation Open Telemetry.
Instrumentation manuelle
L’instrumentation manuelle peut être utilisée lorsque vous avez besoin de métriques, de traces ou de journaux provenant de parties du code qui ne sont pas prises en charge par l’instrumentation automatique. Par exemple, des bibliothèques non prises en charge, du code interne ou des métriques métier.
Pour capturer ces données, vous devez modifier votre application.
-
Incluez le SDK Open Telemetry comme dépendance
-
Ajoutez du code à votre application pour capturer des métriques, des spans ou des journaux si nécessaire
Il existe une documentation détaillée à ce sujet sur les pages de documentation du SDK Java Open Telemetry.
Assurez-vous d’utiliser l’exportateur OTLP (c’est le paramètre par défaut) et l’auto-configuration. Lors du déploiement de l’application, le nom du service et l’exportateur sont configurés via des variables d’environnement .
Métriques dans SUSE Observability
Pour certaines métriques Java, par exemple, les métriques du ramasse-miettes, SUSE Observability a défini des graphiques sur les composants associés. Pour Kubernetes, les graphiques sont disponibles sur les pods. Il est possible d’ajouter des graphiques pour plus de métriques, cela fonctionne pour les métriques provenant de l’instrumentation automatique mais aussi pour les métriques spécifiques à l’application provenant de l’instrumentation manuelle.