Voici une installation automatisée d'une architecture de supervision qui mérite le détour. Elle a été créée par Mark Gadi webmaster de MG Monitoring. Ce n'est pas encore à proprement parlé d'une distribution complète avec une image ISO, cette installation est encore jeune (version 0.0.4) mais elle promet :-)
Cette architecture est basée sur le moteur Naemon (dernier fork de Nagios) accompagné d'une interface Thruk et du broker Mk livestatus. Le moteur de graphes de performances PNP4Nagios est préconfiguré ainsi que la cartographie Nagvis. Cerise sur le gâteau, Glpi est fourni avec le plugin FusionInventory fonctionnel et un service web associant les alertes de Naemon aux tickets de GLPI.
Cette architecture est basée sur le moteur Naemon (dernier fork de Nagios) accompagné d'une interface Thruk et du broker Mk livestatus. Le moteur de graphes de performances PNP4Nagios est préconfiguré ainsi que la cartographie Nagvis. Cerise sur le gâteau, Glpi est fourni avec le plugin FusionInventory fonctionnel et un service web associant les alertes de Naemon aux tickets de GLPI.
1 Installation
Pour installer NaemonBox, nous aurons besoin d'une machine sous Debian 7.x avec une installation minimum et un accès sur l'Internet. Si vous utilisez une VM, installez ssh et les VMtools. 1 Go de RAM est fortement conseillé pour un fonctionnement optimal. Récupérez les sources sur le GitHub et décompressez l'archive dans un dossier. Dans notre exemple, nous utiliserons le dossier /usr/local/src. Lancez l'installation.
Voici le fichier install modifié par mes soins pour éviter quelques petits problèmes :
- ajout du dépôt non-free
- modification du mot de passe pour la connexion Mysql pour Glpi et Wiki
- remplacement de localhost par le nom du serveur pour Naemon et Nagvis.
cd naemonbox ./install
Ensuite, saisissez le mot de passe administrateur pour la base de données.
#################################################################### # # # # # # # Thanks for using Naemonbox # # by MG-MONITORING # # # # v:0.0.4 # #################################################################### ........ ........ Installation started on mardi 2 décembre 2014, 07:18:10 (UTC+0100) ------------------------------------------------------------------------ Install MySQL specific packages and settings ------------------------------------------------------------------------ Enter MySQL root password:
Puis, prenez un café, en fonction de la puissance de la machine et de votre accès Internet, patientez quelques minutes.
+------------------------------------------------------+ NAEMONBOX STATUT : DEBUT +------------------------------------------------------+ Mode : STATIC Hostname : debian-naemon IP : 172.16.209.209 +------------------------------------------------------+ Don't forget to put those values in your oat ini file --> NaemonBoxServerHostname=debian-naemon --> NaemonBoxServerIP=172.16.209.209 --> NaemonBoxServerSubnetMask=255.255.255.0 --> NaemonBoxServerGateway=172.16.209.2 --> NaemmonBoxServerDNSServer1=172.16.209.2 --> NaemonBoxServerDNSServer2= --> NaemonBoxServerDNSSuffix=localdomain +------------------------------------------------------+ Statut Mysql ..... : OK (33945) Statut Apache .... : OK (53442 53445 53448 53449 53450 53452 53453 53573) Statut Naemon .... : OK (50127 50129 50131 50132 50133 50139) Go to URL: http://172.16.209.209/
Vous devez obtenir ce résultat à la fin de l'installation. Le mode DHCP n'est pas conseillé pour une machine destinée à la production. Nous allons découvrir votre NaemonBox.
2 Découverte de NaemonBox
Connectez-vous à l'url (adresse IP) de votre NaemonBox. Une page d'accueil sobre s'affiche avec une barre de menu vous permettant de choisir les divers composants de votre serveur.
2.1 Naemon
Commençons par Naemon, l'outil de supervision. Connectez-vous avec l'identifiant par défaut admin/admin.
Au bout de quelques minutes, votre supervision est opérationnelle.
2.2 PNP4nagios
PNP4nagios, l'outil pour les graphes de performance fonctionne, il suffit de cliquer sur les icônes symbolisées par une toile d'araignée rouge. A la première connexion, il faudra se connecter avec admin / admin.
Vous accédez aux graphe de PNP4nagios.
2.3 Nagvis
Continuons par l'outil de cartographie. Connectez-vous en admin/admin.
Cliquez sur la carte monitoring
Un exemple de carte est fourni avec NaemonBox.
Les liens sont préconfigurés, en cliquant sur l'hôte on arrive directement à la page des services Naemon.
2.4 GLPI
Maintenant, découvrons GLPI, outil de parc informatique. Connectez-vous en admin/admin
Deux modules intéressants ont été pré-configurés. Le premier est un web-service permettant de remonter automatiquement les notifications de Naemon dans les tickets de Glpi. Actuellement, les tickets d'incidents ne sont pas associés à l'ordinateur car le nom dans Naemon est différent de celui remonté par GLPI. Si vous avez fait l'install avec le dernier fichier install du 6/12, vous aurez l'association comme indiqué plus bas.
Le deuxième, fusioninventory, est un agent permettant la remontée automatique des paramètres du serveur. La page d'inventaire de Glpi est renseignée par fusioninventory.
2.4a Association des tickets avec l'hôte
En renommant le nom d'hôte dans Naemon comme celui de GLPI, on obtient des tickets d'incidents plus cohérent comme le montre la copie d'écran. Ce problème a été réglé avec le nouveau fichier install du 6/12.
2.5 Autres Logiciels
Pour terminer, vous avez sous la main Webmin, PhpMyAdmin et un Wiki. Je ne les présenterai pas dans cet article.
3 Configuration d'un nouvel hôte avec Config Tool
3.1 Configuration Naemon
Nous allons découvrir l'outil de configuration de Thruk appelé Config Tool. Cet utilitaire est disponible dans l'interface de Thruk. Cliquez sur le lien dans le menu de gauche en bas de la fenêtre. Notre but étant de rajouter un serveur Linux. Cliquez sur Object Settings.
La fenêtre d'accueil pour configurer votre supervision s'affiche. Cliquez sur Create un new host.
Il est conseillé de créer un fichier cfg par hôte. Celui-ci se nommera serverlamp.cfg et sera situé dans /etc/naemon/conf.d. Ensuite, il faut saisir le nom d'hôte, l'alias, l'adresse IP, les host_group séparés par une virgule et le contact_group. Le groupe host-pnp permet l'utilisation des graphes de performances avec PNP4nagios.
Une fois l'hôte créé, il faut lui ajouter des services. Pour ma part, j'utilise le clonage de service. Il y a peut-être des solutions plus simples, n'hésitez pas à m'en faire part. Tout d'abord, cliquez sur Services, puis sélectionnez un service existant.
Une fois le service sélectionné, cliquez sur Clone this service.
Dans un souci de cohérence avec l'hôte, modifiez le fichier de configuration et indiquez le nom du précédent serverlamp.cfg. Changez le host_name. Appliquez la nouvelle configuration. Répétez l'opération autant de fois qu'il est nécessaire.
Lorsqu'un service est utilisé pour plusieurs hôtes, vous obtiendrez la fenêtre suivante. Il faudra choisir l'hôte après avoir sélectionné le service.
Une fois votre nouvel hôte configuré, vous devez appliquer la configuration. Cliquez sur le menu Apply.
Vous avez la possibilité de vérifier les modifications avant de faire la sauvegarde des fichiers. cliquez sur le bouton view diff of changed files
Dès que vous avez cliqué sur le bouton Save your changes to disk, vous obtenez cette fenêtre.
Vous pouvez vérifier la cohérence de votre configuration avant application en cliquant sur check your configuration changes
Pour appliquez la configuration, il faut cliquer sur reload your monitoring core.
Après quelques minutes, vous obtiendrez ceci.
3.2 Configuration Glpi
Nous avons besoin, pour la gestion des tickets, d'installer l'agent fusioninventory sur notre serveur Web. Connectez-vous en mode console sur notre serveur et installons le paquet fusioninventory-agent.
apt-get install fusioninventory-agent
Modifions le fichier de configuration pour communiquez avec le serveur GLPI.
vi /etc/fusioninventory/agent.cfg
Editez la ligne suivante en remplaçant l'adresse du serveur.
server = http://172.16.209.209/glpi/plugins/fusioninventory/
Forcez l'agent à communiquer avec le serveur GLPI en lançant cette commande :
fusioninventory-agent
Retournez sur l'interface GLPI, sélectionnez le menu Inventaire / Ordinateurs, vous devriez voir votre serveur.
Pour conclure, NaemonBox est encore jeune mais c'est une alternative à Nagios. Elle est complète et pourrait servir dans une petite structure. J'ai trouvé l'édition de la configuration moins intuitive que celle de Centreon. Je félicite Mark pour cette initiative et je ne manquerais pas de vous donner des nouvelles de ces futures versions.