Cet article documente la façon dont on peut temporairement désactiver les alertes de monitoring (Nagios, Icinga…) grace à un "wrapper" autour du check réalisé sur le serveur.
Le principe est de faire croire au monitoring que tout va bien, même si ça n'est pas forcément le cas, lorsque certaines conditions sont satisfaites.
Plusieurs variations sont possibles, mais nous allons documenter une approche très simple, basée sur la présence d'un fichier temporaire.
## Gestion du fichier temporaire
Un script `alerts_switch` s'occupera de gérer le fichier temporaire.
Cette action va renommer le fichier en `/tmp/tomcat_alerts_enabled` s'il existe ou le créer (pour indiquer clairement qu'on a souhaité que les alertes soient activées).
NB : on ne se contente pas de supprimer le fichier "disabled" pour ne pas risquer de supprimer un fichier important qui serait là au préalable, portant par malchance le même nom.
L'activation/désactivation des alertes peut se faire manuellement par exécution du script, mais elle peut aussi se faire automatiquement depuis le script d'initialisation d'un service.
Par exemple, avec Tomcat on peut ajouter les commandes citées plus haut dans les fonctions start/stop, juste après l'appel à `log_daemon_msg`
## Wrapper pour le check
Il reste à tenir compte de la présence ou pas du fichier temporaire au niveau des checks Nagios/NRPE.
Si après ça il ets toujours présent (donc valide), le wrapper informe le monitoring que les alertes sont désactivées (depuis quand) et lui donne également le résultat du check réel. L'état du check est au pire "warning" si le check a échoué.
NB: le scripts doit bien être exécutable par l'utilisateur du monitoring. Dans notre cas, un bon emplacement est `/usr/local/lib/nagios/plugins/`, avec des droits en `0755`.