Catégories
Nagios Open-source Planet-libre Reseau

Détection des attaques DDOS avec Nagios

Les attaques DDOS sont sous le feu de la rampe (et des médias) depuis l’affaire Wikileaks.

C’est une attaque assez difficile à détecter car contrairement à des attaques plus « classiques », elle se base sur le fait d’inonder la machine cible de requêtes venant d’un nombre important de machines zombies (c’est à dire infecté par un programme qui va lancer une attaque).

Nous allons dans ce billet voir comment utiliser Nagios pour envoyer des alertes en cas de détection d’une attaque de type DDOS SYN Flood.

Pour cela j’ai développé (sous licnce GPL v3) un plugin Nagios disponible à l’adresse suivante:

https://raw.github.com/nicolargo/nagiosautoinstall/master/check_ddos.pl

Installation du script

Il faut disposer d’un serveur Nagios correctement configuré. Puis exécuter les commandes suivantes:

cd /usr/local/nagios/libexec

sudo rm -f check_ddos.pl

wget https://raw.github.com/nicolargo/nagiosautoinstall/master/check_ddos.pl

chmod a+rx check_ddos.pl

sudo chown nagios:nagios check_ddos.pl

Test du script:

./check_ddos.pl -w 50 -c 60

No DDOS attack detected (5/50)

Configuration de Nagios

Pour ajouter un service de détection DDOS SYN Flood sur la machine locale (en clair pour vérifier les attaques DDOS vers le serveur hébergeant Nagios), il faut dans un premier temps éditer le fichier commands.cfg (par défaut dans le répertoire /usr/local/nagios/etc/objects) pour ajouter la nouvelle commande de detection DDOS SYN Flood:

# check_ddos

define command{

command_name check_ddos

command_line $USER1$/check_ddos.pl -w $ARG1$ -c $ARG2$

}

Puis il faut éditer le fichier localhost.cfg (qui se trouve également dans le répertoire /usr/local/nagios/etc/objects):

# Define a DDOS SYN Flood detection service

# http://blog.nicolargo.com/?p=4100

# Warning: >50 SYN_RECV

# Critical: >70 SYN_RECV

define service{

use local-service

host_name bilbo

service_description DDOS SYN Flood detect

check_command check_ddos!50!70

}

Nous venons ainsi de définir un service qui va émettre une alerte Warning quand le serveur aura plus de 50 connexions de type SYN_RECV ouvertes (plus de 70 pour une alerte Critical). Ces chiffrent sont bien sur à adapter selon les serveurs…

En bonus, si une alerte est généré, le plugin affiche le TOP 10 des adresses IP des machines zombies (pratique pour les bloquer avec des règles de Firewall Iptables).

Si vous souhaitez surveiller les attaques DDOS SYN Flood sur une autre machine, il faut utiliser le plugin NRPE qui va faire l’interface entre le serveur Nagios et le serveur à superviser.

Sources pour la rédaction de ce billet:

Catégories
Nagios Open-source Planet-libre Reseau

Utiliser Nmap pour générer vos fichiers de configuration Nagios

ATTENTION: Dans sa version actuelle, le script ne marche qu’avec la version 5 de Nmap. Sinon, le fichier .cfg généré risque de rester désespérément vide…

 

Renseigner des fichiers de configuration de Nagios « à la mimine » n’est pas une activité que je juge  passionnante.

Nous allons voir dans ce billet comment utiliser le scanner de réseau Nmap pour nous aider dans cette lourde tache en développant un petit Script Shell nommé nmaptonagios.sh. Pour les plus impatients, vous pouvez directement aller au dernier chapitre de ce billet pour voir comment installer et lancer le script.

Avant de commencer

Le plus simple est de faire cette découverte du réseau directement depuis votre serveur de supervision hébérgeant Nagios. En effet, les éventuels mécanismes de filtrage de votre réseau doivent déjà permettre a  ce serveur de faire des ping et des requêtes TCP/UDP vers l’ensemble des machines (ou alors votre serveur Nagios ne doit pas bien fonctionner…).

Il faut commencer par installer NMap sur cette machine.

Installation de Nmap sous Ubuntu / Debian:

aptitude install nmap

Récupérer la liste des machine « UP » de votre réseau

Dans la suite de ce billet, je prendrai l’exemple d’un adminsitrateur réseau qui veut découvrir les machines  de son LAN qui utilise la plage d’adresse IP suivante: 192.168.1.0/24.

