[PoC] installation de Nagios pour superviser une application HTTP avec docker

Ressources utilisé :

Superviser un hôte Linux via NRPE

https://blog.nicolargo.com/2007/10/surveiller-vos-serveurs-linux-avec-nagios-et-nrpe.html

[Tuto] Nagios: Introduction au fichiers de configurations de Nagios


http://blog.nicolargo.com/wp-content/uploads/2011/03/ebook-nicolargo-nagios-v1.0.pdf

http://djibril.developpez.com/tutoriels/perl/ecrire-facilement-plugin-nagios-perl/

1. Pré-requis

1.1 Script bash qui démare un container nagios superviseur :

1.2 un autre container qui contiens votre application http

1.3 Commande docker pour connaitre les ip :
docker network inspect bridge | jq

2. Mise en place de l’environnement

2.1 Pour chaque container docker supervisé, il faut installé un serveur NRPE :
apt-get install nagios-nrpe-server

2.1.1 Configurer pour autorisé a se connecter à notre serveur nagios de supervision
nano /etc/nagios/nrpe.cfg

2.1.2 Si iptable est installé, autorisé les requete NRPE

iptables -A INPUT -p tcp --dport 5666 -j ACCEPT

2.1.3 Automatisé le démarrage de NRPE :

update-rc.d nagios-nrpe-server defaults

2.1.3 redémaré le service
service nagios-nrpe-server restart

2.1.4 Pour vérifier que cela fonctionne, connecter vous sur le container <nagios>

3. Exécuter une commande de supervision

3.1 sur le container supervisé, créer une nouvelle commande en éditant le fichier nrpe.cfg

vim /etc/nagios/nrpe.cfg

3.2 En dessous des commandes déjà existantes, ajouté :

command[check_home]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /home

Ici, le statue du service que nous allons créer plus tard sera en WARNING (-w), s’il reste moins de 20% (20) d’espace disque disponible et le statue sera CRITICAL (-c) s’il reste moins de 10% (10) d’espace libre.

3.3 Redémarer pour que la nouvelle commande soit prise en compte :
service nagios-nrpe-server restart

3.4 Executer la commande depuis le container nagios

 

4. Superviser plusieurs containers

4.1 Dans le container nagios :

Dans le dossier objects nous allons créer un dossier linux_servers, c’est dans ce dossier que nous allons configurer toutes nos machines linux à superviser.
Puis nous allons éditer le fichier nagios.cfg se trouvant dans $NAGIOS_HOME/etc et nous allons donc rajouter la ligne:

 

Commenter la ligne qui surveille le serveur locale :

 

Maintenant dans le dossier linux_servers, nous allons créer trois fichiers:
linux_hosts.cfg, linux_hostgroups.cfg et linux_services.cfg

 

linux_hosts.cfg

 

linux_hostgroups.cfg

linux_services.cfg