You are on page 1of 103

Les bons outils pour construire

votre Supervision Nagios

Cdric Temple
Responsable du Ple Supervision
cedric.temple@linagora.com
Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


Groupe
Sommaire

Nagios: outil de rfrence pour la supervision


Les nouveauts de Nagios 3
Centreon: interface de configuration Nagios
Les nouveauts de Centreon 2
NagVis: Cartographie
NaReTo: Reporting
FAN: le ciment de votre supervision

2
Groupe
Nagios

Outil de supervision de rfrence dans le monde du Libre


Nombreux sites ddis:
www.nagios.org, www.nagiosexchange.org, www.linagora.org
www.manubulon.com/nagios/, ...
Trs modulaire: systme de plugins, interface Web
Coeur de supervision
Nombreux outils externes s'interfaant avec Nagios
N2RRD/Perfparse/Nagiosgraph/nagiosgrapher/...
NagVis
Centreon
NaReTo

3
Groupe
Nagios: points forts

Pas de cot de licence


Logiciel Libre: possibilit de modifier le code source
Communaut importante
Nombreuses documentations/tutoriels/forums/articles/...
Nombreuses extensions
Simple mettre en oeuvre
Compar aux produits commerciaux...
Dlgation des tests des plugins
Le plugin n'existe pas? Il suffit de le faire
Interface web pour la consultation

4
Groupe
Nagios: interface web

5
Groupe
Nagios: interface web

6
Groupe
Nagios: interface web

7
Groupe
Nagios: interface web

8
Groupe
Nagios: interface web

9
Groupe
Les nouveauts de Nagios 3

Meilleures performances
use_large_installation_tweaks=1
Jusqu' 20 000 indicateurs superviss toutes les 15 minutes
Hritage Multiple
Les sous-groupes
Les priodes temporelles

10
Groupe
Nagios 2: hritage simple
Commun

Windows Linux Aix As400 Rseau

Win_Cpu_Usage Lin_Cpu_Usage ... ... ...


Win_Disk_Usage Lin_FS_Usage ... ... ...
Win_Svc_Status Lin_Proc_Status ... ... ...

Win_Ram_Usage Lin_Ram_Usage ... ... ...

Win_Ram_Usage Lin_Ram_Usage

Template
Objet

11
Groupe
Nagios 3: hritage multiple
Commun

Windows As400 Aix Rseau Linux

Snmp_Cpu_Usage
Snmp_Disk_Usage
Snmp_Process_Status
Win_Cpu_Usage Lin_Cpu_Usage
Snmp_Ram_Usage

Win_Disk_Usage Lin_Disk_Usage

Win_Ram_Usage Lin_Ram_Usage

Template
Objet

12
Groupe
Nagios 3: Les sous-groupes

Linux

Base de donnes Serveurs Web

MySQL Postgres

13
Groupe
Nagios 3: Les priodes temporelles

Forte amlioration permettant de grer les exceptions


Tous les jours ouvrs de la semainesauf les jours fris
Il suffit de dclarer tous les jours fris
define timeperiod{
timeperiod_name Jours_Feries
alias Jours feries en France
2008-01-01
...
2008-08-01
...
}
Le deuxime dimanche du mois
define timeperiod{
timeperiod_name Mysql-servers-check
alias Check period of MySQL servers
sunday 2 00:00-03:00,06:00-24
sunday 00:00-24:00
...
} 14
Groupe
Centreon: Interface de configuration

Outil polyvalent bas sur Nagios


Interface web de configuration
Interface web de Supervision
Interface de Reporting
Graphiques RRDTool
Taux d'occupation CPU/RAM/Partitions/...
Forte communaut franaise
Nombreux tutoriels

15
Groupe
Centreon: interface de monitoring

16
Groupe
Centreon: graphiques RRDTool

17
Groupe
Centreon: reporting

18
Groupe
Les nouveauts de Centreon 2

Gestion de Nagios 3
Gestion de NDOUtils
Amliorations dans l'interface web
Gestion des collecteurs multiples

19
Groupe
Centreon 2: collecteurs multiples

20
Groupe
NagVis

