[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 : Shell #!/bin/bash docker pull jasonrivers/nagios:latest docker run --name nagios4 \ -v /home/morgan/dev/docker/nagios/data/etc/:/opt/nagios/etc/ \ -v /home/morgan/dev/docker/nagios/data/var:/opt/nagios/var/ \ -v /home/morgan/dev/docker/nagios/data/custom-plugins:/opt/Custom-Nagios-Plugins \ -p 80:80 jasonrivers/nagios:latest 12345678 #!/bin/bashdocker pull jasonrivers/nagios:latest docker run --name nagios4 \-v /home/morgan/dev/docker/nagios/data/etc/:/opt/nagios/etc/ \-v /home/morgan/dev/docker/nagios/data/var:/opt/nagios/var/ \-v /home/morgan/dev/docker/nagios/data/custom-plugins:/opt/Custom-Nagios-Plugins \-p 80:80 jasonrivers/nagios:latest 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 Shell allowed_hosts=&lt;ip du container nagios&gt; 1 allowed_hosts=&lt;ip du container nagios&gt; 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> Shell cd $NAGIOS_HOME ./check_nrpe -H <ip_container a supervisé> 12 cd $NAGIOS_HOME./check_nrpe -H <ip_container a supervisé> 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 Shell cd $NAGIOS_HOME ./check_nrpe -H <ip_container a supervisé> -c check_home 12 cd $NAGIOS_HOME./check_nrpe -H <ip_container a supervisé> -c check_home   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: Shell #Dossier serveurs Linux cfg_dir=/opt/nagios/etc/objects/linux_servers 12 #Dossier serveurs Linuxcfg_dir=/opt/nagios/etc/objects/linux_servers   Commenter la ligne qui surveille le serveur locale : Shell # Definitions for monitoring the local...

Read More

Activer le partage de fichiers entre windows et les containers dockers

Si vous aussi, lorsque vous voulez activé le partage de fichier, vous avez ce message : A firewall is blocking file Sharing between Windows and the containers Pour résoudre le problème j’ai du faire deux choses : 1 : Ajouter le réseau docker aux réseaux privée Dans powershell : Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private 2 : désactivé / réactivé le partage des imprimantes Allé dans le panneau de configuration -> réseau et internet -> centre de réseau et partage cliquer sur le réseau docker : vEthernet (docketNat) puis sur propriété et enfin décochez puis recoché :  le partage de fichier et imprimante sur le réseaux microsoft   Maintenant vous devriez être capable de faire du montage de fichier entre windows et les containers docker...

Read More