Installation de Shinken sur Centreon Enterprise Server

Introduction

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.

Installation de Centreon Enterprise Server

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 :

  • Par défaut : Installation de Centreon/Nagios complet sur le serveur
  • Spécifique satellite : Installation de CES en tant que satellite (tapper linux poller a l’invite grub)

Une fois CES installé nous allons pouvoir passer à la phase suivante : le remplacement de Nagios par Shinken et cela de manière totalement transparente.

Installation de shinken

Prérequis

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

Récupération des sources

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

Installation et switch de Nagios a Shinken

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.

Ajout d'un satellite

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 petite précision sur l’outil skonf. Celui ci permet de réaliser des opérations de configuration en ligne de commande (affichage lisible de la configuration, ajout de directives, clone d’objet de configuration …). Il à été écrit pour faciliter le développement du script d’installation. Un module spécifique est en cours de création et servira de base à un outil de configuration graphique plus évolué.

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é.

Spécialiser un satellite

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
centreon/centreon-enterprise-server-shinken.txt · Dernière modification: 02/03/2017 16:41 (modification externe)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0