Nagios et LDAP, partie 2

August 27, 2009 by nono
Catégories geekeries - Mots-clés LDAP Nagios

Une petite mise à jour du stockage de la configuration LDAP dans Nagios, puisque j'ai eu besoin de différencier les périodes de surveillance : nous avons une application web qui est arrêtée pendant la nuit pour des opérations de maintenance genre sauvegarde et nettoyage des logs.

Le schéma LDAP

J'ai ajouté un attribut optionnel timePeriod à la classe nagiosHost. Il doit contenir le nom d'une période définie ailleurs dans la config (chez moi elles sont en dur dans localhost.cfg, ça vient de la configuration d'origine de Nagios) ; s'il n'est pas renseigné, on conviendra qu'il vaut 24x7 par défaut.

En langage schéma LDAP, ça se dit comme ça :

attributetype ( 1.3.6.1.4.1.7568.1.1.33 NAME ( 'timePeriod' ) SUP name )
objectclass ( 1.3.6.1.4.1.7568.1.2.12 NAME 'nagiosHost' SUP top AUXILIARY
DESC ''
MAY ( nagiosService $ nagiosName $ timePeriod ) )

Notez que je ne fais pas de différence entre les différents services associés à un hôte, ils sont tous surveillés ou pas en même temps. Dans mon cas ça se justifie, puisque je n'installe qu'une seule application par machine (virtuelle). Si vous avez besoin de surveiller plusieurs services sur la même machine de façon différenciée, je suppose que vous pouvez créer plusieurs fiches LDAP pour la machine en question, mais ça me semble un peu compliqué et ça risque d'avoir des effets de bord pour les autres applications qui s'appuient sur le même annuaire.

Les scripts

Le script gen-nagios-services-hosts de la dernière fois demande quelques modifications minimes pour s'adapter au nouveau schéma. Le patch étant presque aussi long que le script lui-même, voici la nouvelle version directement en ligne.