Posts made in décembre, 2017

[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

Mettre en place un environement de dev pour rust

Installer rust et les outils tiers curl https://sh.rustup.rs -sSf | sh installer les sources rustup component add rust-src Installer racer pour l’autocompletion cargo install racer installer raincorn pour le parsing cargo install --git https://github.com/RustDT/Rainicorn --tag version_1.x rustfmt pour le formattage Shell [crayon-65f94679227d6356061759 lang="sh" decode="true" inline="1" ]cargo install rustfmt-nightly 1 [crayon-65f94679227d6356061759   lang="sh" decode="true" inline="1"  ]cargo install rustfmt-nightly [/crayon] Configurer eclipse :   Directory : ~/.cargo rust src directory : $(rustc --print sysroot)/lib/rustlib/src/rust/src Racer : ~/.cargo/bin/racer...

Read More