Catégories
Open-source Reseau

Surveiller vos serveurs Linux avec Nagios et NRPE

Suite à l’introduction sur les greffons Nagios, voici une simple procédure pour mettre en place le monitoring de serveurs sous Linux (voir ce billet pour des serveurs BSD ou Mac OS X) à partir de Nagios en utilisant le plugin NRPE.

Sur votre serveur Nagios…

… il faut installer le plugin NRPE. Pour cela, le plus simple est de faire confiance à votre gestionnaire de paquets.

Sous Fedora, la commande suivante devrait suffire:

# sudo yum install nagios-plugins-nrpe

Sous Ubuntu/Debian:

# sudo apt-get install nagios-nrpe-plugin

Il faut également vérifier que la définition du plugin est bien présente dans le fichier de configuration des commandes (commands.cfg):


######
# NRPE
######

# ‘check_nrpe’ command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Sur votre serveur Linux à surveiller...

La procédure est un peu plus longue. Il faut d’abord installer le daemon NRPE et les plugins Nagios (qui vont être lancés localement par le daemon NRPE):

Sous Fedora:

# sudo yum install nrpe
# sudo yum install nagios-plugins-all

Sous Ubuntu/Debien:

# sudo apt-get install nagios-nrpe-server
# sudo apt-get install nagios-plugins

Puis éditer le fichier /etc/nagios/nrpe.cfg pour modifier la ligne suivante:


allowed_hosts = Mettre ici l’adresse IP de votre serveur Nagios

On automatise le lancement du daemon au démarrage du serveur avec la commande:

# chkconfig –add nrpe

On ajoute une règle pour autoriser le Firewall IPtable à laisser passer les requêtes NRPE (à adapter selon vos règles):

# iptables -I RH-Firewall-1-INPUT 10 -p tcp –dport 5666 -j ACCEPT
Attention il faut mettre deux – (- -) avant l’option dport

Il ne reste plus qu’à lancer le daemon:

Sous Fedora:

# service nrpe start

Sous Ubuntu/Debien:

# /etc/init.d/nagios-nrpe-server start

On teste la communication…

Pour tester que la communication entre le serveur Nagios et le serveur à surveiller se passe bien, il suffit de se rendre dans le répertoire des plugins (/usr/lib/nagios/plugins) de Nagios et de tester le plugin NRPE:

# ./check_nrpe -H Adresse_IP_du_serveur_Linux
NRPE v2.7

Si tout est OK, cette commande devrait renvoyer la version du daemon NRPE.

Vous pouvez tester directement les plugins avec la commande suivante (exemple donnée pour un check de la charge):

# ./check_nrpe -H Adresse_IP_du_serveur_Linux -c check_load

On configure Nagios…

La dernière étape consiste à modifier les fichiers de configuration de Nagios pour intégrer le monitoring du/des serveur Linux. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Linux:

define host {
use generic-host
host_name linus
alias Ma machine Linux
address 192.168.0.7
}

Puis ajouter les services offerts par NRPE (dans le fichier services.cfg), quelques exemples:

# Charge CPU
define service{
use generic-service
host_name remotehost
service_description CPU Load
check_command check_nrpe!check_load
}

# Memoire
define service{
use generic-service
host_name remotehost
service_description Memory
check_command check_nrpe!check_mem
}

Pour ajouter des nouveaux plugins executable par NRPE, il faut éditer le fichier /etc/nagios/nrpe.cfg et ajouter une ligne par service:


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

Ne pas oublier de relancer le daemon quand on change le fichier de configuration (nrpe.cfg):

# service nrpe restart

Il est bien entendu possible d’écrire son propre plugin Nagios et de le faire exécuter par NRPE.

Catégories
Systeme

Mes widgets du moment

comme moi, les nouveaux utilisateurs Mac ont du être impressionnés par la gestion des widgets dans Mac OS X. En effet, ces derniers s’intègrent parfaitement au système et apportent un plus non négligeable aux applications.

Etant curieux de nature, j’essaye un bon nombre des widgets que je peux trouver sur la toile. Malgré cela il faut bien avuer que la grande majorité ne reste pas bien longtemps derrière mon F12… Voici donc mon bureau widgets du moment:

On peut y trouver:

  • Widget Refurb Apple: pour dénicher de bonnes affaires sur le site refurb d’Apple
  • Photo Drop: pour facilement créer un effet d’ombre autour d’une image par simple copier/coller
  • AccuWeather: la méteo à 5 jours
  • DashAnalytics: les statistiques de mon blog en live (depuis Google Analytics)
  • Wifi Widget: un détecteur d' »hotspots » Wifi
  • MAMP widget: un petit plugin inclue dans le package MAMP pour lancer un serveur apache/php et mysql
  • iStat pro: LE widget pour avoir des informations sur votre Mac

Et vous, quels sont vos plugins indispensables à vos yeux ? Partager vos expériences, le blog est fait pour ça 😉

Catégories
Blog Web

Blog Action Day – Deux sites

Bloggers Unite - Blog Action Day
Et oui, après des mois d’attente, c’est enfin le jour J pour le Blog Action Day. Ma modeste participation à cette grande journée pour la planète et la blogosphére se fera par la présentation de deux sites originaux.

Blackle

Ce site est un « hook » de Google. Il propose de remplacer le fameux fond blanc de la page de recherche de Google par un fond noir moins consommateur d’électricité. En effet, les créateurs de ce site parte sur le principe que nos chers écrans consomme plus d’énergie pour afficher un pixel blanc qu’un pixel noir. Je laisse les spécialiste débattre de la question mais je trouve quand même l’idée simple et originale.

A l’heure actuelle plus de 240.000 KWatts ont été économisés.

KlaxonneMoi

J’habite dans le sud est de la France, dans cette belle région qu’est la Cote d’Azur. Je vois de plus en plus de personnes roulant en ville avec des gros 4×4 (pas des Panda ;)). Je ne sais pas vous mais moi cela me met hors de moi.

Le site KlaxonneMoi propose donc un concept intéressan: une lute acharné avec comme arme votre Klaxon ! Il est même possible de commander des autocollants à mettre sur ces 4×4 que vous voyez en ville.

Klaxonnemoi

Catégories
Open-source Reseau

Installation de Centreon sous Ubuntu

Ce billet est obsolète. Si vous souhaitez accéder à la dernière version du tutoriel pour
« Installer Nagios 3 avec Centreon 2 » alors cliquez ici.

A la demande générale (enfin d’un lecteur…), voici la procédure pour installer Centreon (nouveau nom d’Oreon) sur la distribution Linux Ubuntu. Il y a effectivement quelques différences avec l’installation sous Fedora.

Introduction

Oreon est un logiciel libre permettant d’ajouter une couche applicative au logiciel Nagios. Oreon lui offre une nouvelle interface et lui apporte de nouvelles fonctionnalités. Il va permettre de rendre la configuration de Nagios plus facile et d’avoir une interface graphique améliorée. Les techniciens de leurs côtés auront toujours accès aux informations techniques de Nagios (Source: Wiki Centreon).
Installation du serveur MySQL et ApacheCette étape est optionnelle, vous pouvez utiliser un serveur Apache/MySQL existant. Il faut cependant vérifier que les librairies nécessaires (PHP) sont installées.

# sudo apt-get install apache2 php5

# sudo apt-get install mysql-server

# /etc/init.d/mysql reset-password

# /etc/init.d/mysql restart

# sudo apt-get install php5-mysql php5-gd php5-ldap php5-snmp

# /etc/init.d/apache2 restart

Pre-requis système

Voici une liste de librairies à installer avant Centreon:

# sudo apt-get install rrdtool

# sudo apt-get install librrds-perl

# wget http://security.ubuntu.com/ubuntu/pool/main/n/net-snmp/snmp_5.2.1.2-4ubuntu2.1_i386.deb

# sudo dpkg -i ./snmp_5.2.1.2-4ubuntu2.1_i386.deb

# sudo apt-get install mailx

# sudo apt-get install php-pear

# pear upgrade –force –alldeps PEAR-1.6.2

Installation de Centreon

Vous pouvez voir la dernière version de Centreon à l’adresse suivante: Site officiel de Centreon (download).

# wget http://download.oreon-project.org/index.php?id=65

# tar zxvf centreon-1.4.1.tar.gz# cd centreon-1.4.1/

# bash ./install.sh

Where is installed RRD perl modules (RRDs.pm) ?
Just put directory, not full path.default to [/usr/local/rrdtool/lib/perl]: /usr/lib/perl5