Pour avoir une liste des adresses ou des noms (si vous avez un serveur DNS à jour) des machines répondant aux PING de votre réseau, il suffit de saisir la commande:

nmap -sP 192.168.1.0/24

Si un nom d’hôte est associé à une adresse il est affiché.

Exemple:

Nmap scan report for 192.168.1.104

Host is up (0.0019s latency).

Nmap scan report for labo-desktop2 (192.168.1.109)

Host is up (0.00056s latency).

Cette première commande va nous servir pour générer la boucle principale de notre script.

Détection des OS

Pour générer dans la configuration de Nagios une description des hôtes contenant l’OS, nous allons utiliser l’option -O de nmap:

nmap -O 192.168.1.109

Selon le système d’exploitation la détection se fait de manière plus au moins simple.

3 lignes sont intéressantes dans le rapport généré par l’option -O:

OS Detail: ***

Running: ***

Service detail: ***

Notre script va donc tester ces variables puis choisir celle qui donne une information la plus précise (sachant que ce test n’est pas fiable à 100%).

Détection des services

On entre dans le vifs du sujet avec la détection des services accessibles sur les machines.

On filtre pour cela les ports TCP ou UDP ouverts (open), puis on vérifie qu’un plugin est disponible dans le répertoire /usr/lib/nagios/plugins (il est possible de changer ce répertoire en modifiant la variable NAGIOS_PLUGINS_PATH au début du script).

Par exemple, si le script détecte que le port TCP/80 (http) est open, alors il va rechercher le plugin /usr/lib/nagios/plugins/check_http et configurer le service correspondant. Si il ne le trouve pas il va se rabattre sur un check_tcp simple sur le port 80.

On utilise la commande nmap suivante:

nmap -sV 192.168.1.109

Installation et utilisation du script nmaptonagios.pl

On commence par récupérer le script:

wget https://raw.github.com/nicolargo/nagiosautoinstall/master/nmaptonagios.sh

chmod a+x ./nmaptonagios.sh

Puis on l’exécute:

sudo ./nmaptonagios.sh 192.168.1.0/24

—————————————————————

Nagios configuration file: /tmp/nmaptonagios-20101124095216.cfg

—————————————————————

A la fin du script, on a un fichier de configuration de Nagios à éditer et à adapter à vos besoins:

vi /tmp/nmaptonagios-20101124095216.cfg

Pour faire prendre en compte ce fichier par Nagios, il suffit de le copier dans le répertoire /usr/local/nagios/etc/objects:

sudo cp /tmp/nmaptonagios-20101124095216.cfg /usr/local/nagios/etc/objects

sudo chown nagios:nagios /usr/local/nagios/etc/objects/nmaptonagios-20101124095216.cfg

Puis de relancer nagios:

sudo service nagios restart

Le script est distribué sous licence GPL v2. Libre à vous de l’adapter, modifier, copier et distribuer !

Catégories
Nagios Open-source Planet-libre Web

Notification Twitter (oAuth) dans Nagios

Twitter est un service devenu indispensable pour la veille technologique des geeks que nous sommes. Son « ouverture via des API permet également de l’utiliser comme un moyen simple de diffusion d’informations de type alerte.

Nous allons dans ce billet voir comment configurer Nagios (l’outil de supervision open-source) pour envoyer des alertes sur un compte Twitter dédié. La méthode détaillé est compatible avec la nouvelle méthode d’authentification de Twitter nommée oAuth.

Avant de commencer

Pour ne pas poluer votre time-line pricipale, je vous conseille de créer un compte Twitter dédié à ce besoin. C’est sur ce dernier que les alertes seront envoyées. Il suffira ensuite aux « administateurs » de suivre ce compte Twitter pour être informé au plus vite des anomalies survenues sur le réseau.

Pour créer notre compte Twitter special Nagios, on va à l’adresse suivante:

Il faut bien retenir votre « username » (nagiosnicolargo dans mon cas) et « password ».

Il faut ensuite se rendre dans les « Settings » et cliquer sur le bouton « Protect my updates » pour forcer l’approbation des utilisateurs qui vont pouvoir suivre ce compte Twitter. Quand un des administrateurs fera une demande pour suivre ce compte Twitter, il faudra l’approuver. Cela évite que n’importe qui voit que votre réseau est tombé :)…

Installation du script de mise à jour de Twitter