Outil de cartographie
Rcupre les donnes Nagios et les prsente dans une interface
web
Fond de l'cran personnalisable:
Europe ==> France ==> Nord/PdC ==> Hordain
Photo de la salle machine
Plan rseau
Architecture n Tiers
...

21
Groupe
NagVis: exemple de carte

22
Groupe
NagVis: exemple de reprsentation

23
Groupe
NagVis: exemple de reprsentation

24
Groupe
Suite...

NaReTo et FAN vont vous tre prsent dans la suite du


sminaire

25
MERCI DE VOTRE ATTENTION

Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


NaReTo : linterface de haut
niveau Nagios

Cdric Temple
Responsable du Ple Supervision
cedric.temple@linagora.com
Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


Groupe
Sommaire

Naissance de NaReTo
Arbre de Navigation
Les Modules
Module Temps-Rel
Module Reporting
Module Suivi des Alarmes
Module Historique des Alarmes
Futur

28
Groupe
Naissance de NaReTo

Constat: Outil de supervision Nagios


Supervision Technique
Par des administrateurs pour des administrateurs
Pas de vue fonctionnelle
Visualisation peu adapte
Diffrentes entits
Nombreux lments superviss
==> Demande de deux clients pour combler ces manques

29
Groupe
Buts de NaReTo

Dfinir une vision arborescente


Compltement libre
Avec une gestion fine des droits
Disposer de modules de reporting
Utilisation par des responsables fonctionnels
Complter les vues Nagios

30
Groupe
Arbre de navigation

Europe Asie ... Service

France Espagne Suisse Italie Chine Japon ...

Win Linux Aix As400


Intranet WWW Mail

Serveur1 Serveur2 Serveur3 Serveur4

31
Groupe
Arbre de navigation: droits

Europe Service

France Espagne Suisse Italie

Win Linux Aix As400


Intranet WWW Mail

Serveur1 Serveur2 Serveur3 Serveur4

32
Groupe
Arbre de navigation: dtails

Arborescence libre:
Pas de limite en nombre de noeuds ni de niveaux
Pas de limite en nombre de noeuds/niveau
Droits sur des noeuds en fonction du profil utilisateur
voir uniquement ce dont j'ai besoin
Profils rcuprs de Nagios
Parcours arborescents
Techniques
Fonctionnels
... en mme temps

33
Groupe
Module Temps-Rel

34
Groupe
Module: Reporting

35
Groupe
Reporting: dtails

Mme arbre de navigation


Disponibilit == Moyenne pondre
Indicateur de disponibilit:
Technique au plus bas niveau
Fonctionnel par la remonte dans les niveaux
Choix de la priode d'affichage
Indicateur globale de disponibilit sur la priode
Ide: vrifier chaque semaine ou chaque mois la disponibilit...

36
Groupe
Module: Suivi des alarmes

37
Groupe
Suivi des alarmes: dtails

Toujours le mme arbre


Nombre d'alarmes par noeud et par jour
Graphiques sur les temps moyens:
D'acquittement
De correction
Par noeud et par jour
Trs utilis pour visualiser les lments gnrant beaucoup
d'erreurs

38
Groupe
Module: Historique des alarmes

39
Groupe
Historique des alarmes: dtails

Toujours le mme arbre


Reprise des alarmes de Nagios
Host, service, date, criticit
Informations et commentaires
Filtre selon l'tat et la date
Permet
d'enquter
De suivre l'activit (commentaires)

40
Groupe
Futur de NaReTo

Compatibilit version N de Nagios ???


Quelque soit la version
Grce des programmes C utilisant les librairies Nagios
Et en plus
Plus simple maintenir
Gains de performance !!!
R-criture du modle de stockage
Amliorer des performances: > 15 000 noeuds
Diffrents modules de stockage (Mysql, Postgres, XML, ...)

41
Groupe
Futur de NaReTo

Nouveaux modules
Capacity planning
Cartographie
destination des utilisateurs finaux
Documentation interne et procdures d'exploitation
Suivi de tickets
Rgles de logique (AND, OR, IF, ...)
Pour la remonte des tats
Pour le calcul de disponibilit
Amlioration de l'affichage

42
MERCI DE VOTRE ATTENTION

Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


FAN
Fully Automated Nagios

NOM INTERVENANT
FONCTION
MAIL
Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


Groupe
Sommaire