Where is PEAR Path ?default to [/usr/share/pear]:/usr/share/php
PEAR Path /usr/share/php/PEAR.php

Do you want to install Oreon Traps Plugins ?[y/n], default to [y]: n

Configuration de Centreon

Lors de la connexion à votre serveur via l’URL (http://localhost/oreon), vous allez être redirigé vers le wizard d’installation. Il suffit de vérifier pour chacunes des étapes que tout est OK. Pour la DB, vous pouvez utiliser les paramètres suivants si votre DB est locale:

Et voila le travail.Vous pouvez maintenant commencer à utiliser Centreon en vous rendant à l’URL: http://localhost/oreon/.

Catégories
Open-source Reseau

Surveiller vos serveurs Windows avec Nagios

Dans la longue série des billets sur Nagios, en voici un tout spécialement dédié aux lecteurs qui ont à administrer des machines sous Windows. Nous allons décrire l’installation de NSClient, un plugin permettant de récupérer un nombre important de d’informations à surveiller sur une machine Windows.

Comme les plugins NRPE et NSCA (disponible seulement sous Linux et Mac OS X), NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt), doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur chacune des machines Windows à surveiller.

Installation de check_nt

Il y a de forte chance que le plugin check_nt soit installé par défaut sur votre serveur Nagios. Pour le vérifier, il faut se rendre dans le répertoire Nagios ou se trouve vos plugins (/usr/lib/nagios/plugins sur Fedora).

# cd /usr/lib/nagios/plugins
# ls check_nt
check_nt

Si ce n’est pas le cas, il suffit de l’installer grâce aux commandes suivantes:

Fedora:
# sudo yum install nagios-plugins-nt

Ubuntu:
# sudo apt-get install nagios-plugins-nt

Installation de NSClient++

Remarque: cette opération est à faire sur l’ensemble des PC Windows à surveiller.

La première chose à faire est de télécharger la dernière version (0.2.5e ou supérieure) à l’adresse suivante: Sourceforge de NSClient++.

Ensuite il faut:

  • « dézipper » le client dans le répertoire c:\nsclient
  • ouvrir une commande DOS (cmd.exe)
  • puis entrer les commandes suivantes:
    • cd \nsclient
    • nsclient++ /install
  • Ouvrir le gestionnaire des services et vérifier que le service est autorisé à « Interagir avec le bureau »
  • Editer le fichier c:\nsclient\NSC.INI en:
    • décommentant tous les modules listé dans la section [modules] sauf CheckWMI.dll et RemoteConfiguration.dll
    • décommentant la ligne allowed_hosts dans la section [Settings] et en y ajoutant l’adresse du serveur Nagios.
  • puis entrer les commandes suivantes dans votre fenêtres DOS:
    • cd \nsclient
    • nsclient++ /start

Pour tester que l’installation à bien marché, le plus simple est de faire un test depuis le serveur Nagios. Pour cela, il faut:

# cd /usr/lib/nagios/plugins

# ./check_nt -H IPMACHINEWINDOWS -v CLIENTVERSION -p  12489

Si tout ce passe bien, le client doit envoyer la version de NSClient (0.2.5e)

Si cela ne fonctionne pas, il faut peut être vérifier que la requête (TCP sur port 12489) n’est pas bloqué par un Firewall.

Configuration de Nagios pour surveiller vos machines Windows

Une fois le client et le serveur installé, il faut configurer Nagios de la manière suivantes. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Windows:

define host {
use generic-host
host_name billgates
alias Ma machine Win
address 192.168.6.66
}

Puis ajouter les services offerts par NSClient (dans le fichier services.cfg):

# Affiche la version du NSClient
define service {
use generic-service
host_name billgates
service_description VERSION
check_command check_nt!CLIENTVERSION
}

# Temps écoulé depuis le dernier reboot (uptime)
define service {
use generic-service
host_name billgates
service_description UPTIME
check_command check_nt!UPTIME
}

# Charge CPU
# WARNING si charge > 80% pendant plus de 5 minutes
# CRITICAL si charge > 90% pendant plus de 5 minutes
define service {
use generic-service
host_name billgates
service_description CPU
check_command check_nt!CPULOAD!-l 5,80,90
}

# Etat de la mémoire vive libre
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description MEM
check_command check_nt!MEMUSE!-w 80 -c 90
}

