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
# (...)
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.