Depuis que l’authentification sur Twitter, la procédure est un peu plus compliquée. J’ai donc écrit un billet spécifique sur le sujet. Il suffit de suivre cette procédure en prenant comme compte Twitter le compte préalablement créé dans le chapitre précédant pour y associer une nouvelle application (le script Python nommé tweetitcli.py) qui va permettre à Nagios de mettre à jour la timeline.

Après cette étape, vous devez donc être capable de mettre à jour la timeline de votre compte Twitter dédié avec une ligne de commande du type:

./tweetitcli.py ‘Petit test depuis la ligne de commande Linux’

Je vous laisse vérifier que cela marche…

Il faut ensuite copier le script en question dans le répertoire des plugins de Nagios:

cp ./tweetitcli.py /usr/local/nagios/libexec/

sudo chown nagios:nagios /usr/local/nagios/libexec/tweetitcli.py

Configuration du serveur Nagios

Passons maintenant aux fichiers de configuration de Nagios. Je pars sur le principe que vous avez un serveur Nagios en état de marche. On commence par ajouter la commande tweetitcli.py qui va permettre d’envoyer un message à notre compte Twitter via Curl:

# vi /usr/local/nagios/etc/objects/commands.cfg

define command{
command_name    notify-host-by-twitter
command_line    $USER1$/tweetitcli.py « $HOSTNAME$ is $HOSTSTATE$ »
}
define command{
command_name    notify-service-by-twitter
command_line    $USER1$/tweetitcli.py « $SERVICEDESC$@$HOSTNAME$ is $SERVICESTATE$ ** $SERVICEOUTPUT$ »
}


Ensuite on défini le contact (ou le groupe à vous de voir):

# vi /usr/local/nagios/etc/objects/templates.cfg

define contact{
name  nicolargoadmin 
alias Admin Nicolargo
service_notification_period     24×7                    
host_notification_period        24×7                    
service_notification_options    w,u,c,r,f,s             
host_notification_options       d,u,r,f,s            
service_notification_commands   notify-service-by-twitter
host_notification_commands      notify-host-by-twitter
}

Puis enfin on associe le contact avec le service à surveiller (par exemple que mon serveur Web tourne bien…):

define host{
use                     linux-host
host_name               gandiserveur
alias                   Serveur Gandi
address                 blog.nicolargo.com
parents                 monrouteur
hostgroups              prj-perso
contacts                nicolargoadmin
}
define service{
use                     generic-service
host_name               gandiserveur
service_description     HTTP
check_command           check_http
contacts                nicolargoadmin
}

On teste…

Il ne reste plus qu’a tester vos fichiers de configuration:

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

et à relancer Nagios:

sudo service nagios restart

A chaque notification, un nouveau message devrait apparaître dans votre compte Twitter dédié 😉

Catégories
Nagios Open-source Planet-libre Web

Twitter en ligne de commande (même avec oAuth)

Il y a quelque temps, j’avais écrit un billet sur comment envoyer les alertes de votre serveur Nagios sur un compte Twitter (ou comment réunir les SI et le Web 2.0). Malheureusement, depuis cette date,  Twitter a changé la méthode d’authentification pour poster des tweets. Ce n’est plus une authentification HTTP classique (qui pouvait donc être facilement faite en ligne de commande avec curl par exemple) mais une authentification oAuth, beaucoup plus souple mais nettement plus complexe.

Nous allons donc dans ce nouveau billet voir comment mettre en place l’authentification oAuth pour un script Python qui permettra à partir d’une simple ligne de commande de mettre à jour une timeline Twitter.

A vos fourneaux !

Les ingrédients…

Pour suivre cette recette il faut:

  • un compte Twitter
  • la librairie Python python-tweepy
  • un navigateur Web (pour enregistrer votre application)

Installation de Python-tweepy

Cette librairie Python va vous permettre de parler oAuth avec le serveur Twitter. Il existe un PPA pour Ubuntu (pour les autres distribution GNU/Linux, il faut installer la bête en suivant ces instructions):

sudo add-apt-repository ppa:chris-lea/python-tweepy

sudo aptitude update && sudo aptitude install python-tweepy

Update: Sous Debian la procédure à suivre est la suivante (merci Benjamin):

apt-get install python python-setuptools python-json python-twitter

wget http://pypi.python.org/packages/source/t/tweepy/tweepy-1.7.1.tar.gz

tar xvfz tweepy-1.7.1.tar.gz

cd tweepy-1.7.1

python ./setup.py install

Enregistrement de votre script

C’est la première étape: déclarer votre application (votre script) sur le serveur Twitter. Dans la suite de ce billet je vais procéder à l’enregistrement d’une application qui s’appellera ‘tweetit’ (c’est le nom de mon script en ligne de commande qui permettra de mettre à jour ma Timeline).

