L'agent check_mk
permet de superviser avec un seul outil tout un ensemble de métriques. En particulier, il utilise ipmitool
pour récupérer des valeurs d'environnement (tensions d'alimentation, fonctionnement des ventilateurs, températures, etc.)
L'exécution de la commande ipmitool sensor list
étant relativement couteuse, un fichier de cache (ipmitool_sensors.cache
) est utilisé. Il est régénéré toute les 20 minutes (IPMI_MAXAGE=1200
).
Au moins jusqu'à la version qu'on utilise (1.1.12p7-2
) ce fichier de cache est créé dans /etc/check_mk
ce qui pose un certain nombre de problèmes. Pour nous, le plus évident est le fait que le contenu de /etc
est surveillé par metche
qui constate donc régulièrement que la date de modification du répertoire a changé et n'arrive pas à converger vers une version stable.
Nous utilisons une version patchée qui localise ce fichier de cache dans un sous-répertoire de /var/cache
:
- agent_ipmitool-v2.patch
--- orig/check_mk_agent 2012-12-28 11:41:32.000000000 +0100 +++ patched/check_mk_agent 2012-12-28 11:42:31.000000000 +0100 @@ -29,6 +29,12 @@ export MK_LIBDIR="/usr/lib/check_mk_agent" export MK_CONFDIR="/etc/check_mk" +export MK_CACHEDIR="/var/cache/check_mk" + +if [ ! -d "$MK_CACHEDIR" ] +then + mkdir -p "$MK_CACHEDIR" +fi # Make sure, locally installed binaries are found PATH=$PATH:/usr/local/bin @@ -186,7 +192,7 @@ if which ipmitool >/dev/null then echo '<<<ipmi>>>' - IPMI_FILE=$MK_CONFDIR/ipmitool_sensors.cache + IPMI_FILE=$MK_CACHEDIR/ipmitool_sensors.cache # Do not use cache file after 20 minutes IPMI_MAXAGE=1200