Installation d'une solution de supervision


Nagios
Centreon
Nareto
Nagvis

Fan : Fully Automated Nagios

45
Groupe
Installation de Nagios

Compilation et installation de Nagios

tar xzf nagios-2.12.tar.gz


cd nagios-2.12
./configure
make nagios cgis modules contribs
make install
make install-init
make install-commandmode
make install-config

46
Groupe
Installation de Nagios

Configuration des CGI de Nagios

# Prise en compte des CGIs


ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
# Les fichiers html statiques de Nagios:
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

47
Groupe
Installation de Nagios

Configuration des droits d'accs Nagios


Fichiers /usr/loca/nagios/share/.htaccess et /usr/loca/nagios/sbin/.htaccess

AuthName "Nagios Access"


AuthType Basic
AuthUserfile /usr/local/nagios/etc/htpasswd.users
require valid-user
Crer le fichier /usr/loca/nagios/etc/htpasswd.users avecv la commande
suivante

# htpasswd -c /usr/local/nagios/etc/htpasswd.users
nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

48
Groupe
Installation des plugins Nagios

Compilation et installation des plugins Nagios

tar xzf nagios-plugins-1.4.12.tar.gz


cd nagios-plugins-1.4.12
./configure
make
make install

49
Groupe
Installation de NDO-utils

Compilation de NDO-utils

tar xzf ndoutils-1.4.tar.gz


cd ndoutils-1.4
make

Installation de NDO-utils
cp ndomod-2x ndo2db /usr/local/nagios/bin/
cp ndomod.cfg ndo2db.cfg /usr/local/nagios/etc
Creation de la base de donnes
cd db
./installdb

50
Groupe
Installation de NagVis

Installation de NagVis

tar xvzf nagvis-1.3.tar.gz


cd nagvis-1.3
mv nagvis /usr/local/nagios/share

Configuration de NagVis

cd /usr/local/nagios/share/nagvis
cp etc/nagvis.ini.php-sample etc/nagvis.ini.php

51
Groupe
Installation de Centreon

Rcupration de la dernire version sur le site web:


http://www.centreon.com
Dcompression:
tar xzf centreon-version.tar.gz
cd centreon-version
Lancement du script d'installation
/bin/bash ./install.sh
Rponse aux questions et rsoudre les dpendances
Se rendre sur l'interface web:
http://localhost/oreon/
Suivre les tapes

52
Groupe
Installation au travers de l'interface

53
Groupe
Installation au travers de l'interface

54
Groupe
Installation au travers de l'interface

55
Groupe
Installation au travers de l'interface

56
Groupe
Installation au travers de l'interface

57
Groupe
Installation au travers de l'interface

58
Groupe
Installation au travers de l'interface

59
Groupe
Installation au travers de l'interface

60
Groupe
Installation au travers de l'interface

61
Groupe
Installation au travers de l'interface

62
Groupe
Installation au travers de l'interface

63
Groupe
Installation au travers de l'interface

64
Groupe
Installation au travers de l'interface

65
Groupe
Installation de Nareto

Rcupration de l'archive de la 1.1.6 sur www.nareto.org


Installation:

# tar xzf nareto-1.1.6.tar.gz


# mv nareto-1.1.6 /usr/local/nareto/
# chown -R apache:apache /usr/local/nareto/
# chmod -R 700 /usr/local/nareto/

66
Groupe
Installation de Nareto

Installation, suite...

# cp /usr/local/nagios/sbin/.htaccess \
/usr/local/nareto/
# cd /usr/local/nareto/
# chmod u+x scripts/nagios_alert.pl \
scripts/nagios_alert_agregation.pl

67
Groupe
Installation de Nareto

Cration de la base de donnes:

# mysqladmin create nareto -u root -p


# mysql -u root -p nareto < scripts/nareto.sql
# mysql -u root -p
$ GRANT ALL ON nareto.* TO 'nareto'@'%'
IDENTIFIED BY 'mot_de_passe';

68
Groupe
Installation de Nareto

Fichier de configuration de NaReTo :


/usr/local/nareto/include/config.ini.php

[Mysql Configuration]
host = localhost
user = root
password =
nareto_db = nareto
perfparse_db = perfparse