Pour cela, il faut se rendre à l’URL suivante: http://twitter.com/oauth_clients

Puis cliquer sur Register a new application »

On saisie ensuite le formulaire:

Une fois le formulaire validée, vous devriez être redirigé vers une page contenant deux informations importantes: Consumer key (la clés) et Consumer secret (le mot de passe) de votre application.

Il faut bien sur mettre ces informations de coté.

Connecter votre script à votre compte Twitter

Nous allons utiliser la librairie python-tweepy pour faire cette étape qui ne devra être faite qu’une seule fois lors du développement de votre application.

Le plus simple est de reprendre le script écrit par Jeff Miller sur son blog. On va donc créer un script nommé tweetit-register.py contenant le code suivant (remplacer les codes):

#!/usr/bin/env python

import tweepy

CONSUMER_KEY = ‘VOTRE CODE CONSUMER KEY’

CONSUMER_SECRET = ‘VOTRE CODE CONSUMER SECRET’

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)

auth_url = auth.get_authorization_url()

print ‘Please authorize: ‘ + auth_url

verifier = raw_input(‘PIN: ‘).strip()

auth.get_access_token(verifier)

print « ACCESS_KEY = ‘%s' » % auth.access_token.key

print « ACCESS_SECRET = ‘%s' » % auth.access_token.secret

On exécute le script:

chmod a+x tweetit-register.py

./tweetit-register.py

Le script va vous afficher une URL  et attendre un code PIN:


Please authorize: http://twitter.com/oauth/authorize?oauth_token=Ndddb0DBsjd6PNYccSEtl8vtdYkNsPRCk5joO7djqO8

PIN:

On copie l’URL dans un navigateur Web:

On récupère ensuite le code PIN que l’on entre dans notre terminal:

PIN: 0665141

On obtient en retour la clés et le mot de passe d’accès :

ACCESS_KEY = ‘7707822-TWzha9rf3icVF1h0FhGnaK5q7iLyNIRzHXDY8aagt4’

ACCESS_SECRET = ‘3dbTcWkU1LIYG4MtwmraausjaoSne5coGbXKOXhDfG0’

Création du script

Voilà (enfin), on peut développer notre application (tweetit.py):

#!/usr/bin/env python


import sys

import tweepy


# Authentification oAuth

CONSUMER_KEY = ‘Consumer Key’

CONSUMER_SECRET = ‘Consumer Secret’

ACCESS_KEY = ‘Access Key’

ACCESS_SECRET = ‘Access Secret’

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)

auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)

api = tweepy.API(auth)


# Main program

api.update_status(sys.argv[1])

On rend le script executable:

chmod a+x tweetit.py

Test de l’application

On lance le script avec le texte à tweeter:

./tweetitcli.py ‘Petit test depuis la ligne de commande Linux…’

Et voilà le travail:

Et voila, bientôt un prochain billet pour voir comment intégrer ce nouveau script à Nagios 🙂

Source pour la rédaction de cet article:

Catégories
Nagios Open-source Planet-libre

Nagios Core 3.2.3 est disponible, les scripts de Nicolargo aussi !

Nagios vient de mettre à jour le coeur de son système de supervision en passante en version 3.2.3 avec quelques corrections de bugs au programme.

En parallèle j’ai modifié les scripts d’installation et de mise à jour de Nagios pour qu’il prenne en compte cette nouvelle version.

Si vous avez suivi mon tutoriel d’installation de Nagios (ou que vous avez utilisé le script), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:

rm -f nagiosautoupdate-ubuntu.sh

wget https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoupdate-ubuntu.sh

chmod a+x nagiosautoupdate-ubuntu.sh

sudo ./nagiosautoupdate-ubuntu.sh

Attention: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.

Et hop !

Catégories
Blog Nagios Open-source Planet-libre

Le forum de Nicolargo n’est plus. Mais…

En janvier 2009, j’avais lancé le forum de Nicolargo. Un forum pour les lecteurs de ce blog, un lieu virtuel pour continuer les discussions engagées dans les commentaires. Suite au hack de mon serveur, je me suis posé la question de l’avenir de ce site.

Au fil du temps ce forum est devenu un lieu d’échange vivant et actif, notamment grâce à la contribution de certains lecteurs (ils se reconnaîtront). Cependant, les discussions se sont trop focalisées, à mon gout, sur le petit monde de la supervision système et réseau. Or le Blog de Nicolargo n’est pas un blog sur Nagios. Je publie d’ailleurs de moins en moins de billet sur ce sujet.

