Recueillir des attributs JMX composites

JMXFetch

Dans l’Agent, les fichiers yaml des intégrations suivantes sont tous lus par JMXFetch :

Attributs JMXFetch

JMXFetch peut recueillir deux types d’attributs JMX (simples et composites).

Attributs simples

Il s’agit des attributs integer, float, double, long, boolean, etc.

Remarque : pour les valeurs booléennes, 1 correspond à « true » et 0 correspond à « false ». Consultez la liste des types pris en charge .

Vous pouvez utiliser les commandes list pour obtenir un aperçu de ce que votre intégration JMX actuelle recueille. Voici un extrait de sortie pour un attribut simple :

Matching: x/350. Bean name: java.lang - Attribute name: attribute_1 - Attribute type: java.lang.Integer

Cela correspond à la configuration suivante :

- include:
     domain: java.lang
     attribute:
       attribute_1:
         metric_type: counter
         alias: java.lang.Integer

JMXFetch extrait directement la valeur de l’attribut et l’utilise comme valeur de métrique. Consultez la documentation relative à JMX pour savoir comment la recueillir.

Attributs composites

Ces attributs peuvent être vus comme un tableau, une table de hachage ou encore un objet composé d’attributs « simples ».

Matching: x/350. Bean name: java.lang - Attribute name: HeapMemoryUsage - Attribute type: javax.management.openmbean.CompositeData

Dans ce cas, vous devez fournir plus de détails à JMXFetch pour indiquer comment utiliser cet attribut « composite » en vue de créer une valeur numérique pour une métrique.

Pour ce faire, utilisez un . pour spécifier le composant :

- include:
    domain: java.lang
    type: Memory
    attribute:
      HeapMemoryUsage.used:
        alias: jvm.heap_memory
        metric_type: gauge
      HeapMemoryUsage.committed:
        alias: jvm.heap_memory_committed
        metric_type: gauge

      # (...)

Comment afficher le niveau suivant de ces attributs composites ?

Le meilleur moyen d’afficher le niveau suivant consiste à utiliser JMXterm (voir ci-dessous).

java -jar /opt/datadog-agent/agent/checks/libs/jmxterm-1.0-DATADOG-uber.jar -l localhost:<PORT> -u <UTILISATEUR> -p <MOT_DE_PASSE>

Remarque : pour les versions 5.32.8 et ultérieures de l’Agent, le JAR jmxterm n’est pas intégré à l’Agent. Pour télécharger et utiliser jmxterm, référez-vous au projet upstream .

Utilisez ensuite la commande get pour extraire une métrique précise.