69
Groupe
Installation de Nareto

[Nagios Configuration]
configuration_file = /etc/nagios/nagios.cfg
log_file = /var/log/nagios/nagios.log
statuslog_file = /var/log/nagios/status.log
comment_file = /var/log/nagios/comment.log
archives_path = /var/log/nagios/archives
url_path = http://localhost/nagios/

70
Groupe
Installation de Nareto

[Nareto Configuration]
refresh = 60
global_state = 0
use_alias = 0
use_perfparse = 0
use_doublenode = 0
use_nagios = 0
admin = nagiosadmin

71
Groupe
Installation de Nareto

Configurer Apache
Crer un nouveau fichier /etc/apache2/conf.d/nareto.conf

Alias /nareto/ /usr/local/nareto/


<Directory "/usr/local/nareto/">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

72
Groupe
Installation de Nareto

Ajout de la crontab
/etc/cron.d/nareto.cron

*/5 * * * * /usr/bin/php /usr/local/nareto/scripts/nareto_dispo_cron_5min.php > /dev/null

2 * * * * /usr/bin/php /usr/local/nareto/scripts/nareto_dispo_cron_1h.php > /dev/null

4 14 * * * /usr/bin/php /usr/local/nareto/scripts/nareto_dispo_cron_1jour.php > /dev/null

30 0 * * * /usr/bin/perl /usr/local/nareto/scripts/nagios_alert.pl > /dev/null

0 1 * * 7 /usr/bin/perl /usr/local/nareto/scripts/nagios_alert_agregation.pl > /dev/null

*/7 * * * * /usr/local/nagios/sbin/read_config_from_nagios_v2 127.0.0.1 nareto nareto passwd 3306 > /dev/null

* * * * * /usr/local/nagios/sbin/update_status_from_nagios_v2 127.0.0.1 nareto nareto passwd 3306 > /dev/null

73
Groupe
Installation d'une solution de supervision

Facile, ... non ?

74
Groupe
Fan : Fully Automated Nagios

A vous de jouer !

75
Groupe
Fan : Fully Automated Nagios

Distribution, base sur CentOs 5.1, destine la supervision


Contenu:
Nagios 2.11
Plugins Nagios
NDO-utils 1.4
Nagvis 1.3
Centreon 1.4.2.6
Nareto 1.1.6

76
Groupe
Fan : Fully Automated Nagios

Pourquoi Fan ?
Simplifier l'installation de la solution de supervision :
L' installation est automatique
Les outils sont pr-configurs
Les liens entre les diffrents outils sont fonctionnels
Toutes les dpendances requises sont prsentes
Pourquoi CentOs ?
Compatibilit avec Red Hat

77
Groupe
Fan : Fully Automated Nagios

L'avenir de Fan ?
L'intgration de Nagios 3
L'intgration de Centreon 2 (stable)
Une version centralise et dcentralise pour Centreon 2
CentOS 5.2
Support des architectures 64 bits

78
MERCI DE VOTRE ATTENTION

Ensemble, Groupe LINAGORA

russissons 27 r ue de Ber ri
75008 PARIS

les grands projets du Libre Tl. : 01 58 18 68 28


Fax : 01 58 18 68 29

www.linagora.com | www.08000linux.com | www.linagora.org


APHP Projet Supervision

Projet supervision
Assistance Publique Hpitaux de Paris

80
APHP Projet Supervision

LAPHP est un
tablissement public de
sant relevant de la Ville
de Paris.
Il est compos de 37
hpitaux (80 000
personnels) situs
essentiellement en Ile
de France.
APHP Projet Supervision

Lactivit de lhpital dpend en partie de la disponibilit de son systme


dinformation (SI).
La supervision permet de rpondre cette problmatique avec 3 objectifs:
raction: ragir rapidement un dysfonctionnement dun lment du SI;
proaction: anticiper les problme afin de mieux les viter;

approfondir la connaissance du SI et amliorer son administration.


APHP Projet Supervision

Plusieurs solutions de supervision htrognes sont utilises lAPHP


Un groupe de travail est cr au dbut 2007 avec pour objectif dtendre et
dhomogniser cette supervision afin davoir un tat exhaustif du systme
dinformation.

Le parc informatique de l'APHP se compose de 38000 postes de travail.