# Etat de la mémoire disque libre (sur disque c:)
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description DISK
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Il est également possible de surveiller l’état d’un service (SERVICESTATE) ou d’un processus (PROCSTATE).

Catégories
Blog Web

Blogbang ? Demain j’arrête !

Je suis, comme beaucoup de blogueurs Francophones, utilisateur de la régis publicitaire BlogBang qui à fait parlée d’elle cet été. Je n’avais pour l’instant que peu participé au débat qui a animé la forte baisse des revenues des utilisateurs pour le mois d’août. Ayant communiqué en direct (par mail) avec le personnel de BlogBang, j’avais décidé d’attendre et de voir l’évolution des gains jusqu’à la fin du mois de septembre.

Pour être totalement transparent voici l’évolution des gains net sur mes 4 mois de « bêta testing »:

  • Juillet 2007: 26.27 Euros (pour 30684 insertions)
  • Août: 3.74 Euros (pour 48614 insertions)
  • Septembre: 11.79 Euros (pour 53599 insertions)
  • Octobre: 16.20 Euros (en faisant une extrapolation sur les 8 premiers jours) (pour 67400 insertions)

Ces gains, bien qu’en forte baisse par rapport au mois de juillet, restent quand dans la moyenne des autres régis de type Google ou Linklift.

D’un autre coté, il est vrai qu’au niveau design, l’intégration de cette publicité me pause quelques problèmes. Il n’est pas possible à l’heure actuelle de faire un paramétrage fin de l’affichage.

Je suis donc indécis sur le fait d’abandonner cette régie dont je trouve le concept intéressant… et vous ? où en êtes vous avec BlogBang ?

Catégories
Open-source Reseau

Nagios et les greffons

Nagios est un outil libre de monitoring réseau souvent abordé dans ce blog. A mes yeux, la principale force de ce produit est sa grande modularité qui lui permet de s’adapter aux besoins des utilisateurs. Il est ainsi possible de surveiller un grands nombres de paramètres sur les machines de votre réseau. Nous allons dans ce billet évoquer les différentes méthodes que l’on peut utiliser pour récupérer ces informations.

Le protocole SNMP

C’est LE protocole pour la gestion de réseaux. Basée sur UDP (port 161), ce protocole de communication permet la remontée d’informations stockées dans la table MIB (« Management Information Base ») des machines. SNMP se base sur une architecture client (Nagios) / serveur (la machine à surveiller). Il est donc nécessaire que vos machines soient compatibles SNMP. C’est le cas de la plupart des équipements réseaux de type routeurs, commutateurs Ethernet…

Sur les serveurs de type Linux, il suffit d’installer le daemon snmpd de la suite Open-SNMP. Sur Windows, il est également possible d’installer le daemon Net-SNMP. Enfin, Mac OS X inclue un daemon SNMP (UCD-SNMP), il suffit de suivre cette procédure pour l’activer.

Les plugins locaux

En standard, SNMP ne remonte que des informations systèmes basiques. Pour aller plus loin et surveiller des processus plus complexe, Nagios à mis en place un système de type plugins locaux. Un plugin local est un script localisé sur le serveur Nagios (/usr/lib/nagios/plugins sous Linux, c’est pour cela que l’on dit qu’il est local).

Ce script, lancé à la demande de Nagios, doit retourner un code dont la signification est la suivante:

  • Code 0: OK – Tout va bien
  • Code 1: WARNING – Alerte
  • Code 2: CRITICAL – Alerte critique
  • Code 3: UNKNOWN – Problème lors de l’exécution du plugin

En plus de ces codes, un plugins peut fournir d’autres informations (sous la forme d’une chaine de caractères) qui seront affichées à coté du statut de la machine.

Pour ceux que cela intéresse, j’ai écrit un petit tutoriel sur la création d’un plugin pour Nagios.

Les plugins actifs avec NRPE

A la différence des plugins locaux, le plugin NRPE permet l’exécution de plugins dit actifs directement sur les machines à surveiller.
L’architecture est la suivante (schéma trouvé sur le site officiel de Nagios):

Avec NRPE, la demande d’exécution d’un plugin actif est faite à l’initiative du serveur Nagios. La procédure interne est la suivante:

  • le serveur Nagios demande, via le client NRPE, l’exécution du plugin P sur la machine H
  • le daemon NRPE hébergé sur la machine H, reçoit la requête d’exécution du plugin P
  • le plugin P est exécuté sur la machine H
  • le daemon NRPE de la machine H envoie le résultat du plugin P au serveur Nagios
  • le serveur Nagios interprète les résultats retournés par le pugin P

