Matinée pour conmrendre consacrée à LinShare.org, application de partage de f...
Presentation Supervision 2008
1. Les bons outils pour construire
votre Supervision Nagios
Cédric Temple
Responsable du Pôle Supervision
cedric.temple@linagora.com
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
2. Groupe
Sommaire
✔ Nagios: outil de référence pour la supervision
✔ Les nouveautés de Nagios 3
✔ Centreon: interface de configuration à Nagios
✔ Les nouveautés de Centreon 2
✔ NagVis: Cartographie
✔ NaReTo: Reporting
✔ FAN: le ciment de votre supervision
2
3. Groupe
Nagios
✔ Outil de supervision de référence dans le monde du Libre
✔ Nombreux sites dédiés:
✔ www.nagios.org, www.nagiosexchange.org, www.linagora.org
✔ www.manubulon.com/nagios/, ...
✔ Très modulaire: système de plugins, interface Web
✔ Coeur de supervision
✔ Nombreux outils externes s'interfaçant avec Nagios
✔ N2RRD/Perfparse/Nagiosgraph/nagiosgrapher/...
✔ NagVis
✔ Centreon
✔ NaReTo
3
4. Groupe
Nagios: points forts
✔ Pas de coût 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...
✔ Délégation des tests à des « plugins »
✔ Le plugin n' existe pas? Il « suffit » de le faire
✔ Interface web pour la consultation
4
10. Groupe
Les nouveautés de Nagios 3
✔ Meilleures performances
✔ « use_large_installation_tweaks=1 »
✔ Jusqu'à 20 000 indicateurs supervisés toutes les 15 minutes
✔ Héritage Multiple
✔ Les « sous-groupes »
✔ Les périodes temporelles
10
12. Groupe
Nagios 3: héritage multiple
Commun
Windows As400 Aix Réseau 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
13. Groupe
Nagios 3: Les « sous-groupes »
Linux
Base de données Serveurs Web
MySQL Postgres
13
14. Groupe
Nagios 3: Les périodes temporelles
✔ Forte amélioration permettant de gérer les exceptions
✔ « Tous les jours ouvrés de la semaine sauf les jours fériés »
✔ Il « suffit » de déclarer tous les jours fériés
define timeperiod{
timeperiod_name Jours_Feries
alias Jours feries en France
2008-01-01
...
2008-08-01
...
}
✔ « Le deuxième 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
15. 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é française
✔ Nombreux tutoriels
15
19. Groupe
Les nouveautés de Centreon 2
✔ Gestion de Nagios 3
✔ Gestion de NDOUtils
✔ Améliorations dans l'interface web
✔ Gestion des collecteurs multiples
19
21. Groupe
NagVis
✔ Outil de cartographie
✔ Récupère les données Nagios et les présente dans une interface
web
✔ Fond de l'écran personnalisable:
✔ Europe ==> France ==> Nord/PdC ==> Hordain
✔ Photo de la salle machine
✔ Plan réseau
✔ Architecture n Tiers
✔ ...
21
25. Groupe
Suite...
✔ NaReTo et FAN vont vous être présenté dans la suite du
séminaire
25
26. MERCI DE VOTRE ATTENTION
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
27. NaReTo : l’interface de haut
niveau à Nagios
Cédric Temple
Responsable du Pôle Supervision
cedric.temple@linagora.com
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
28. Groupe
Sommaire
✔ Naissance de NaReTo
✔ Arbre de Navigation
✔ Les Modules
✔ Module « Temps-Réel »
✔ Module « Reporting »
✔ Module « Suivi des Alarmes »
✔ Module « Historique des Alarmes »
✔ Futur
28
29. Groupe
Naissance de NaReTo
✔ Constat: Outil de supervision Nagios
✔ Supervision Technique
✔ « Par des administrateurs pour des administrateurs »
✔ Pas de vue « fonctionnelle »
✔ Visualisation peu adaptée
✔ Différentes entités
✔ Nombreux éléments supervisés
✔ ==> Demande de deux clients pour combler ces manques
29
30. Groupe
Buts de NaReTo
✔ Définir une vision arborescente
✔ Complètement libre
✔ Avec une gestion fine des droits
✔ Disposer de modules de « reporting »
✔ Utilisation par des responsables fonctionnels
✔ Compléter les vues Nagios
30
31. 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
32. Groupe
Arbre de navigation: droits
Europe Service
France Espagne Suisse Italie
Win Linux Aix As400
Intranet WWW Mail
Serveur1 Serveur2 Serveur3 Serveur4
32
33. Groupe
Arbre de navigation: détails
✔ 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 récupérés de Nagios
✔ Parcours arborescents
✔ Techniques
✔ Fonctionnels
✔ ... en même temps
33
36. Groupe
Reporting: détails
✔ Même arbre de navigation
✔ Disponibilité == Moyenne pondérée
✔ Indicateur de disponibilité :
✔ Technique au plus bas niveau
✔ Fonctionnel par la remontée dans les niveaux
✔ Choix de la période d'affichage
✔ Indicateur globale de disponibilité sur la période
✔ Idée: vérifier chaque semaine ou chaque mois la disponibilité...
36
38. Groupe
Suivi des alarmes: détails
✔ Toujours le même arbre
✔ Nombre d'alarmes par noeud et par jour
✔ Graphiques sur les temps moyens :
✔ D'acquittement
✔ De correction
✔ Par noeud et par jour
✔ Très utilisé pour visualiser les éléments générant beaucoup
d'erreurs
38
40. Groupe
Historique des alarmes: détails
✔ Toujours le même arbre
✔ Reprise des alarmes de Nagios
✔ Host, service, date, criticité
✔ Informations et commentaires
✔ Filtre selon l'état et la date
✔ Permet
✔ « d'enquêter »
✔ De suivre l'activité (commentaires)
40
41. Groupe
Futur de NaReTo
✔ Compatibilité version N de Nagios ???
✔ Quelque soit la version
✔ Grâce à des programmes C utilisant les librairies Nagios
✔ Et en plus
✔ Plus simple à maintenir
✔ Gains de performance !!!
✔ Ré-écriture du modèle de stockage
✔ Améliorer des performances: > 15 000 noeuds
✔ Différents modules de stockage (Mysql, Postgres, XML, ...)
41
42. Groupe
Futur de NaReTo
✔ Nouveaux modules
✔ « Capacity planning »
✔ Cartographie
✔ À destination des « utilisateurs finaux »
✔ Documentation interne et procédures d'exploitation
✔ Suivi de tickets
✔ Règles de logique (AND, OR, IF, ...)
✔ Pour la remontée des états
✔ Pour le calcul de disponibilité
✔ Amélioration de l'affichage
42
43. MERCI DE VOTRE ATTENTION
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
44. FAN
Fully Automated Nagios
NOM INTERVENANT
FONCTION
MAIL
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
45. Groupe
Sommaire
✔ Installation d'une solution de supervision
✔ Nagios
✔ Centreon
✔ Nareto
✔ Nagvis
✔ Fan : Fully Automated Nagios
45
46. 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
47. Groupe
Installation de Nagios
✔ Configuration des CGI de Nagios
# Prise en compte des CGIs
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory quot;/usr/local/nagios/sbin/quot;>
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
# Les fichiers html statiques de Nagios:
Alias /nagios/ /usr/local/nagios/share/
<Directory quot;/usr/local/nagios/sharequot;>
Options FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
47
48. Groupe
Installation de Nagios
✔ Configuration des droits d'accès à Nagios
✔ Fichiers /usr/loca/nagios/share/.htaccess et /usr/loca/nagios/sbin/.htaccess
AuthName quot;Nagios Accessquot;
AuthType Basic
AuthUserfile /usr/local/nagios/etc/htpasswd.users
require valid-user
✔ Créer 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
49. 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
50. 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 données
cd db
./installdb
50
51. 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
52. Groupe
Installation de Centreon
✔ Récupération de la dernière version sur le site web:
✔ http://www.centreon.com
✔ Décompression:
✔ tar xzf centreon-version.tar.gz
✔ cd centreon-version
✔ Lancement du script d'installation
✔ /bin/bash ./install.sh
✔ Réponse aux questions et résoudre les dépendances
✔ Se rendre sur l'interface web:
✔ http://localhost/oreon/
✔ Suivre les étapes
52
53. Groupe
Installation au travers de l'interface
53
54. Groupe
Installation au travers de l'interface
54
55. Groupe
Installation au travers de l'interface
55
56. Groupe
Installation au travers de l'interface
56
57. Groupe
Installation au travers de l'interface
57
58. Groupe
Installation au travers de l'interface
58
59. Groupe
Installation au travers de l'interface
59
60. Groupe
Installation au travers de l'interface
60
61. Groupe
Installation au travers de l'interface
61
62. Groupe
Installation au travers de l'interface
62
63. Groupe
Installation au travers de l'interface
63
64. Groupe
Installation au travers de l'interface
64
65. Groupe
Installation au travers de l'interface
65
66. Groupe
Installation de Nareto
✔ Récupération 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
67. 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
68. Groupe
Installation de Nareto
✔ Création de la base de données:
# 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
69. 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
72. Groupe
Installation de Nareto
✔ Configurer Apache
✔ Créer un nouveau fichier /etc/apache2/conf.d/nareto.conf
Alias /nareto/ /usr/local/nareto/
<Directory quot;/usr/local/nareto/quot;>
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
72
74. Groupe
Installation d'une solution de supervision
✔ Facile, ... non ?
74
75. Groupe
Fan : Fully Automated Nagios
✔ A vous de jouer !
75
76. Groupe
Fan : Fully Automated Nagios
✔ Distribution, basée sur CentOs 5.1, destinée à 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
77. Groupe
Fan : Fully Automated Nagios
✔ Pourquoi Fan ?
✔ Simplifier l'installation de la solution de supervision :
✔ L' installation est automatique
✔ Les outils sont pré-configurés
✔ Les liens entre les différents outils sont fonctionnels
✔ Toutes les dépendances requises sont présentes
✔ Pourquoi CentOs ?
✔ Compatibilité avec Red Hat
77
78. Groupe
Fan : Fully Automated Nagios
✔ L'avenir de Fan ?
✔ L'intégration de Nagios 3
✔ L'intégration de Centreon 2 (stable)
✔ Une version centralisée et décentralisée pour Centreon 2
✔ CentOS 5.2
✔ Support des architectures 64 bits
78
79. MERCI DE VOTRE ATTENTION
Ensemble, Groupe LINAGORA
réussissons 27 r ue de Ber ri
75008 PARIS
les grands projets du Libre Tél. : 01 58 18 68 28
Fax : 01 58 18 68 29
www.linagora.com | www.08000linux.com | www.linagora.org
80. APHP – Projet Supervision
Projet supervision
Assistance Publique Hôpitaux de Paris
80
81. APHP – Projet Supervision
L’APHP est un
établissement public de
santé relevant de la Ville
de Paris.
Il est composé de 37
hôpitaux (80 000
personnels) situés
essentiellement en Ile
de France.
82. APHP – Projet Supervision
L’activité de l’hôpital dépend en partie de la disponibilité de son système
d’information (SI).
La supervision permet de répondre à cette problématique avec 3 objectifs:
● réaction: réagir rapidement à un dysfonctionnement d’un élément du SI;
● proaction: anticiper les problème afin de mieux les éviter;
● approfondir la connaissance du SI et améliorer son administration.
83. APHP – Projet Supervision
Plusieurs solutions de supervision hétérogènes sont utilisées à l’APHP
Un groupe de travail est créé au début 2007 avec pour objectif d’étendre et
d’homogénéiser cette supervision afin d’avoir un état exhaustif du système
d’information.
Le parc informatique de l'APHP se compose de 38000 postes de travail.
Le périmètre à superviser comprend environ 8000 serveurs (Unix, Windows, Linux)
et 3000 équipements réseau (Cisco, Nortel).
84. APHP – Projet Supervision
Méthodologie employée
➢ Définition de la cible fonctionnelle.
➢ Étude de l’existant.
➢ Analyse du marché.
➢ Élaboration de l’architecture.
➢ Maquette.
➢ Déploiement.
85. APHP – Projet Supervision
L’architecture cible est fortement liée à l’organisation mise en place pour
la gestion du système d’information:
● Hotline centralisée
● Astreintes multi-sites
● Applications centrales et locales
2 exemples architectures possibles:
● Une console de supervision unique pour toute l’APHP
● Des consoles de supervision sur chaque site consolidées sur une console
centrale APHP.
L’architecture sera évolutive et devra suivre les modifications
d’organisation.
86. APHP – Projet Supervision
Les principales fonctionnalités souhaitées:
● Alertes
● Métriques
● Procédures
● Rapports
● Configuration simplifiée et « maîtrisée »
87. APHP – Projet Supervision
3 outils ressortent de l’étude:
● NAGIOS: solution de supervision opensource largement
utilisée dans les grands comptes et à l’APHP
● BMC PATROL / DASHBOARD: solution commerciale
reconnue et utilisée à l’APHP
● Outils constructeurs: ensemble des outils de supervision
fournis par les constructeurs de matériel (HP, EMC…) ces
outils sont souvent plus performants pour la supervision «
matérielle » des machines.
88. APHP – Projet Supervision
Le groupe de travail mis en place est composé de 6
personnes.
● 5 personnes APHP
● 1 personne LINAGORA ( Cédric TEMPLE )
LINAGORA aide à la définition d'architecture et aux
différents développements logiciels.
89. APHP – Projet Supervision
La solution retenue:
● Un couple console / sonde par site.
● Une console centrale.
● Une configuration uniformisée et simplifiée pour tous les sites.
● Les différents produits opensource, utilisés dans le cadre de se
projet, ne devront pas être rendus spécifiques APHP. Les
modifications apportées seront reversées à la communauté.
90. APHP – Projet Supervision
Nagios constituera le coeur du système retenu.
Les produits étudiés mais non retenus:
● OREON est écarté en raison de la difficulté de mise en oeuvre
d'une architecture décentralisée.
● CENTREON n'existait pas encore au démarrage du projet.
● CACTI ne s'intègre pas avec la configuration de Nagios
91. APHP – Projet Supervision
Les outils choisis:
● Émission d'alertes (NAGIOS)
● Graphiques de tendance (N2RRD)
● Représentation fonctionnelle (NAGVIS)
● Procédures de résolution des incidents intégrées à l'outil
(DOKUWIKI)
● Configuration et maintenance simplifiée (scripts PERL +
interface WEB)
92. APHP – Projet Supervision
Site 1
Console Centrale
Modèle physique
Central NARETO
N2RRD
NagVis DokuWiki
Site 2
Apps
Représentation Logique
Console Site
N2RRD
Secteurs
NagVis
DokuWiki
93. APHP – Projet Supervision
Caractéristiques du mode de distribution
● Utilisation de la distribution Linux CENTOS 5.1
● Création de paquets et méta paquets RPM pour simplifier le
déploiement. Il faut quelques minutes pour installer la solution
complète sur un serveur Linux.
94. APHP – Projet Supervision
Configuration de l'outil:
● La configuration est réalisée à l'aide d'une feuille de données
OpenOffice ou Excel. Cette méthode permet une souplesse
d'importation des données déjà existantes dans d'autres outils.
● Les données sont transmises au travers d'une interface WEB.
● Certains services sont automatiquement détectés pour aider au
déploiement.
● Toute la configuration est normalisée à l'aide de modèles. Ils
sont déployés à l'identique sur l'ensemble des sites.
100. APHP – Projet Supervision
La plate-forme de développement est hébergée chez
LINAGORA.
Les outils:
● Eclipse – Editeur de code source
● SVN – Partage des sources
● DOKUWIKI – Site web collaboratif
● Liste de diffusion
● Mantis – Gestion des bugs / améliorations
100
100
103. APHP – Projet Supervision
Points forts:
● maîtrise des outils
● flexibilité
● absence de la problématique des licences.
Point faibles:
● il n'existe pas de solution clef en main
● temps développement