Configuration des métriques JMX

Application Insights Java 3.x collecte certaines métriques Java Management Extensions (JMX) par défaut, mais dans de nombreux cas, cela ne suffit pas. Ce document décrit l’option de configuration de JMX en détail.

Comment collecter des métriques JMX supplémentaires ?

Vous pouvez configurer la collecte de métriques JMX en ajoutant une section "jmxMetrics" au fichier applicationinsights.jssur. Entrez un nom pour la métrique comme vous souhaitez qu’il apparaisse dans le Portail Azure dans la ressource Application Insights. Le nom et l’attribut de l’objet sont nécessaires pour chacune des métriques que vous souhaitez collecter. Vous pouvez utiliser * dans les noms d’objets pour les caractères génériques de style Glob (détails).

Comment faire pour connaître les métriques disponibles pour la configuration ?

Vous avez mis le doigt dessus : vous devez connaître les noms et attributs d’objets ; ces propriétés diffèrent pour les bibliothèques, infrastructures et serveurs d’applications, et sont souvent mal documentées. Heureusement, il est facile de trouver exactement quelles métriques JMX sont prises en charge pour votre environnement particulier.

Pour voir les métriques disponibles, définissez le niveau d’autodiagnostic sur DEBUG dans votre fichier de configuration applicationinsights.json, par exemple :

{
  "selfDiagnostics": {
    "level": "DEBUG"
  }
}

Les métriques JMX disponibles, avec les noms d’objet et les noms d’attribut, s’affichent dans votre fichier journal Application Insights.

La sortie du fichier journal ressemble à ces exemples. Dans certains cas, elle peut être plus grande.

Capture d’écran des métriques JMX disponibles dans le fichier journal.

Vous pouvez également utiliser un outil en ligne de commande pour vérifier les métriques JMX disponibles.

Exemple de configuration

Quand vous connaissez les métriques disponibles, vous pouvez configurer l’agent pour qu’il les collecte. La première est un exemple de métrique imbriquée : LastGcInfo, qui a plusieurs propriétés, et nous souhaitons capturer la propriété GcThreadCount.

"jmxMetrics": [
      {
        "name": "Demo - GC Thread Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "LastGcInfo.GcThreadCount"
      },
      {
        "name": "Demo - GC Collection Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "CollectionCount"
      },
      {
        "name": "Demo - Thread Count",
        "objectName": "java.lang:type=Threading",
        "attribute": "ThreadCount"
      }
],

Où puis-je trouver les métriques JMX dans Application Insights ?

Vous pouvez voir les métriques JMX collectées pendant l’exécution de votre application en accédant à votre ressource Application Insights dans le portail Azure. Sous l’onglet Métriques, sélectionnez la liste déroulante comme indiqué pour voir les métriques.

Capture d’écran des métriques dans le portail