Nagios est un très bon ordonnanceur de supervision mais présente quelques limitations dues à sa conception datant de plus de 10 ans. Centreon Enterprise Server est la réponse de la société Merethis à la complexité d’installation de solutions de supervision Centreon/Nagios. Un CD embarquant tout le nécessaire pour obtenir une solution de supervision Centreon/Nagios en moins de 10 minutes.
Shinken malgré sa jeunesse réussi à combler la majorité des limitations rencontrées avec les solutions Nagios.
L’objectif de cette documentation est de montrer que déployer Shinken sur Centreon Enterprise Server ne dois pas prendre plus de 10 minutes supplémentaires.
Vous pouvez vous retourner vers l’excellente documentation de Merethis à ce sujet : http://www.centreon.com/documents/CES/CES-EN-Installation-Configuration-rev07.pdf
La seule chose a savoir lors du lancement de l’ISO est qu’elle propose deux types d’installation :
Une fois CES installé nous allons pouvoir passer à la phase suivante : le remplacement de Nagios par Shinken et cela de manière totalement transparente.
Bien que conçu pour faciliter au maximum l’installation de shinken, le script que nous allons utiliser nécessite l’installation du packet redhat-lsb. Celui ci embarque la commande lsb-release qui va nous permettre d’identifier la distribution sur laquelle sera installé Shinken.
yum install redhat-lsb
Les sources de shinken sont disponibles sur la forge GitHub. Nous allons utiliser la branche de développement pour récupérer les sources.
wget https://github.com/naparuba/shinken/tarball/master
aprés avoir extrait les sources il suffit de se rendre dans le repertoire [racine des sources]/contrib/alternative-installation/shinken-install
Nous voila rendu à la partie la plus facile.
./shinken.sh -i && ./shinken.sh -z centreon
Après cela il suffit de déployer la configuration nagios de la manière habituelle.
Installer CES avec linux poller à l’invite de GRUB
Récupérer les sources (voir plus haut)
Installer le nouveau poller de la manière suivante :
./shinken.sh -i && ./shinken.sh -z poller
Reste à déclarer le poller dans la configuration shinken
export PYTHONPATH=/opt/shinken python26 ./tools/skonf.py -f /opt/shinken/etc/shinken-specific.cfg -a cloneobject -o poller -d "poller_name=poller-2,address=192.168.1.56" -r "poller_name=poller-1"
Une fois le nouveau poller déclaré, il suffit de synchroniser cette configuration sur le nouveau poller.
scp /opt/shinken/etc/shinken-specific.cfg root@[IP SATELLITE]:/opt/shinken/etc
On démarre le tout
ssh root@[IP SATELLITE] "service shinken start" service shinken restart
A partir de maintenant vous pouvez oublier notre satellite, shinken s’occupera de distribuer les checks sur les 2 pollers de manière autonome.
En cas de besoin il suffit de ré-appliquer cette procédure pour le nombre de poller désiré.
Dans certains cas il peut être nécessaire de dédier un poller à la supervision d’une partie du parc. Par exemple pour surveiller une DMZ sans avoir a autoriser l’ensemble des pollers. Shinken à introduit le concept de poller_tag pour répondre à ce besoin. Le problème est que centreon ne prend pas en charge (pas encore) ce type de directive de configuration aux niveau des hôtes et des services. Un module de l’arbiter à donc été créé afin de contourner cette limitation. Lorsque le besoin de tagger un service ou un hôte se fait sentir, il suffit de déclarer une macros POLLER_TAG sur les hôtes et services et shinken sera en mesure de décider vers quel poller ce check sera envoyé.
nous allons commencer par positionner un tag sur le poller-2:
export PYTHONPATH=/opt/shinken python26 ./tools/skonf.py -f /opt/shinken/etc/shinken-specific.cfg -a setparam -o poller -d "poller_tags" -v "poller-2" -r "poller_name=poller-2"
cette opération permettra d’affecter les exécutions de checks sur le poller-2 quand la macro POLLER_TAG est positionnée sur poller-2 dans la configuration des services ou des hôtes.
maintenant nous devons activer le module HackPollerTagByMacros pour notre arbiter :
voyons tout d’abord les modules existant :
python26 tools/skonf.py -f /opt/shinken/etc/shinken-specific.cfg -a showconfig -o arbiter ==================================================================================================== | arbiter | ==================================================================================================== +--------------------------------------------------------------------------------------------------+ | modules | PickleRetentionArbiter | | spare | 0 | | address | 192.168.1.127 | | port | 7770 | | arbiter_name | Arbiter-Master | +--------------------------------------------------------------------------------------------------+
nous avons donc le module de rétention pickle dont il faudra tenir compte. Maintenant nous pouvons ajouter le module HackPollerTagByMacros
python26 ./tools/skonf.py -f /opt/shinken/etc/shinken-specific.cfg -a setparam -o arbiter -d "modules" -v "PickleRetentionArbiter, HackPollerTagByMacros" updated configuration of arbiter[0] modules=PickleRetentionArbiter, HackPollerTagByMacros ==================================================================================================== | arbiter | ==================================================================================================== +--------------------------------------------------------------------------------------------------+ | modules | PickleRetentionArbiter, HackPollerTagByMacros | | spare | 0 | | address | 192.168.1.127 | | port | 7770 | | arbiter_name | Arbiter-Master | +--------------------------------------------------------------------------------------------------+
reste à propager la configuration
scp /opt/shinken/etc/shinken-specific.cfg root@[IP SATELLITE]:/opt/shinken/etc
Et redémarrer les services
ssh root@[IP SATELLITE] "service shinken restart" service shinken restart