A partir de ces constatations, j’ai décidé de fermer le forum (c’est à dire de ne pas le ré-ouvrir).

Cependant tout n’est pas perdu, je suis en entré en contact avec Romuald, administrateur du forum Monitoring-Fr. Dès son retour de congés (octobre 2010), il s’occupera d’importer dans ce forum tout les utilisateurs et discussions du forum de Nicolargo. Ainsi rien de vos discussions ne sera perdu !

De mon coté, je vais me focaliser sur le blog qui me prend déjà beaucoup (trop ?) de temps.

Catégories
Nagios Open-source Planet-libre

Installation et configuration de Pnp4Nagios en « mode bulk »

Hier, j’ai installé un nouveau serveur Nagios en utilisant mon script automatique. J’ai ensuite voulu lui ajouter Pnp4Nagios, le plugin permettant de générer des graphes sur les hosts et services surveillés par Nagios. Malheureusement, la procédure que j’avais écrite à l’époque pour la version 0.4.x de Pnp4Nagios n’est plus valable pour la version 0.6.x.

Voici donc un billet permettant l’installation de Pnp4Nagios 0.6.6 (dernière version disponible aujourd’hui) sur un serveur Nagios opérationnel (procédure validée pour Nagios 3.2.2).

Installation de pré-requis système

Sous un serveur « Debian like », il faut installer les librairies suivantes:

sudo aptitude install rrdtool librrds-perl php5-gd

On doit avant l’installation configurer une variable posant problème dans le module PHP d’apache en éditant le fichier /etc/php5/apache2/php.ini:

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = Off

Compilation de Pnp4Nagios

On récupère l’archive de la version 0.6.6 puis on lance la configuration:

wget https://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.6.tar.gz

tar zxvf pnp4nagios-0.6.6.tar.gz

cd pnp4nagios-0.6.6

./configure

On doit obtenir le résumé suivant (si ce n’est pas le cas, il doit y avoir d’autres dépendances système à installer):

General Options:

————————- ——————-

Nagios user/group: nagios nagios

Install directory: /usr/local/pnp4nagios

HTML Dir: /usr/local/pnp4nagios/share

Config Dir: /usr/local/pnp4nagios/etc

Location of rrdtool binary: /usr/bin/rrdtool Version 1.3.1

RRDs Perl Modules: FOUND (Version 1.3001)

RRD Files stored in: /usr/local/pnp4nagios/var/perfdata

process_perfdata.pl Logfile: /usr/local/pnp4nagios/var/perfdata.log

Perfdata files (NPCD) stored in: /usr/local/pnp4nagios/var/spool

Web Interface Options: ————————- ——————-

HTML URL: http://localhost/pnp4nagios

Apache Config File: /etc/apache2/conf.d/pnp4nagios.conf

Puis on compile/installe:

make all

sudo make install

sudo make install-webconf

sudo make install-config

sudo /etc/init.d/apache2 restart

Configuration de Nagios pour prendre en compte Pnp4Nagios

On commence par éditer le fichier /usr/local/nagios/etc/nagios.cfg:

process_performance_data=1

service_perfdata_file=/usr/local/nagios/var/service-perfdata

service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNA

ME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\t

SERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYP

E::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTAT

ETYPE$

service_perfdata_file_mode=a

service_perfdata_file_processing_interval=15

service_perfdata_file_processing_command=process-service-perfdata-file

host_perfdata_file=/usr/local/nagios/var/host-perfdata

host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$H

OSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHO

STSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

host_perfdata_file_mode=a

host_perfdata_file_processing_interval=15

host_perfdata_file_processing_command=process-host-perfdata-file

Puis on prends en compte le répertoire des plugins Pnp4Nagios en ajoutant la ligne suivante (à adapté si USER2 est déjà configuré) dans le fichier /usr/local/nagios/etc/objects/resource.cfg:

# Sets $USER2$ to be the path to the PNP4Nagios plugins

$USER2$=/usr/local/pnp4nagios/libexec

Enfin on configure le plugin dans le fichier /usr/local/nagios/etc/objects/commands.cfg (attention il y à deux – avant le bulk… Wodpress n’en affiche qu’un…):

# PNP4nagios

define command{

command_name process-service-perfdata-file

command_line $USER2$/process_perfdata.pl –bulk=/usr/local/nagios/var/service-perfdata

}

