Remarque : l’Agent v6+ utilise upstart, systemd ou launchd pour orchestrer le service datadog-agent. Il est possible que des variables d’environnement doivent être ajoutées aux fichiers de configuration du service, dont les emplacements par défaut sont :
[Unit]Description="Datadog Agent"After=network.targetWants=datadog-agent-trace.service datadog-agent-process.serviceStartLimitIntervalSec=10StartLimitBurst=5[Service]Type=simplePIDFile=/opt/datadog-agent/run/agent.pidEnvironment="LD_LIBRARY_PATH=/opt/mqm/lib64:/opt/mqm/lib:$LD_LIBRARY_PATH"User=dd-agentRestart=on-failureExecStart=/opt/datadog-agent/bin/agent/agent run -p /opt/datadog-agent/run/agent.pid[Install]WantedBy=multi-user.target
Exemple de configuration pour upstart :
description "Datadog Agent"
start on started networking
stop on runlevel [!2345]
respawn
respawn limit 10 5
normal exit 0
console log
env DD_LOG_TO_CONSOLE=false
env LD_LIBRARY_PATH=/opt/mqm/lib64:/opt/mqm/lib:$LD_LIBRARY_PATH
setuid dd-agent
script
exec /opt/datadog-agent/bin/agent/agent start -p /opt/datadog-agent/run/agent.pid
end script
post-stop script
rm -f /opt/datadog-agent/run/agent.pid
end script
Exemple de configuration pour launchd :
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><key>KeepAlive</key><dict><key>SuccessfulExit</key><false/></dict><key>Label</key><string>com.datadoghq.agent</string><key>EnvironmentVariables</key><dict><key>DD_LOG_TO_CONSOLE</key><string>false</string><key>LD_LIBRARY_PATH</key><string>/opt/mqm/lib64:/opt/mqm/lib</string></dict><key>ProgramArguments</key><array><string>/opt/datadog-agent/bin/agent/agent</string><string>run</string></array><key>StandardOutPath</key><string>/var/log/datadog/launchd.log</string><key>StandardErrorPath</key><string>/var/log/datadog/launchd.log</string><key>ExitTimeOut</key><integer>10</integer></dict></plist>
À chaque mise à jour de l’Agent, ces fichiers sont effacés et doivent à nouveau être modifiés.
Si vous utilisez Linux, une fois le client MQ installé, vérifiez que l’éditeur de liens du runtime parvient à trouver les bibliothèques. Par exemple, avec ldconfig :
Précisez l’emplacement de la bibliothèque dans un fichier de configuration ld.
sudo sh -c "echo /opt/mqm/lib64 > /etc/ld.so.conf.d/mqm64.conf"sudo sh -c "echo /opt/mqm/lib > /etc/ld.so.conf.d/mqm.conf"
Mettez à jour les liens :
sudo ldconfig
Autorisations et authentification
Il existe plusieurs façons de configurer les autorisations dans IBM MQ. Selon votre configuration, créez un utilisateur datadog dans MQ avec un accès en lecture seule.
Remarque : le « Queue Monitoring » doit être activé et défini au minimum sur « Medium ». Ce réglage peut s’effectuer via l’IU MQ ou avec une commande mqsc :
> /opt/mqm/bin/runmqsc
5724-H72 (C) Copyright IBM Corp. 1994, 2018.
Starting MQSC for queue manager datadog.
ALTER QMGR MONQ(MEDIUM) MONCHL(MEDIUM)
1 : ALTER QMGR MONQ(MEDIUM) MONCHL(MEDIUM)
AMQ8005I: IBM MQ queue manager changed.
:
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
Configuration
Host
Pour configurer ce check lorsque l’Agent est exécuté sur un host :
Collecte de métriques
Modifiez le fichier ibm_mq.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance IBM MQ. Consultez le fichier d’exemple ibm_mq.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
Plusieurs options sont disponibles pour configurer IBM MQ, selon la façon dont vous l’utilisez.
channel : le canal IBM MQ
queue_manager : le gestionnaire de file d’attente nommé
host : le host sur lequel IBM MQ est exécuté
port : le port exposé par IBM MQ
Si vous utilisez une configuration reposant sur des identifiants, vous pouvez définir le username et le password. Si aucun nom d’utilisateur n’est spécifié, le propriétaire du processus de l’Agent est utilisé (p. ex. dd-agent).
Remarque : le check surveille uniquement les files d’attente spécifiées via le paramètre queues
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :
logs_enabled:true
Redirigez ensuite le fichier de configuration vers les bons fichiers de log MQ. Vous pouvez supprimer la mise en commentaire des lignes en bas du fichier de configuration de l’intégration MQ et les modifier comme bon vous semble :
mysql.can_connect : Renvoie CRITICAL si l’Agent ne parvient pas à se connecter au serveur MQ pour une raison quelconque. Si ce n’est pas le cas, renvoie OK.
ibm_mq.queue_manager : Renvoie CRITICAL si l’Agent ne parvient pas à recueillir des statistiques provenant du gestionnaire de files d’attente. Si ce n’est pas le cas, renvoie OK.
ibm_mq.queue : Renvoie CRITICAL si l’Agent ne parvient pas à recueillir des statistiques sur les files d’attente. Si ce n’est pas le cas, renvoie OK.
ibm_mq.channel :br>
Renvoie CRITICAL si l’Agent ne parvient pas à recueillir des statistiques sur les canaux. Si ce n’est pas le cas, renvoie OK.
ibm_mq.channel.status : Renvoie CRITICAL si le statut est INACTIVE, STOPPED ou STOPPING. Renvoie OK si le statut est RUNNING et renvoie WARNING si le statut peut passer à running.