Le primtre superviser comprend environ 8000 serveurs (Unix, Windows, Linux)
et 3000 quipements rseau (Cisco, Nortel).
APHP Projet Supervision

Mthodologie employe
Dfinition de la cible fonctionnelle.
tude de lexistant.
Analyse du march.
laboration de larchitecture.
Maquette.
Dploiement.
APHP Projet Supervision

Larchitecture cible est fortement lie lorganisation mise en place pour


la gestion du systme dinformation:
Hotline centralise
Astreintes multi-sites
Applications centrales et locales

2 exemples architectures possibles:


Une console de supervision unique pour toute lAPHP
Des consoles de supervision sur chaque site consolides sur une console
centrale APHP.

Larchitecture sera volutive et devra suivre les modifications


dorganisation.
APHP Projet Supervision

Les principales fonctionnalits souhaites:


Alertes

Mtriques

Procdures

Rapports

Configuration simplifie et matrise


APHP Projet Supervision

3 outils ressortent de ltude:


NAGIOS: solution de supervision opensource largement
utilise dans les grands comptes et lAPHP

BMC PATROL / DASHBOARD: solution commerciale


reconnue et utilise lAPHP

Outils constructeurs: ensemble des outils de supervision


fournis par les constructeurs de matriel (HP, EMC) ces
outils sont souvent plus performants pour la supervision
matrielle des machines.
APHP Projet Supervision

Le groupe de travail mis en place est compos de 6


personnes.
5 personnes APHP

1 personne LINAGORA ( Cdric TEMPLE )

LINAGORA aide la dfinition d'architecture et aux


diffrents dveloppements logiciels.
APHP Projet Supervision

La solution retenue:
Un couple console / sonde par site.

Une console centrale.

Une configuration uniformise et simplifie pour tous les sites.

Les diffrents produits opensource, utiliss dans le cadre de se


projet, ne devront pas tre rendus spcifiques APHP. Les
modifications apportes seront reverses la communaut.
APHP Projet Supervision

Nagios constituera le coeur du systme retenu.


Les produits tudis mais non retenus:
OREON est cart en raison de la difficult de mise en oeuvre
d'une architecture dcentralise.

CENTREON n'existait pas encore au dmarrage du projet.

CACTI ne s'intgre pas avec la configuration de Nagios


APHP Projet Supervision

Les outils choisis:


mission d'alertes (NAGIOS)

Graphiques de tendance (N2RRD)

Reprsentation fonctionnelle (NAGVIS)

Procdures de rsolution des incidents intgres l'outil


(DOKUWIKI)

Configuration et maintenance simplifie (scripts PERL +


interface WEB)
APHP Projet Supervision

Site 1
Console Centrale
Modle physique

Central NARETO
N2RRD

NagVis DokuWiki

Site 2
Apps

Reprsentation Logique
Console Site

N2RRD
Secteurs

NagVis
DokuWiki
APHP Projet Supervision

Caractristiques du mode de distribution


Utilisation de la distribution Linux CENTOS 5.1

Cration de paquets et mta paquets RPM pour simplifier le


dploiement. Il faut quelques minutes pour installer la solution
complte sur un serveur Linux.
APHP Projet Supervision

Configuration de l'outil:
La configuration est ralise l'aide d'une feuille de donnes
OpenOffice ou Excel. Cette mthode permet une souplesse
d'importation des donnes dj existantes dans d'autres outils.

Les donnes sont transmises au travers d'une interface WEB.

Certains services sont automatiquement dtects pour aider au


dploiement.

Toute la configuration est normalise l'aide de modles. Ils


sont dploys l'identique sur l'ensemble des sites.
APHP Mode de configuration
APHP Mode de configuration
APHP Projet Supervision

La plate-forme de dveloppement est hberge chez


LINAGORA.
Les outils:
Eclipse Editeur de code source

SVN Partage des sources

DOKUWIKI Site web collaboratif

Liste de diffusion

Mantis Gestion des bugs / amliorations

100
100
101
101
102
102
APHP Projet Supervision

Points forts:
matrise des outils

flexibilit

absence de la problmatique des licences.

Point faibles:
il n'existe pas de solution clef en main

temps dveloppement