define command{

command_name process-host-perfdata-file

command_line $USER2$/process_perfdata.pl –bulk=/usr/local/nagios/var/host-perfdata

}

On relance enfin Nagios pour prendre en compte la configuration:

sudo /etc/init.d/nagios restart

Configuration de Pnp4Nagios

La configuration se fait en accèdant à l’URL suivante: http://monserveurweb.com/pnp4nagios/

Le script install.php devrait être executé. Il fait un check de votre configuration. Si tout est vert, tout est ok 🙂

Dans ce cas, il est prudent de supprimer ce script:

sudo rm /usr/local/pnp4nagios/share/install.php

Utilisation de Pnp4Nagios

On accède à Pnp4Nagios à partir de la même URL: http://monserveurweb.com/pnp4nagios/

Après quelques minutes, les graphes devrait se mettre à jour.

Que faire en cas de problème ?

Pnp4Nagios fourni un outil pour investiguer les erreurs éventuelles de configuration. Il suffit de lancer la commande suivante:

/usr/local/pnp4nagios/libexec/verify_pnp_config.pl -e -m bulk

Et voili, que les graphes soient !

Catégories
Nagios Open-source Reseau

Nagios 3.2.2 est disponible, les scripts Nicolargo aussi !

C’est la rentrée des classes dans le mini-monde de la supervision: en bon élève Nagios sort une nouvelle version de son coeur (Nagios Core 3.2.2). Pour une liste complète des nouveautés et corrections de bugs, je vous conseille la lecture de cette page.

En parallèle j’ai modifié les scripts d’installation et de mise à jour de Nagios pour qu’il prenne en compte cette nouvelle version.

Si vous avez suivi mon tutoriel d’installation de Nagios (ou que vous avez utilisé le script), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiosautoupdate-ubuntu.sh

chmod a+x nagiosautoupdate-ubuntu.sh

sudo ./nagiosautoupdate-ubuntu.sh

Attention: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.

Et hop !

Catégories
Nagios Open-source

Nouvelle version 1.4.15 pour les plugins Nagios

Nagios plugins

Nagios, l’outil de supervision libre, se base sur un système de plugin pour surveiller les éléments de votre réseau. Une nouvelle version (1.4.15) vient d’être mise à disposition (voir la liste des nouveautés ici).

Pour mettre à jour votre serveur, deux solutions:

Dans ce deuxième cas, il faut suivre les étapes suivantes:

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

[shell]

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh

chmod a+x nagiospluginsautoupdate-ubuntu.sh

[/shell]

PS: vous pouvez télécharger le script directement par l’URL suivante:

http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiospluginsautoupdate-ubuntu.sh

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système:

[shell]
sudo ./nagiospluginsautoupdate-ubuntu.sh
[/shell]

Et si la mise à jour se passe mal ?

Le script archive la configuration n-1, il suffit donc d’ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l’ancienne version:

[shell]
cd /
sudo tar zxvf /tmp/nagiosplugins-backup.tgz
[/shell]

Informations sur la mise à jour

Si tout est ok, le message suivant devrait s’afficher:

Nagios Plugins version   1.4.15

Bonne upgrade !

Catégories
Developpement Nagios Open-source Reseau Systeme

Script de mise à jour automatique de Nagios

Aprés l’installation automatique, voici un nouveau script shell « maison » permettant de mettre simplement à jour votre serveur Nagios (core et plugins inclus).

Ce script est une synthése des articles « Comment mettre à jour son serveur Nagios ? » et « Mise à jour des plugins Nagios« . Il ne doit être utilisé que si vous avez installé Nagios à partir de cette procédure ou de ce script d’installation automatique.

Le script est distribué sous licence GPL. Libre à vous de le modifier pour l’adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l’adapter à d’autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon serveur.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

cd /tmp
wget --no-check-certificate https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoupdate.py
chmod a+x nagiosautoupdate.py

PS: vous pouvez télécharger le script directement par l’URL suivante (GitHub).

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

./nagiosautoupdate.py

Et si la mise à jour se passe mal ?

Le script archive la configuration n-1, il suffit donc d’ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l’ancienne version (en root ou précédé de la commande sudo):

cd /
tar zxvf /tmp/nagios-backup.tgz
chown -R nagios:nagios /usr/local/nagios

Informations sur la mise à jour

Dans la version 0.9 du script la mise à jour se fera vers:

Nagios Core version      4.0.0
Nagios Plugins version   1.5
NRPE version             2.15