Les plugins passifs avec NSCA

Comme l’on vient de le voir NRPE est déclenché à l’initiative du serveur Nagios. Ce mode de fonctionnement peut poser problème, par exemple dans le cas ou les machines à surveiller son derrières un réseau sécurisé par un Firewall ou si le processus à surveiller demande une fréquence d’exécution très courte. Le plugin NSCA répond à ce problème en proposant l’exécution de plugins passifs sur les machines à surveiller.

Ici, c’est donc le daemon NSCA qui va envoyer l’information au serveur Nagios. On peut comparer cette fonction à un TRAP SNMP.

et pour Windows ?

Les plugins NRPE et NSCA ne sont disponibles que pour Linux et Mac OS X. Si vous souhaitez surveiller des machines sous Windows (il vaut mieux les surveiller de prêt ces bêtes là…) , il va falloir utiliser le plugin NSClient.

Cliquez ici pour voir tous mes billets sur Nagios.

Catégories
Blog Developpement Web

Un effet d’ombre pour votre blog

Depuis la création de mon thème, je trouvais que les pages ne se détachaient pas assez du fond d’écran du blog. J’ai donc décidé de mettre en place un effet d’ombre come on peut le trouver sur de nombreux sites et sur les dernières versions des systèmes d’exploitations.

  
Avant – Aprés

Voici comment j’ai procédé. Il faut dans un premier temps créer une image qui servira de base à votre fond d’écran. Cette image dépend des dimensions de votre blog. L’image ci-dessous correspond à une ombre pour un site dont la page fait 800 pixels de large avec une couleur de fonds blanc cassé (code #EEEEEE).

Il faut ensuite éditer votre feuille de style et modifier la section « body » de la manière suivante:

body {
background-color: #EEEEEE;
background-position: center top;
background-repeat: repeat-y;
background-image: url(images/ombre.gif);

Je trouve le résultat assez sympathique, le contenu étant plus lisible.

Catégories
Blog

Un abonnement RSS à la carte ?

De nombreux blog abordent plusieurs sujets différents. Il peut être pénible pour un abonné d’avoir à écarter 10 billets pour en trouver 1 qui corresponde à son centre d’intérêt. Il est possible dans WordPress de proposer un abonnement non pas basé sur la totalité des billets écrits mais sur une catégorie bien précise.

Pour mettre en place ce type d’abonnement sélectif, il faut connaitre les URLs des différentes catégories de votre blog. Pour obtenir le flux RSS associé, il suffit d’y accoler « /feed » dans l’URL.

Par exemple, mon blog à une catégorie nommé Open-Source. L’URL permettant d’accèder aux billets de cette catégorie est:

https://blog.nicolargo.com/category/open-source

L’URL du flux RSS pour cette catégorie est donc:

https://blog.nicolargo.com/category/open-source/feed

Il existe de nombreux plugins exploitant cette fonction dont le très bon JPF Category Feeds (utilisé sur mon blog dans l’entête des billets). L’utilisation de ce dernier est très simple: il suffit d’insérer un code PHP au bon endroit dans votre thème. Par exemple pour afficher la liste des catégories avec un lien vers le flux RSS, il faut utiliser le code PHP:

< ? php jpf_catfeed('','/wp-images/icons/rss.gif', '', '', ', '); ? >

Bref une astuce bien pratique que j’aimerai bien trouver sur tout les blogs 😉

PS: connaissez-vous un plugin équivalent mais pour créer des flux RSS à partir des tags WordPress ?

Catégories
Blog

Gestion des tags avec WordPress 2.3

Lors de la migration de mon blog en version 2.3 de WordPress, j’ai été, faute de temps, un peu vite en besogne.

Le problème venait des tags UTW qui n’avaient pas été migré en tags WP natifs. Pourtant la procédure est simple ;). Il faut pour cela se rendre dans le menu Manage (Gérer) puis Import (Importer) et cliquer sur le lien Ultimate Tag Warrior. Après un wizard en 4 étapes, tous vos tags UTW seront importés dans des tags WP.

Ces nouveaux donc seront pris en charge par mon plugin SEO « All in One SEO » pour la génération « des codes meta keywords ».