outil de supervision - chausson.frederic.free.frchausson.frederic.free.fr/fichiers/nagios.pdf ·...
TRANSCRIPT
Projet de fin d’études – Chausson Frédéric
1
Projet de fin d’études
Outil de supervision
Fully Automated Nagios
Chausson Frédéric 2007 - 2009
Projet de fin d’études – Chausson Frédéric
2
Remerciements
Je tiens à remercier Monsieur VEZIGNOL Laurent (Chef opérationnel sur la deuxième partie de mon
alternance) ainsi que Monsieur GUIMONT Jean Luc (Chef opérationnel sur la première partie de mon
alternance) de m’avoir accueilli au sein de l’UP informatique de la gare SNCF de Bordeaux durant ces
deux années d’alternance. Je remercie également mes deux tuteurs Monsieur MARTINAT Sébastien
et Monsieur SAUMITOU Guy ainsi que l’ensemble du personnel informatique qui m’a suivi, aidé et
appris de nombreuses choses durant ces deux ans .
Expériences acquises
CESI
Durant ces deux années que j’ai passé au cesi j’ai énormément appris dans le monde de
l’informatique et ainsi j’ ai augmenté mes connaissances. Le fait de faire de l’alternance renforce ces
acquis et permet de les utiliser dans le monde du travail. Lorsque nous avons cours, nous étudions un
seul domaine à la fois chaque semaine : Windows, Word, Excel, Linux, html, PHP… Ce qui permet
d’approfondir les connaissances et de retenir un maximum d’informations.
SNCF
Etre alternant (1 semaine de cours, 3 semaines en entreprise) est une opportunité d’appliquer ce que
l’on nous enseigne en cours apprends en cours mais aussi d’apprendre de nouvelles méthodes de
travail, cela permet de travailler en équipe, d’être autonome et de développer le sens de la
communication. En entreprise on nous donne des responsabilités, on nous apprends à respecter les
règles de travail et de sécurité et ainsi à devenir un employer de l’entreprise à part entière.
Projet de fin d’études – Chausson Frédéric
3
Sommaire 3
Présentation du candidat 6
L’entreprise 7 Présentation de la SNCF 7 Historique 7-8 Activités 8 Evolutions économiques 8 Unité de Production informatique 9 Organigramme 10 Ma position et mes activités dans l'entreprise 11
Projet 12
Étude du projet 12 Situation actuelle 12
Intérêt des outils de supervision (Monitoring) 12
Outils de supervision déjà en place 13
Besoin des utilisateurs 14
Problématique 14
Cahier des charges 15
Plannings 16
Étude de solutions 17 Liste des solutions existantes 17
Présentation des solutions 17-18
Comparaison des solutions 18
Choix final 18
Projet de fin d’études – Chausson Frédéric
4
Présentation de la solution Fan 19 Descriptif 19
Nagios, Plugins/Addons 19-20
Protocole SNMP 21
Principe de fonctionnement 22
Choix du matériel 23 Serveur 23
Caractéristiques 23
Coût 23
Système d'exploitation 24
Vmware ESX 24
Linux 24
Installation et mise en place 25 Vmware ESX 25
Linux, Suite Full Automated Nagios 26-31
Interface et prise en main 32
Nagios 33-40
Centreon 40-44
Nagvis 45-48
Bilan 49 Résultats 49-51 Soucis rencontrés 52 Impacts de la mise en place de la solution 52 Conclusion personnelle 52
Lexique 53
Annexes 54
Configuration CentOS + Fan (Procédures) 55-91
Projet de fin d’études – Chausson Frédéric
5
Projet de fin d’études – Chausson Frédéric
6
Présentation du candidat
Projet de fin d’études – Chausson Frédéric
7
L’entreprise
Présentation de la SNCF
La Société nationale des chemins de fer français (SNCF) est l'une des principales
entreprises publiques françaises, centrée sur le transport ferroviaire
Sa forme juridique est celle d'un établissement public à caractère industriel et commercial
(EPIC), qui par ailleurs détient des participations majoritaires ou totales dans des sociétés de
droit privé regroupées dans le groupe SNCF. L'EPIC, employant près de 166 000 personnes
début 2007 pour un chiffre d'affaire de 17 milliards d'euros, exerce une double activité :
- Entreprise ferroviaire chargée de l'exploitation commerciale de services de transport
ferroviaire de voyageurs et de marchandises, d'une part ;
- Exploitation et maintenance, pour le compte de RFF, du réseau ferré national
français, d'autre part.
La SNCF exploite environ 32 000 km de lignes, dont 1 850 km de lignes à grande
vitesse (juin 2007) et 14 800 km de lignes électrifiées. Elle fait circuler en moyenne 14 000
trains par jour. Par son volume d'activité, c'est la deuxième entreprise ferroviaire de l'Union
européenne après la Deutsche Bahn. Depuis le 21 février 2008, son président est Guillaume
PEPY en remplacement d’Anne-Marie Idrac. Le siège de la SNCF se situe à Paris
Historique
Les premières lignes de chemins de fer sont mises en service en France au début du
19ème siècle. L'Etat attribue le droit de construire et d'exploiter, à des compagnies privées,
qui financent la construction des lignes et supportent les risques financiers liés à leur
exploitation. L'Etat exerce aussi une surveillance des tarifs ferroviaires, considérant que les
compagnies assurent le service public.
Sous le Second Empire, la France se couvre de voies ferrées, toutes les grandes lignes sont
construites et les grandes villes de France sont reliées à Paris. Mais en raison de difficultés
financières l'Etat est amené à intervenir dans la gestion des chemins de fer.
La grande crise de 1929 compromet définitivement les chances de redressement des
compagnies. L'Etat décide alors de nationaliser les chemins de fer : la convention du 31 août
1937 crée pour une durée de 45 ans, à partir du 1ier janvier 1938, une "Société Nationale des
Chemins de Fer français", la SNCF.
La SNCF de 1938 est une société anonyme d'économie mixte dont l'état possède 51% du
capital. Ce n'est que le 31 décembre 1982, date à laquelle la convention arrive à expiration
que l'ensemble de la SNCF revient à l'état, qui la dote d'un nouveau statut. Elle devient un
Etablissement Public à caractère Industriel et Commercial (EPIC). Un cahier des charges et
des "contrats de plan" pluriannuels règlent l'ensemble des relations entre l'Etat et
l'entreprise.
Projet de fin d’études – Chausson Frédéric
8
En 1997, un nouvel Etablissement Public national à caractère Industriel et Commercial est
créé : Réseau Ferré de France (RFF). Il devient propriétaire du réseau ferré national et
reprend la dette de la SNCF. Endettement qui était lié au développement et la
modernisation du réseau.
La SNCF assure alors, deux missions distinctes, en étant d'un côté transporteur et exploitant
du réseau; de l'autre gestionnaire d'infrastructure.
Activités
La SNCF est un ensemble d’entreprises partenaires qui constituent un groupe puissant de
par la complémentarité des services offerts. Elle est l’acteur majeur du transport en Europe.
Chacune de ses sociétés exerce son activité dans une ou plusieurs des branches du groupe :
- Transport de voyageurs
- Transports de marchandises (FRET)
- Gestion de l’infrastructure et valorisation du patrimoine et du savoir-faire.
C’est un groupe organisé de façon à offrir un service complet à ses clients (voyageurs,
transporteurs, autorités organisatrices du transport public), et ce aussi bien en France qu’à
l’étranger.
Evolutions économiques
Le chiffre d’affaire du groupe consolidé est de 20 129 millions d’euros pour l’exercice
2005, contre 19 839 millions pour 2004, soit une progression de prés de 1%. La branche
Transport de voyageurs est celle qui contribue le plus au chiffre d’affaires consolidé du
groupe, suivi par le Transport de marchandises puis la Gestion de l’Infrastructure.
« Chiffre d’affaire en pourcentage par section »
25%
42%
33%
Infrastructure - Valorisation du patrimoine et du savoir faire
Transport de voyageurs
Transport de marchandises
Projet de fin d’études – Chausson Frédéric
9
Unité de Production informatique
L’Unité de Production informatique (UPI*) joue le rôle de « société de services »
répondant aux besoins informatiques des établissements que l’on peut assimiler à des
entreprises. Elle est composée de 4 secteurs :
- Groupe Technique (GT) : Ce secteur assure la gestion des serveurs (ressources,
impressions, DHCP…), la gestion des comptes utilisateurs (Création des comptes,
création des boites mails…) et des équipements réseau (Switch, routeurs…). Il a
également en charge des projets proposés par la DSIT*. Cependant, il peut être
amené à gérer des projets internes .
- Secteur Nord et secteur Sud : Ces deux secteurs ont les mêmes objectifs et les
mêmes travaux sauf qu’ils ne s’occupent pas du même secteur. Le secteur Sud
s’occupe des interventions informatiques à l’intérieur de la gare st Jean, de la
direction et du sud Aquitaine(Intra-muros). Le secteur Nord (Extra-muros) est chargé
d’intervenir sur le reste des installations de Bordeaux, Gironde, Lot et Garonne,
Dordogne et Poitou Charente. Ils ont pour mission de déployer les applications
nationales ou locales, l’installation et la maintenance des ordinateurs ainsi que
d’aider les utilisateurs à prendre en main leurs nouveaux outils de travail.
- Hotline : elle est chargée de répondre aux demandes d’assistance des utilisateurs, de
les dépanner à distance ou de transmettre l’intervention au secteur concerné.
*Nb : tous les mots suivis d’une étoile (*) sont définis dans le lexique (page 53)
Projet de fin d’études
Organigramme
Assistant Directeur Up informatique
A. Lacave
Directeur Up informatique
L. Vezignol
Technico-Admin
L. Sicaud
Projet de fin d’études – Chausson Frédéric
Assistant Directeur Up informatiqueHotline
P. RichardF. Cabanac
Directeur Up informatique
Groupe technique
Responsable - G. SaumitouAssistant - E. Cattarin
M. BouyouB. LassaleS. EtchelecouJ.F Fleury
Secteur Sud
Responsable - F. BergeAssistant - Ch. Pascouau
A. AgarB. ChaptalM. MarqueJ.J. MespledeK. MaruganG. Larregaray
Secteur Nord
Responsable - S. MartinatAssistant - E. Lacour
C. EngelsP. BazinS. frereG. ArnaudetB. Beaujoin
Alternant - F. Chausson
10
Groupe technique
G. SaumitouE. Cattarin
S. Etchelecou
Secteur Sud
F. BergeCh. Pascouau
J.J. Mesplede
G. Larregaray
Secteur Nord
S. Martinat
F. Chausson
Projet de fin d’études – Chausson Frédéric
11
Ma position et mes activités dans l’entreprise
Depuis ma rentrée en septembre 2007, je suis arrivé au secteur Nord (Extra-muros).
En tant que Technicien informatique, je suis chargé :
- De prendre connaissance des fiches d’intervention demandées sur mon secteur qui
sont transmises par le biais d’intranet,
- De traiter la demande ou de faire intervenir la personne compétente si la demande
n’est pas dans mon champ de compétence ou d’autorisation,
- De clôturer les fiches d’intervention lorsque l’incident est réglé.
Mon travail se compose de plusieurs tâches :
- Diagnostiquer des pannes (BSOD* ordinateur qui rame, plante, changements de
pièces…).
- Installer et configurer des nouveaux postes (fixes ou portables).
- Paramétrer des comptes utilisateurs (Outlook, documents, pda*, téléphones…).
- Installer des applications régionales ou locales.
- Dépannages informatiques à distance (Avec le logiciel DameWare).
- Maintenance des serveurs d’impression et Active Directory (ajouts/suppression
d’utilisateurs et d’ordinateur).
- Faire de la Hotline afin d’aider les utilisateurs et de créer des fiches d’interventions.
Pour réaliser mon projet de fin d’études, j’ai changé de secteur et je suis passé au Groupe
Technique où j’ai collaboré au projet de mise en place d’un serveur.
Projet de fin d’études – Chausson Frédéric
12
Projet
Etude du projet
Situation actuelle
Actuellement plusieurs outils de supervision sont utilisés pour le réseau (Switch, routeurs…)
et les serveurs. En cas de panne d’un équipement, de nombreuses remontées d’alarmes
(souvent redondantes) doivent être traitées et triées par les administrateurs. Les indications
données par ces outils sont parfois peut précises.
Intérêt des outils de supervision (Monitoring)
De nos jours les systèmes d’informations sont devenus des éléments clés pour les
entreprises, ils deviennent de plus en plus complexes, vastes et importants, ce qui demande
énormément de temps pour la gestion et la maintenance. C’est pourquoi un outil de
supervision devient nécessaire pour accompagner les administrateurs et techniciens réseaux
afin de leur simplifier la tâche.
Lorsqu’un service ou une connexion réseau cesse de fonctionner, ils doivent le plus
rapidement possible prendre les dispositions nécessaires, pour rendre de nouveau le
système opérationnel car l’arrêt ou la panne d’un système peut mobiliser plusieurs
personnes, surtout à la SNCF. Ces outils sont la pour anticiper et réagir au plus vite dans ces
moments de conflits. Ils nous renseignent et nous aident pour :
- Résoudre des problèmes qui auraient pu être détectés plus tôt.
- Tenter de déterminer l’importance et la priorité des événements et leurs causes
principales.
- Rechercher l’information nécessaire pour résoudre le problème.
- Nous avertir au plus vite afin de résoudre les soucis les plus paralysants.
Le principe du « monitoring » est d’anticiper les problèmes pour tenter d’y remédier avant
l’arrêt d’un service ou du moins minimiser le temps de restauration du service. Mais aussi
d’avoir une vue quasi temps réel du système d’information. Une plate-forme de supervision
est un outil indispensable pour une entreprise dotée d’un grand parc informatique car l’arrêt
d’un service ou matériel peut avoir des conséquences financières assez importantes.
Exemple, si un serveur qui gère les trains, tombe en panne il faut réagir au plus vite car les
dégâts peuvent être très importants.
Projet de fin d’études – Chausson Frédéric
13
Outils de supervision déjà en place
Les logiciels présents dans le service informatique qui servent à superviser les équipements
on été choisis et imposés au niveau national (contrat cadre national, ils généralisent pour un
moindre cout)
Pour le réseau :
Console enterasys : Gère tous les équipements enterasys en supervision et aussi en
administration (console)
Console 3com : Gère tous les équipements 3com en supervision et aussi en administration
(console)
Système :
HP Insight Manager : Outil de supervision serveurs, qui vérifie entre autre l’état des services,
la connectivité du serveur… etc.
Divers scripts : Des scripts mis en place pour savoir si un serveur est connecté ou en erreur
réseau, si oui un mail est envoyé à l’administrateur afin qu’il en soit averti
Projet de fin d’études – Chausson Frédéric
14
Besoin des utilisateurs
Les utilisateurs souhaiteraient avoir une seule et même interface pour superviser les
équipements :
- Plus simple et plus précise dans la remontée des erreurs.
- Un plan du réseau + une indication en temps réel sur l’état du réseau.
- La supervision de services (DHCP, Dns…)
- La supervision matérielle des serveurs (Mémoire, CPU, Disques…)
Problématique :
Tous les logiciels actuels envoient une remontée d’alerte
- Ces notifications peuvent être floues et demander une recherche approfondie des
pannes, voir un déplacement physique sur le site.
- Il y a donc trop de notifications similaires mais qui n’arrivent pas du même logiciel,
ce qui rend la tâche difficile pour trouver d’où vient réellement le problème.
- Certains services ne sont pas remontés en erreur à certains moments, on ne peut
pas savoir précisément si la panne est matérielle ou logicielle.
Projet de fin d’études – Chausson Frédéric
15
Cahier des charges
Fonction principale 1 :
L’outil de supervision devra être complet.
- Un seul et même outil pour la supervision
Fonction principale 2 :
L’interface devra être simple.
- Une seule et même interface pour la supervision.
Fonction principale 3 :
L’outil devra envoyer des alertes via emails.
- Les emails alertent rapidement pour une intervention spontanée
Fonction principale 4 :
L’outil devra superviser les services des serveurs.
- Des services comme le DHCP ou le DNS.
Fonction principale 5 :
L’outil devra représenter une cartographie du réseau.
- Une interface simple pour les administrateurs et les techniciens.
Contraintes :
- Le système devra être en place avant fin juillet.
- Le système devra être opérationnel 24 heures/24 - 7 jours/7.
- La mise en production ne doit pas provoquer de coupure pour les outils déjà présents.
- L’outil devra être évolutif
Plannings (Voir page ci après)
Projet de fin d’études – Chausson Frédéric
Chausson Frédéric
16
Projet de fin d’études – Chausson Frédéric
17
Étude de solutions
Liste des solutions existantes
Plusieurs solutions peuvent être mises en place, qu’elles soient gratuites ou payantes. Elles
ont plus ou moins de possibilités, de compatibilités matérielles, d’évolution future. On peut
retrouver des logiciels payants comme Scom (Microsoft System Center Operation Manager)
ou bien des gratuits comme Nagios.
Présentation des solutions
Scom : Développé par le géant Microsoft, Scom est un programme de supervision réseau qui
permet le monitoring des différents équipements grâce à une interface logicielle.
Principales caractéristiques :
- Automatisation du déploiement des stratégies de surveillance pour les systèmes et
applications installés.
- Collecte des événements applicatifs, systèmes et compteurs de performances.
- Surveillance avec corrélation de ces éléments et des alertes proactives.
- Collecte d'audit des journaux d'événements sécurité.
- Fonctions de création de rapports et d'analyse.
- Des tâches et des connaissances personnalisables associées à certaines alertes ou
applications.
- Intégration complète de PowerShell, nouveau langage de script des systèmes
Windows.
- Avoir des Informations précises sur l'état des serveurs et générer en temps réel des
alertes.
- Concentrer la surveillance des systèmes d'information en un produit unique de
supervision.
- Obtenir la visibilité nécessaire pour assurer la protection des renseignements et
surveiller son environnement.
- Améliorer l'efficacité des opérations informatiques via des pratiques éprouvées
intégrées dans les packs d'administration.
- Générer des rapports sur les niveaux de services et de performances afin d'aider à
analyser l'état de fonctionnement du SI.
- Permettre de générer des tableaux de bord et rapports sur l'historique du
fonctionnement des serveurs et objets managés.
Projet de fin d’études – Chausson Frédéric
18
FAN (Full Automated Nagios) : Développé par la communauté libre de linux FAN est un cd
automatisé qui regroupe tous les outils pour mettre en place une suite de logiciels de
supervision (Nagios, Centreon, Nagvis…) fonctionnant sous linux.
Principales caractéristiques :
- Une Surveillance des services réseau (SMTP, POP3, HTTP, PING...).
- Une Surveillance des ressources des hôtes (charge processeur, utilisation des
disques, charge mémoire…).
- Création de graphiques via SNMP et l’application RRD.
- Alertes par le biais d’emails ou sms.
- Une Parallélisation de la vérification des services afin de limiter la charge CPU
- Une collecte d'audits des journaux d'événements sécurité.
- Des tâches et des connaissances personnalisables associées à certaines alertes ou
applications.
- Une Possibilité de définir la hiérarchie du réseau en utilisant des hôtes "parents", ce
qui permet la détection et la distinction entre les hôtes qui sont à l’arrêt et ceux qui
sont injoignables.
- Avoir des Informations précises sur l'état des serveurs et générer en temps réel des
alertes.
- Concentrer la surveillance des systèmes d'information en un produit unique de
supervision.
- Permettre de générer des tableaux de bord et rapports sur l'historique du
fonctionnement des serveurs ou équipements managés.
Comparaison des solutions
Scom Nagios
Prix élevé. Gratuit et Open Source.
Difficultés pour gérer les licences. Pas de gestion des licences.
Pas de monitoring pour les matériaux et produits
non Microsoft (Switch, serveurs…).
Possibilité de monitoring pour tous les matériaux,
avec l'adresse IP.
Pas de cartographie. Cartographie complète grâce à Nagvis.
Aucune évolution logicielle. Plugins, Addons, Scripts, communauté libre…
Choix final
Notre choix final s’est porté sur une solution gratuite, vaste et qui a des possibilités
d’évolutions futures.
Projet de fin d’études
Présentation de la solution
Descriptif
Fan a été crée dans le but de réunir tous les outils les plus utilisés dans la communauté
Nagios. Elle se présente sous forme de format
l’installer sur n’importe quel serveur/machine. L'installation installe une distribution linux
sans interface graphique (CentOS
(Centreon, Nagvis, Nareto…).
Nagios, Plugins/Addons
Nagios (Anciennement appelé Netsaint) et une application l
supervision réseaux fonctionnant sur la plateforme qui permet de remonter les éventuels
problèmes dans le parc informatique de manière rapide et spontanée. Il effectue
contrôles intermittents sur les hôtes et services en utilisant des plugins externes qui
retournent un statut d'état à N
de plusieurs manières : Email, SMS, Messagerie
place ce qui facilite la lecture, et la supervision de n'importe quel poste (Avec une
authentification lors de la connexion
perfectionnent et le rendent encore plus compatibles ave
d'être bien plus performant pour la supervision. Il permet donc
[x] Superviser des services réseau : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc
[x] Superviser les ressources des serveurs (charge du processe
durs, utilisation de la mémoire paginée) sur la plupart des systèmes
[x] Interface avec le protocole SNMP.
[x] La supervision à distance peut utiliser
[x] La vérification des services se
[x] Possibilité de définir une hiérarchie dans le réseau pour pouvoir faire la différence entre
un serveur en panne et un serveur injoignable.
[x] La remontée des alertes est entièrement paramétrable grâce à l'utilisation de plugins
[x] Acquittement des alertes par les administrateurs.
[x] Gestion des escalades pour les alertes.
[x] Limitation de la visibilité, les utilisateurs peuvent avoir un accès limité à quelques
éléments.
[x] Capacité de gestion des oscillations (nombreux passages d
d'erreur dans un temps court).
Projet de fin d’études – Chausson Frédéric
Présentation de la solution Fan
été crée dans le but de réunir tous les outils les plus utilisés dans la communauté
Nagios. Elle se présente sous forme de format ISO* qui est bootable* afin de pouvoir
l’installer sur n’importe quel serveur/machine. L'installation installe une distribution linux
CentOS) ainsi que tous les packages et outils associés à Nagios
Nagios, Plugins/Addons
é Netsaint) et une application libre (sous licence GPL
supervision réseaux fonctionnant sur la plateforme qui permet de remonter les éventuels
problèmes dans le parc informatique de manière rapide et spontanée. Il effectue
contrôles intermittents sur les hôtes et services en utilisant des plugins externes qui
d'état à Nagios (4 états voir ci après). Il peut envoyer des notifications
de plusieurs manières : Email, SMS, Messagerie instantanée, etc... Une interface Web est en
place ce qui facilite la lecture, et la supervision de n'importe quel poste (Avec une
lors de la connexion.) Il peut être complété de nombreux plug
encore plus compatibles avec certains matériels, et qui permet
d'être bien plus performant pour la supervision. Il permet donc de :
[x] Superviser des services réseau : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc
[x] Superviser les ressources des serveurs (charge du processeur, occupation des disques
durs, utilisation de la mémoire paginée) sur la plupart des systèmes d’exploitation
[x] Interface avec le protocole SNMP.
[x] La supervision à distance peut utiliser SSH* ou un tunnel SSL*.
[x] La vérification des services se fait en parallèle.
[x] Possibilité de définir une hiérarchie dans le réseau pour pouvoir faire la différence entre
un serveur en panne et un serveur injoignable.
[x] La remontée des alertes est entièrement paramétrable grâce à l'utilisation de plugins
Acquittement des alertes par les administrateurs.
[x] Gestion des escalades pour les alertes.
[x] Limitation de la visibilité, les utilisateurs peuvent avoir un accès limité à quelques
[x] Capacité de gestion des oscillations (nombreux passages d'un état normal à un état
d'erreur dans un temps court).
19
été crée dans le but de réunir tous les outils les plus utilisés dans la communauté
afin de pouvoir
l’installer sur n’importe quel serveur/machine. L'installation installe une distribution linux
et outils associés à Nagios
licence GPL*) de
supervision réseaux fonctionnant sur la plateforme qui permet de remonter les éventuels
problèmes dans le parc informatique de manière rapide et spontanée. Il effectue des
contrôles intermittents sur les hôtes et services en utilisant des plugins externes qui
voir ci après). Il peut envoyer des notifications
ne interface Web est en
place ce qui facilite la lecture, et la supervision de n'importe quel poste (Avec une
de nombreux plug-ins qui le
c certains matériels, et qui permet
[x] Superviser des services réseau : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc…).
ur, occupation des disques
d’exploitation.
[x] Possibilité de définir une hiérarchie dans le réseau pour pouvoir faire la différence entre
[x] La remontée des alertes est entièrement paramétrable grâce à l'utilisation de plugins
[x] Limitation de la visibilité, les utilisateurs peuvent avoir un accès limité à quelques
'un état normal à un état
Projet de fin d’études – Chausson Frédéric
20
[x] Chaque test renvoie un état particulier :
1. OK (tout va bien)
2. WARNING (le seuil d'alerte est dépassé)
3. CRITICAL (le service a un problème)
4. UNKNOWN (impossible de connaître l'état du service)
Plugins/Addons :
Les plugins ou addons sont des programmes qui sont ajoutés en complément de
nagios, ils ajoutent des nouvelles fonctionnalités et apportent un confort dans la supervision.
• Centreon (Anciennement appelé Oreon) : Interface Web pour Nagios.
Une interface multi-utilisateur intuitive et personnalisable.
Une interface de configuration évoluée.
Une gestion de tous les fichiers de configuration de Nagios.
Un module de chargement de configuration de Nagios.
Une compatibilité Nagios 1.x, Nagios 2.x, Nagios 3.x
Des fiches d'identités serveurs/équipements réseau regroupant les informations de base sur
ces types de ressource.
Des représentations graphiques personnalisables.
Une gestion des accès très sécurisée et personnalisable.
Un système de modules qui permet l'inclusion d'autres applications.
Un compte-rendu complet sur les incidents.
Un système de calcul de la qualité de service en temps réel avec alerte en cas de diminution
de la qualité de service.
Une cartographie Java pour une vision simplifiée de l'état du système d'information.
• Nagvis : Module qui permet de créer des Schémas de la supervision. Il est possible
de coupler Nagvis à un Schéma réseau et ainsi mettre en relation les données de
Nagios en temps réel sur le schéma.
• NDOUtils : stocke les données Nagios dans une base MySQL.
• NRPE : Mécanisme qui permet d'exécuter des commandes sur les machines
« monitorées » et envoyer les résultats sur Nagios.
• Nareto (Nagios Reporting Tools) : Interface de haut niveau à Nagios. Nareto se base
sur les informations de Nagios pour fournir des vues de plus haut niveau pour
différents utilisateurs (On définit les limites de vue pour chaque utilisateur).
Trois vues sont disponibles : le Temps réel, le Reporting, l'Historique des Alarmes et
le Suivi des Alarmes.
Projet de fin d’études – Chausson Frédéric
21
Protocole SNMP
Le protocole SNMP fonctionne sous forme de questions-réponses entre un serveur (dans
notre cas Nagios) et des équipements réseau (hôtes) (Serveurs, Switch, Hubs, Ordinateur,
routeurs…) ayant ce protocole installé.
Le client peut émettre un message vers le serveur sans nécessiter de réponse : le message
visant à alerter l’administrateur d’une défaillance (par exemple, l’espace disque d’un serveur
ayant dépassé un seuil défini au préalable par le technicien).
Il peut récupérer toutes sortes d’informations sur l’état actuel d’un équipement réseau. Ces
informations sont stockées dans une base de données arborescente appelée MIB
(management information base). Ce protocole n’est plus l’unique moyen de supervision : en
effet les logiciels de supervision d’aujourd’hui tendent vers l’utilisation d’agents
propriétaires afin de remplacer le protocole SNMP et ce dans le but de fournir toujours plus
d’informations à l’utilisateur. Cependant le protocole SNMP reste le seul moyen de surveiller
l’activité d’équipements réseaux tels que les commutateurs ou les routeurs, étant donné
que ces matériaux offrent rarement la possibilité d’installer des logiciels tiers.
Projet de fin d’études – Chausson Frédéric
22
Principe de fonctionnement
Projet de fin d’études – Chausson Frédéric
23
Choix du matériel
Serveur
Pour le choix du serveur, il m’a été imposé. C’est un serveur qui regroupera plusieurs
serveurs (Vmware ESX, voir ci après). Ce type de serveur peut faire fonctionner une dizaine
de serveurs simultanément, ce qui permet le gain de consommation d’électricité, de place et
de coût final.
Caractéristiques
Type : Serveur
Modèle : HP Prolian DL360 G5
Processeur : Bi-Processeur iXEON Quad-Core X5450 3Ghz 4Mb L2
Mémoire : 32 Gigas PC2-5300F DDR2
Disque dur : 10,4 téraoctets
Partition Nagios : 74 Go
2 cartes réseaux 2 ports : 4 Ports 1Gb
Coût
Projet de fin d’études – Chausson Frédéric
24
Système d’exploitation
Vmware Esx
Vmware Esx est un hyperviseur qui partitionne les serveurs physiques en plusieurs machines
virtuelles. Chaque machine virtuelle représente un système complet : processeur, mémoire,
réseau, disque dur…
Cela permet un gain de place, d’électricité, de coût et surtout permet une redondance très
rapide et quasiment invisible (Une simple copie de l’image vmware et tout re-fonctionne, à
condition bien sur d’effectuer des sauvegardes régulières.). Il est compatible avec tous les
systèmes d’exploitation existants (Windows, linux, mac, Unix…).
Linux
Pour installer Nagios, il faut obligatoirement un système d’exploitation linux. Pour ce qui est
du choix de la distribution (Il en existe énormément), le choix a été rapide du fait j’ai choisi
d’installer un système qui regroupe Nagios + plugins (Full Automated Nagios). Le choix a
donc été CentOS, une distribution linux basée et crée à partir des sources RedHat. Cette
distribution n’a pas d’interface graphique (Avec une interface graphique le serveur serait un
peut plus lourd…). Nous pouvons tout de même configurer Nagios et ses addons/plugins via
l’interface web.
Projet de fin d’études – Chausson Frédéric
25
Installation et mise en place
Vmware ESX
Vmware ESX était déjà en place, nous avons besoin de configurer une partie de Vmware afin
de pouvoir intégrer le serveur dans la structure. Je ne détaillerai pas la marche à suivre car je
n’ai pas eu le temps de comprendre à 100% l’utilisation et toutes les marches à suivre pour
créer une nouvelle machine virtuelle, en voici les caractéristiques :
Projet de fin d’études – Chausson Frédéric
26
Linux, Suite Full Automated Nagios
Avant toute chose il faut récupérer et graver l’image ISO du cd FAN
(http://fannagioscd.sourceforge.net).
Après avoir booter sur le CD, il faut appuyer sur la touche « entrée » puis il est demandé la langue
voulue ainsi que la configuration du clavier mettre comme suivant :
Projet de fin d’études – Chausson Frédéric
27
Il faut ensuite s’occuper du partitionnement, une fenêtre s’ouvre ensuite cliquer sur « Oui » :
Projet de fin d’études – Chausson Frédéric
28
Pour bien crée les partitionnement il faut les créer en mode manuel : pour cela choisir l’option « Crée
un partitionnement personnalisé » :
On sélectionne notre disque et on clique sur « nouveau »
Projet de fin d’études – Chausson Frédéric
29
Sur l’espace disque souhaité (En règle générale c’est 1,5 fois la taille de la mémoire physique) on
créer la partition « Swap » qui permet de prendre le relais de la mémoire si il n’y en as plus assez :
Puis on créer pour finir la partition dite « ext3 » ou va être installé le système, ne pas oublier « le
point de montage « / » » puis on sélectionne « remplir jusqu’a la taille autorisée maximale » qui
permet de prendre le reste de la taille du disque.
Une fois validé, on clique sur suivant afin de passer à l’étape finale de l’installation
L’installateur « Grub » doit être installé, sinon le système d’exploitation ne sera pas lancé.
Projet de fin d’études – Chausson Frédéric
30
Un mot de passe Root est demandé, il sert à prendre le contrôle total de la machine, et à avoir les
droits administrateurs afin de faire des modifications système.
Projet de fin d’études – Chausson Frédéric
31
L’installation se poursuit et se termine, le serveur démarre…
L’accès à l’interface en ligne de commande est maintenant opérationnel :
Projet de fin d’études – Chausson Frédéric
32
Interface et prise en main
Pour avoir accès à n’importe quelle interface (Nagios, Nagvis ou Centreon) il suffit de se
connecter sur http://Nom_de_votre_Serveur
On peut accéder aux trois interfaces pour l’utilisation de l’outil de supervision (1).
Projet de fin d’études – Chausson Frédéric
33
Nagios :
Avant de pouvoir consulter Nagios une authentification htaccess* est requise
Page d’accueil de Nagios, à gauche le menu qui permet la navigation avec plusieurs menus et sous
menus.
Projet de fin d’études – Chausson Frédéric
34
« Tactical Overview » permet d’avoir une vue globale sur les statuts des équipements et des services.
Une vue très légère pour avoir un aperçu rapide de l’état réseau.
La partie « Nagvis overview » sera détaillée plus tard car depuis cette interface il est moins agréable
(Fenêtre de vision beaucoup plus petite).
« Nareto overview » ne sera pas détaillé car il ne sera pas utile dans notre solution.
« Service detail » montre une vue totale de tous les services que l’on à souhaité superviser, on peut y
voir leur statut et un statut avancé pour le service (par exemple le pourcentage d’espace
libre/occupé qu’il reste sur un disque). On peut savoir aussi leur Uptime (Indique depuis quand ils
sont UP).
Projet de fin d’études – Chausson Frédéric
35
« Host Detail » permet de voir le statut de manière globale de tous les équipements, savoir si ils sont
en ligne (UP) ou si ils ont un autre statut (Warning, Critical, Unknown).
« Host Group » et « Service Group » permettent de lister de manière claire les groupes
d’équipements et les groupes de services que l’on a crée.
Deux catégories sont présentes :
« Summary » qui montre une liste des groupes d’équipements créée et « Grid » qui montre une liste
des groupes d’équipements mais avec les équipements présents dans chaque groupe.
Summary :
Projet de fin d’études – Chausson Frédéric
36
Grid :
Pour avoir une vue sur tous les matériaux et services qui ont un souci on peut utiliser les deux
catégories « Service Problems » et « Host Problems » (1)
Projet de fin d’études – Chausson Frédéric
37
Une partie « Reporting » (1) qui sert de logs* et qui permet de visualiser tous les équipements ou
services qui ont eu un problème à un moment précis. Elle se compose de 4 parties :
« Trends » : Sert à créer des graphiques sur une période choisie, pour un équipement ou un service
afin de faire un graphique de ses statuts (2).
« Availability » : Permet de donner précisément le/les statuts des équipements et des services par
groupes ou séparés sur une période choisie :
Projet de fin d’études – Chausson Frédéric
38
La partie « Alerts » regroupe trois parties :
« Histogram » qui permet de faire des graphiques du nombre d’événements (Recovery, Warning,
Unknown, Critical) sur une période choisie.
« History » qui regroupe les toutes les alertes positives et négatives qu’il y a eu le jour voulu.
« Summary » fait une liste des 25 alertes les plus critiques sur les matériaux ou services choisis.
Projet de fin d’études – Chausson Frédéric
39
La partie « notification » fait une liste de tous les notifications (Dans notre cas notification par email)
qui ont été envoyées.
La partie « Event Log » regroupe toutes les notifications de nagios et tous les changements de statuts
des équipements.
Projet de fin d’études – Chausson Frédéric
40
Centreon :
Une authentification cette fois ci intégrée à l’interface Web en php. Pour des informations plus
détaillées voir en Annexes.
Projet de fin d’études – Chausson Frédéric
41
Une interface un peu plus conviviale que Nagios :
Le menu qui permet une navigation rapide et aisée (1).
Barre qui regroupe le nombre d’host (équipements) que l’on surveille (2).
Barre qui regroupe les services qui sont surveillés (3).
« Monitoring » permet d’avoir un aperçu sur tous les statuts (Services et Ping) et les logs* de chaque
équipement.
Projet de fin d’études – Chausson Frédéric
42
Projet de fin d’études – Chausson Frédéric
43
« Reporting » permet de faire un graphique (On sélectionne l’équipement sur lequel on veut des
informations) par rapport au % de fonctionnement des services ou du statut.
« Centreon Overview » génère des graphiques suivant le service que l’on veut sur la machine voulue.
Projet de fin d’études – Chausson Frédéric
44
« Id Cards » remonte les informations SNMP des équipements qui sont en V1, cela est encore utile
sur de vieux équipements.
« Configuration » est la partie où l’on ajoute tous les équipements/Services de Nagios, voir les
Annexes pour une partie plus détaillée.
Projet de fin d’études – Chausson Frédéric
45
Nagvis :
Nagvis est beaucoup plus agréable quand il est lancé depuis la page d’accueil de FAN car il n’y à pas
la barre de navigation de Nagios. Un accès htaccess* est requis pour ouvrir l’interface Nagvis. Une
fois ouvert on arrive sur une page qui regroupe toutes les cartes que nous avons créées (Pour voir
comment en créer, voir les Annexes).
La carte Automap permet de faire une carte automatique en fonction des liens de parenté mises
dans centreon.
Projet de fin d’études – Chausson Frédéric
46
On peut voir la carte globale de l’aquitaine avec une petite flèche verte (1) qui indique que tous les
équipements et les services sont OK sur « Agen » :
Projet de fin d’études – Chausson Frédéric
47
Lorsque l’on clique sur la petite flèche on a une vue plus précise de la ville
Si on clique par exemple sur une flèche verte (qui passe rouge quand un service ou un élément cesse
de fonctionner). Si on clique sur la salle serveur on peut avoir une vue encore plus précise avec une
photo de la salle serveurs par exemple :
Projet de fin d’études – Chausson Frédéric
48
Et aussi un détail complet lorsque l’on clique sur la flèche verte « serveur »:
Projet de fin d’études
Bilan
Résultats :
Une fois tous les équipements et les sites insérés sur l’interface Web Nagios on peut voir une grande
carte qui regroupe la plupart des sites
Projet de fin d’études – Chausson Frédéric
Une fois tous les équipements et les sites insérés sur l’interface Web Nagios on peut voir une grande
carte qui regroupe la plupart des sites :
49
Une fois tous les équipements et les sites insérés sur l’interface Web Nagios on peut voir une grande
Projet de fin d’études – Chausson Frédéric
50
Lorsque l’on clique sur une croix verte, rouge ou orange (La couleur dépend du niveau d’alerte) une
autre page s’ouvre et on peut voir une carte plus détail du site :
Pour toutes les salles serveurs une autre vue est disponible en cliquant sur l’icône de la salle : (on
peut voir sur la carte une remontée des services disque mémoire et processeur de chaque
machines.).
Projet de fin d’études – Chausson Frédéric
51
Pour mettre en place tous les sites il a fallu ajouter manuellement tous les Switch, routeurs, et
serveurs dans centreon (Il y à environ 700 équipements):
On peut voir ci-dessus des statistiques instantanées en diagramme circulaire (Représenté en %).
Deux tableaux pour les services et les hosts sont aussi présents pour avoir un œil rapide sur tous les
équipements.
Dès qu’un équipement tombe ou un problème sur un serveur un email est envoyé du type :
***** centreon Notification *****
Notification Type: RECOVERY
Service: Bd_System_Mem
Host: Sxxxxxxxx
Address: 10.xx.xx.xxx
State: OK
Date/Time: Mon Jul 6 13:13:20 CEST 2009
Additional Info :
Memory usage: total:8796.63 Mb - used: 686.00 Mb (8%) - free: 8110.63 Mb (92%)
Projet de fin d’études – Chausson Frédéric
52
Soucis rencontrés
De nombreux soucis ont été rencontrés lors de l’installation et la configuration de Nagios, souvent
des soucis de configuration ou des oublis d’options. La documentation et l’aide se fait rare sur
internet, je me suis principalement aider de :
http://www.google.fr
http://forum-centreon.com
http://nagios-fr.org/forums/index.php
Lors de la mise en place sur le réseau il n’y a pas eu de problèmes mis à part des finitions comme les
intervalles des notifications, des équipements en erreur et quelques autres soucis peu important.
Impacts de la mise en place de la solution
Avec la mise en place de mon projet, les techniciens informatiques ont pu découvrir de nouveaux
problèmes et ainsi anticiper sur d’éventuelles pannes futures. Par exemple des disques durs de
serveurs qui étaient pleins à 95% ou des processeur bloqués à 100%...etc.
Ils ont maintenant une vue globale avec tous les sites à superviser en temps réel, beaucoup plus
agréable à voir et mieux cibler les sites.
Nous avons aussi par la même occasion tenter de réparer un maximum de problèmes pour avoir une
carte avec le moins d’alertes possibles, et ainsi trouver quelques équipements qui n’existaient plus
ou encore qui avaient changés d’ip (Pour les cartes).
Conclusion personnelle
Durant ces 6 mois d’intégration et de mise en place de mon projet Nagios, j’ai pu élargir mes
connaissances en travaillant avec des outils compliqués comme Vmware, Linux et Nagios. J’ai
travaillé en équipe car j’avais besoin continuellement d’information sur le vaste réseau informatique.
J’ai eu beaucoup de chance de pouvoir mettre en place un tel outil de supervision sur un très grand
réseau, avec un bon serveur, ce qui m’a permis de travailler dans les meilleures conditions et de
mettre fin à mon projet dans la limite du temps.
Projet de fin d’études – Chausson Frédéric
53
Lexique
Licence GPL (General Public License) : est une licence qui fixe les conditions légales de distribution
des logiciels libres du projet GNU*
Projet GNU (Gnu's Not Unix) : est un projet de système d'exploitation composé exclusivement de
logiciels libres
UPI : Unité de Production Informatique
DSIT : Direction des Systèmes d'Informations et des Télécommunications
BSOD: Blue Screen Of Death
ISO : Image d'un cdrom mis sur un disque dur
Bootable : Une fois une iso gravé sur un cd, si il est inséré dans le lecteur cdrom il s'exécute avant le
lancement du Système d'exploitation
OS : Opérating System (Système présent)
SSH : Secure SHell, protocole de communication sécurisée
SSL : Secure Socket Layer, protocole de sécurisation d’échanges
SMS : Systems Management Server, permet la gestion des applications et des machines d'un parc
informatique.
Htaccess : fichier qui permet entre autre de mettre un accès restreint à une page internet (Une
authentification est demandée)
Logs : Fichiers où sont stockés toutes les activités pour garder des traces et savoir ce qui c'est passé à
un moment précis.
Pda : Personal Digital assistant ou ordinateur de poche
Projet de fin d’études – Chausson Frédéric
54
ANNEXES
Projet de fin d’études – Chausson Frédéric
55
Procédure d’installation et de configuration
Full Automated Nagios
1) Paramétrage CentOS 57
a. Changer le mot de passe root 57
b. Synchroniser la date et l’heure 58
c. Configurer les DNS 58
d. Configurer l’adresse IP 58
e. Configurer le nom de la machine 58-59
f. Changer le mot de passe de l’interface web Nagios 59
2) Centreon 60
a) Ajouter un utilisateur 60-61
b) Ajouter un host 62
1. Mettre des relations aux hosts et infos divers 63
2. Créer des hosts groups 64
c) Ajouter un service basique (ping) 65
1. Mettre des relations aux services 66
d) Ajouter un service avancé (Pross, mémoire, HDD…) 67-68
1. Installation du client sur les serveurs 69
2. Toutes les commandes de check 69-70
e) Créer un template pour host 71-72
Projet de fin d’études – Chausson Frédéric
56
3) Présentation et prise en main de Nagios 73-80
4) Nagvis 81
a) Menu « Manage » 81-82
1) Maps 82
2) Backgrounds 83
3) Shapes 83
b) Ajouter un Hosts 84-85
c) Ajouter un groupe d’host 86-87
d) Faire des liaisons entre les cartes 88
e) Ajouter un lien shape ou du texte 89-91
f) Mettre à jour l’image de fond d’une carte 91
Projet de fin d’études – Chausson Frédéric
57
1) Paramétrage CentOS
Le serveur Nagios est enfin lancé, nous allons le configuré afin de le normaliser.
Il faut tout d’abord se loger puis rebooter le serveur. (Pour redémarrer immédiatement, la
commande est « shutdown –r now»)
Une fois redémarré une page de configuration s’ouvre, on quitte directement on va le configurer
manuellement.
a. Changer le mot de passe root
Pour le mot de passe root il suffit de se loger sur le serveur (que ce soit avec putty ou directement
depuis le serveur) et taper la commande :
# passwd
Il demande en suivant de taper un nouveau mot de passe.
Projet de fin d’études – Chausson Frédéric
58
b. Synchroniser la date et l’heure
Pour éviter que le serveur Nagios ne perde l’heure, il faut le synchroniser avec un serveur de temps.
Il faut modifier un fichier qui se trouve dans « /etc/ » : « vi /etc/ntp.conf »
Et lui ajouter les ip des serveurs sous la forme « servername_ip », il faut aussi supprimer toutes les
lignes (1) et (2)
c. Configurer les DNS
Il faut entrer les ip manuellement car le serveur ne fait pas parti d’un domaine, pour ce faire éditer le
fichier « vi /etc/resolv.conf » et y rentrer les ip sous la forme « nameserver ip »
d. Configurer l’adresse IP
Pour l’IP par défaut le serveur est en automatique (Il récupère directement son IP depuis le DHCP, il
faudra par contre la fixer avant son lancement.). Si on veut la fixer manuellement on peut le faire
avec la commande
# system-config-network
e. Configurer le nom de la machine
Il faut ensuite qu’on lui donne un nom, pour cela il faut modifier le fichier network dans
/etc/sysconfig/network
On édite ce fichier avec la commande « vi »
# vi /etc/sysconfig/network // Ne pas oublier l’espace entre vi et /etc/
On appuie sur la touche « i » pour pouvoir modifier le fichier (Insert apparait en bas à gauche de
l’écran)
Projet de fin d’études – Chausson Frédéric
59
Pour sortir du menu modification (une fois qu’on lui à attribué un nom), on appuie sur la touche
échap puis la combinaison de touche « :wq » (Ne pas oublier les : ) w : sert à sauvegarder et q : sert
à quitter.
Pour finaliser le nommage on doit taper la commande :
# hostname Nom_que_l_on_souhaite_afficher
Il suffit de redémarrer pour que tout soit pris en compte.
On peut voir que le hostname à été pris en compte.
Pour éviter de se déplacer sur le serveur on peut prendre la main sur via SSH avec par exemple le
client Putty.
Vérifier,au cas où,l’heure avec la commande :
# date
mar mar 17 11:06:54 CET 2009
f. Changer le mot de passe de l’interface web Nagios
On va aussi changer le mot de passe par défaut de Nagios pour accéder à son interface Web.
# htpasswd /etc/nagios/htpasswd.users nagiosadmin
Il vous demande de taper un nouveau mot de passe.
Si on veut ajouter un nouvel utilisateur il suffit de faire :
# htpasswd /etc/nagios/htpasswrd.users Nom.du.nouvel.utilisateur
Pour supprimer un utilisateur il suffit d’éditer le fichier htpasswd.users et de supprimer la ligne de
l’utilisateur
# vi /etc/nagios/htpasswd.users
Projet de fin d’études – Chausson Frédéric
60
2) Centreon
/ !\ Pour toute modification dans centreon il est IMPERATIF de faire la manipulation suivante à
chaque modification (Après avoir ajouté un groupe de périphériques, une ou plusieurs machines) / !\
Il faut pour cela aller dans Configuration/Nagios(1) et cocher toutes les cases comme suit et cliquer
sur « export » (2)
a) Ajouter un utilisateur
On va tout d’abord créer un utilisateur. Il suffit de se connecter sur l’interface Centreon puis dans
configuration(1)/utilisateurs(2)/ajouter(3)
Projet de fin d’études – Chausson Frédéric
61
1 – Nom qui sera utilisé pour ouvrir la session
2 – Surnom du compte
3 – Adresse mail qui recevra les notifications
4 – Groupe dans lequel sera l’utilisateur
5 – Si l’utilisateur a le droit d’accéder à l’interface centreon
6 – Mot de passe pour l’utilisateur
7 – Langage de l’interface Centreon
8 – Format du mail pour les alertes
9 – L’utilisateur sera administrateur ou non
10 – Type d’authentification
11 – Choix du type de notification que l’on souhaite recevoir pour les Hosts
12 – Période de notification (24x7 signifie qu’on recevra des notifications 24heure/24 7jours/7)
13 – Le type de notification (Laisser celle là par défaut)
14 – Choix du type de notification que l’on souhaite recevoir pour les services
15 – Période de notification (24x7 signifie qu’on recevra des notifications 24heure/24 7jours/7)
16 – Le type de notification (Laisser celle là par défaut)
Projet de fin d’études – Chausson Frédéric
62
b) Ajouter un host
On va maintenant ajouter un host à notre environnement, pour ce faire on se rend dans la partie
« configuration/hosts/ajouter » on arrive donc à cet écran :
1 – Nom de l’ordinateur
2 – Surnom de l’ordinateur (Nom qui apparaitra dans la description)
3 – Adresse IP de la machine
4 – Communauté SNMP, par défaut mettre Public en V1
5 – Pour mettre un template s’il à déjà été créé
6 – Période ou nagios fait le contrôle de la commande (c'est-à-dire 24heure/24 7jours/7)
7 – Commande associée à la machine (Pour le moment check_host_alive est un Ping)
8 – Certaines commandes demandent des arguments en plus
9 – Nombre d’essais maximum avant l’envoi de mail en cas d’échec
10 – Lorsque le statut est OK, le service est vérifié toutes les x minutes
11 – Groupe de contact à contacter
12 – Intervalle d’envois de mail en cas d’échec
13 – Période ou nagios envois les mails (c'est-à-dire 24heure/24 7jours/7)
14 – Type de notifications que l’on veut recevoir
15 – Si on veut avoir un état de suivi précis
Projet de fin d’études – Chausson Frédéric
63
1. Mettre des relations aux hosts et infos divers
Pour avoir une hiérarchie et pour mieux cibler les problèmes nous pouvons mettre en place des
relations. Une fois que nous avons rempli la première partie sur la configuration de l’host on va dans
l’onglet « relations » :
1 – Ici on choisit dans quel host groups on veut notre ordinateur, Si l’ordinateur est sur bordeaux on
peut créer un réseau nommé bordeaux pour s’y retrouvé plus facilement (Pour la création de host
groups voir page suivante.)
2 – Définir les hosts parents, les Switch, serveurs, routeurs, firewall…
3 – Définir les hosts enfants, serveurs, postes, Switch, routeurs, firewall…
Le dernier onglet sert à ajouter des infos supplémentaires sur le matériel, on peut lui attribuer une
icône (Afin que ce soit plus propre dans la vue de nagios) ou encore noter un commentaire.
Projet de fin d’études – Chausson Frédéric
64
2. Création des hosts groups
Pour créer des host groups il faut se rendre dans configuration/Hosts/Host Groups/Ajouter :
1 – Nom que l’on veut donner à notre groupe d’host
2 – Surnom que l’on veut donner au groupe d’host
3 – Communauté SNMP, par défaut mettre Public en V1
4 – On sélectionne tous les hosts que l’ont veut attribuer dans le groupe
Projet de fin d’études – Chausson Frédéric
65
c) Ajouter un service basique (Ping)
Pour ajouter un service il faut se rendre dans configuration/Services/Services par host/Ajouter
1 – Nom que l’on veut donner au service
2 – Période ou nagios fait le contrôle de la commande (c'est-à-dire 24heure/24 7jours/7)
3 – Commande qui va être exécutée
4 – Pour certaines commandes des arguments sont nécessaires (Voir article 3.d)
5 – Nombre d’essais maximum avant l’envoi de mail en cas d’échec
6 – Lorsque le statut est OK, le service est vérifié toutes les x minutes
7 – Lorsque le statut est différent de OK, le service est vérifié toutes les x minutes
8 – Groupe de contact à contacter
9 – Intervalle d’envois de mail en cas d’échec
10 – Période ou nagios envois les mails (c'est-à-dire 24heure/24 7jours/7)
11 – Type de notifications que l’on veut recevoir
Projet de fin d’études – Chausson Frédéric
66
1. Mettre des relations aux services
Après avoir rempli la configuration du service on peut directement le mettre en relation avec un
Host, cliqué sur l’onglet relations (à coté de service configuration).
1 – Tous les host auxquels on veut attribuer un service
2 – Tous les groupes auxquels on veut attribuer un service (Si on ajoute un groupe dans ce service, le
service passera directement dans Service par Host Group)
Projet de fin d’études – Chausson Frédéric
67
d) Ajouter un service avancé (Pross, mémoire, HDD…)
Pour ajouter un service avancé il nous faut avant toute chose configurer les commandes de check.
Pour cela il faut aller dans configuration/commandes/ soit on modifie une commande existante ou
alors on en crée une nouvelle (dans notre cas, ce sont les commandes qui correspondent au client
NC_NET)
1 – Nom que l’on veut donner à notre commande de check
2 – Commande qui va être exécutée
$USER1$/check_nt -H $HOSTADDRESS$ -v SERVICESTATE -l $ARG1$ -s "None"
La commande se compose de 5 parties :
$USER1$/check_nt : $USER1$ correspond à l’utilisateur courant qui exécute la commande et
check_nt correspond à la commande qui sera exécutée sur le serveur.
-H $HOSTADDRESS$ : -H est l’option ou il faut mettre une adresse IP en suivant, le fait de mettre
$HOSTADDRESS$ mettra automatiquement l’adresse IP de la machine sur laquelle on à définit la
commande.
-v SERVICESTATE : -v est l’option pour définir ce qu’il doit checker (Vérifier) dans notre cas
SERVICESTATE correspond à un statut d’un service.
-l $ARG1$ : -l signifie que l’on va mettre des arguments, dans notre cas $ARG1$ correspond au nom
du service que l’on veut checker.
-s "None" : -s est l’option qui permet de mettre un mot de passe pour accéder aux infos du serveur.
Par défaut c’est None.
Projet de fin d’études – Chausson Frédéric
68
Quand on ajoute un nouveau service, on peut utiliser la commande check_NT
1 – Nom de la commande utilisée
2 – Arguments, chaque argument ($ARG1$, $ARG2$, $ARG3$...Etc.) doit être noté !+argument, dans
notre cas on en avait qu’un donc on lui ajoute !+ « nom_du_service »
3 – Si on veut se rappeler de la commande que l’ont à taper avec les arguments à remplir on clique
sur cet icône
4 – Sert à répertorier toutes les options de la commande check_NT
Projet de fin d’études – Chausson Frédéric
69
1. Installation du client sur les serveurs
Pour avoir les remontées d’informations sur chaque serveur on doit installer un petit programme
(client) qui va s’en occuper. L’installation est toute simple il y a deux possibilité, soit on l’installe
directement sur chaque serveur (très long) soit on fait un lot sms. Pour pouvoir l’installer, le serveur
doit répondre à plusieurs caractéristiques :
• NC_Net est écrit en langage C et utilise Dot Net Framework 1.1.4322 (Obligation d’installer
une version supérieure à dot net 1.1.4322)
• Le système d’exploitation doit être Windows 2000, XP, Windows 2xxx Servers.
• Il fonctionne aussi sous NT 4 mais après avoir installé DOT NET (pour plus d’informatique voir
sur le site de Microsoft : kb 815177
2. Toutes les commandes de check
Voici un récapitulatif de toutes les commandes du client :
- CPU Load
Commande : check_nt -H HOSTNAME -v CPULOAD –l minutes_range, warning_percent,
critical_percent
Exemple : check_nt -H 127.0.0.1 -v CPULOAD -l 10,80,95,60,80,95,1440,80,95
- Disk Usage
Commande : check_nt -H HOSTNAME -v USEDDISKSPACE -l drive_letter -w warning_percent -c
critical_percent
Exemple : check_nt -H 127.0.0.1 -v USEDDISKSPACE -l C -w 80 -c 90
- Uptime
Commande : check_nt -H HOSTNAME -v UPTIME
Exemple : check_nt -H 127.0.0.1 -v UPTIME
- Services States
Commande : check_nt -H HOSTNAME -v SERVICESTATE [-d SHOWALL] -l
service_1[,service_2,service_3,...]
Exemple : check_nt -H 127.0.0.1 -p 1248 -v SERVICESTATE -d SHOWALL -l LanmanServer,Schedule
- Process States
Commande : check_nt -H HOSTNAME -v PROCSTATE [-d SHOWALL] -l
process_1[,process_2,process_3,...]
Exemple : check_nt -H 127.0.0.1 -v PROCSTATE -l "NC_Net.exe,notepad.exe,dummy name.txt" -d
SHOWALL
- Client Version
Commande : check_nt -H HOSTNAME -v CLIENTVERSION
Exemple : check_nt -H 127.0.0.1 -v CLIENTVERSION
Projet de fin d’études – Chausson Frédéric
70
- Memory Usage
Commande : check_nt -H HOSTNAME -v MEMUSE [-w warning_percent ] [-c critical_percent]
Exemple : check_nt -H 127.0.0.1 -p 1248 -v MEMUSE -w 80 -c 90
- File Age Usage
Commande : check_nt -H HOSTNAME -v FILEAGE –l filename_Path[,date_format] [-w warning ] [-c
critical]
Exemple : check_nt -H 127.0.0.1 -v FILEAGE -l "c:\\program files\\shatter
it\\NC_Net\\config\\passive.log" -w 8 -c 10
- Custom Counter
Commande : check_nt -H HOSTNAME -v COUNTER -l counter_name[,counter_description] [-w
warning_percent ] [-c critical_percent]
Exemple : check_nt -H 127.0.0.1 -p 1248 -v COUNTER -l "\\Paging File(_Total)\\% Usage","Paging file
usage is %.2f %%" -w 80 -c 90
- Instances
Commande : check_nt -H HOSTNAME -v INSTANCES -l Category_object[,Category_object2]
Exemple : check_nt -H 127.0.0.1 -v INSTANCES -l system,processor,memory
- Event Log Check
Commande : check_nt -H HOSTNAME -v EVENTLOG -l "Event Log,Event Type, Time Interval min, Evt
Source List size, [Event source list], Evt Desc list size [RegExp list], Evt ID list size, [Event ID filter list]" [-
w <warning value>] [-c <critical value> ]
Exemple : check_nt -H 127.0.0.1 -v EVENTLOG -l Application,any,10,1,NC_Net,-2,start,stop,0
- WMI Query
Commande : check_nt -H HOSTNAME -v WMICHECK -l "<Namespace>[^<Select> | ^<FULL
SELECT>][^<Class>][^<condition>]"
Exemple : check_nt -H 127.0.0.1 -v WMICHECK -l "cimv2^select name,size,freespace from
win32_logicaldisk"
- Free Space Check
Commande : check_nt -H HOSTNAME -v FREEDISKSPACE -l drive_letter -w warning_percent -c
critical_percent
Exemple : check_nt -H 127.0.0.1 -v FREEDISKSPACE -l c -w 10 -c 5
Pour plus d’informations : http://shatterit.com/nc_net/files/
Projet de fin d’études – Chausson Frédéric
71
e) Crée un template pour host
On va créer des templates pour les hosts, ce qui nous facilitera la configuration de plusieurs
équipements, tout sera normalisé. Pour créer un template il suffit de se rendre dans
Configuration/Hosts/Modèles d’hos/Ajouter
On configure le template comme on configure habituellement un host :
Projet de fin d’études – Chausson Frédéric
72
Dès maintenant lorsqu’on ajoute un nouvel équipement réseau on a juste à sélectionner le template,
donner un nom, un alias et son adresse ip (1) :
Projet de fin d’études – Chausson Frédéric
73
3) Présentation et prise en main de Nagios Avant de pouvoir consulter Nagios une authentification htaccess* est requise
Page d’accueil de Nagios, à gauche le menu qui permet la navigation avec plusieurs menus et
sous menus.
« Tactical Overview » permet d’avoir une vue globale sur les statuts des équipements et des
services. Une vue très légère pour avoir un aperçu rapide de l’état réseau.
Projet de fin d’études – Chausson Frédéric
74
La partie « Nagvis overview » sera détaillée en seconde temps car l’interface via nagios est trop
petite.
« Nareto overview » ne sera pas détaillée car il ne sera pas utile dans notre mise en place.
« Service detail » montre une vue totale de tous les services que l’on a souhaité superviser, on
peut y voir leur statut et un statut avancé pour le services (par exemple le pourcentage d’espace
libre/occupé qu’il reste sur un disque). On peut savoir aussi leur Uptime (Indique depuis quand ils
sont UP)
« Host Detail » permet de voir le statut de manière globale de tous les équipements, savoir si ils
sont en ligne (UP) ou si ils ont un autre statut (Warning, Critical, Unknown)
Projet de fin d’études – Chausson Frédéric
75
« Host Group » et « Service Group » permet de lister de manière claire les groupes d’équipements
et les groupes de services que l’on à créés. Deux catégories sont présentes : « Summary » qui
montre une liste des groupes d’équipements crées et « Grid » qui montre une liste des groupes
d’équipements mais avec les équipements présents dans chaque groupe.
Summary :
Projet de fin d’études – Chausson Frédéric
76
Grid :
Pour avoir un vue sur tous les matériaux et services qui ont un souci on peut utiliser les deux
catégories « Service Problems » et « Host Problems » (1)
Projet de fin d’études – Chausson Frédéric
77
Une partie « Reporting » (1) qui sert de log et qui permet de visualiser tous les équipements ou
services qui ont eu un problème à un moment précis. Elle se compose de 4 parties :
« Trends » : Sert à crée des graphiques sur une période choisie, pour un équipement ou un service
afin de faire un graphique de ses statuts (2).
« Availability » : Permet de donner précisément le/les statuts des équipements et des services par
groupe ou séparés sur une période choisie :
La partie « Alerts » regroupe trois parties :
Projet de fin d’études – Chausson Frédéric
78
« Histogram » qui permet de faire des graphiques du nombre d’événements (Recovery, Warning,
Unknown, Critical) sur une période choisie.
« History » qui regroupe toutes les alertes positives et négatives qu’il y a eu le jour voulu.
« Summary » fait une liste des 25 alertes les plus critiques sur les matériaux ou services choisis.
Projet de fin d’études – Chausson Frédéric
79
La partie « notification » fait une liste de tous les notifications (Dans notre cas notification par
email) qui ont étés envoyées.
Projet de fin d’études – Chausson Frédéric
80
La partie « Event Log » regroupe toutes les notifications de nagios et tous les changements de
statuts des équipements
Projet de fin d’études – Chausson Frédéric
81
4) Nagvis
Avant toute chose, il faut modifier le nombre d’enfants (childs) que l’ont peut visualiser dans
l’automap, pour ce faire il faut modifier le fichier de configuration de Nagvis :
« vi /etc/nagios/nagvis.ini.php » aller dans la partie [automap]et modifier la valeur par 50, ne
pas oublier d’enlever le « ; » avant le début sinon ça ne prends pas en compte la valeur :
« defaultparams=’’&maxLayers=50 ‘’ »
a) Menu « Manage »
Pour pouvoir éditer, créer ou modifier une carte dans Nagvis il faut passer par le
menu de configuration (1)
Projet de fin d’études – Chausson Frédéric
82
Une fois arrivé sur la page d’administration de Nagvis un menu apparait d’un simple clic droit sur la
page :
1) Maps :
Ce menu sert à gérer toutes les maps (On peut créer, supprimer, exporter/importer et renommer des
maps) :
1– Nom de la map à attribuer.
2– Utilisateur avec la permission de lire la map.
3– Utilisateur avec les droits d’écriture
4– Taille de la carte de l’icone de représentation
de la carte.
5– Choisir le background.
Projet de fin d’études – Chausson Frédéric
83
2) Backgrounds :
Toujours dans le menu manage, onglet backgrounds, permet de créer un fond de couleur uni, ou
alors d’uploader une image (Au format PNG obligatoirement) :
L’image ne doit pas être trop énorme sinon Nagvis plante (soit il ne peut pas afficher la page soit il
affiche une page jaune avec une grosse erreur) il faut supprimer l’image envoyée pour qu’il
fonctionne, si par erreur ça arrive il faut aller dans « /usr/share/nagios/nagvis/nagvis/images/maps »
et supprimer manuellement l’image avec la commande « rm monimage.png »
Si cela ne marche pas, il faut supprimer la map qui a été créée dans
« /usr/share/nagios/nagvis/etc/maps » avec la commande « rm nomdelamap.cfg »
3) Shapes :
Permet de faire un lien vers une autre page, par exemple mettre un lien intranet en cas de panne.
Projet de fin d’études – Chausson Frédéric
84
b) Ajouter un Host
Après avoir créé une map nous allons y ajouter des « objects », faire un clic droit sur la map, on peut
y avoir un nouveau menu « Add Object » qui est composé de 3 sous menus : « Icon » qui permet
d’ajouter des équipements, des services ou encore faire des liens entre les cartes.
Pour ajouter un « Host » il suffit d’aller dans le menu « Add Object/Icon/Host » :
Projet de fin d’études
Après avoir cliqué, la souris change d’icône et nous avo
l’endroit où l’ont veut que l’host se place, une fenêtre s’ouvre en conséquence
Projet de fin d’études – Chausson Frédéric
Après avoir cliqué, la souris change d’icône et nous avons une petite croit qui permet de cliquer à
veut que l’host se place, une fenêtre s’ouvre en conséquence :
1- adresse ou nom de l’équipement
que l’on veut faire apparaitre
2- Position horizontale de l’icône
3- Position verticale de l’icône
4- Taille de l’icône
5- Si l’on veut mettre un lien vers
une URL
85
permet de cliquer à
ou nom de l’équipement
veut faire apparaitre
Position horizontale de l’icône
Position verticale de l’icône
Taille de l’icône
veut mettre un lien vers
Projet de fin d’études – Chausson Frédéric
86
c) Ajouter un groupe d’hosts
Ajouter un groupe d’hosts permet d’avoir une seule icone (Flèche verte quand tout va bien, ou flèche
rouge un ou plusieurs équipements ont un problème) . Par exemple pour représenter une salle
serveur.
Aller dans le menu « Add Object/Icon/Hostgroup »
Projet de fin d’études – Chausson Frédéric
87
Après avoir sélectionner hostgroup, la souris change d’icône et nous avons une petite croix qui
permet de cibler l’endroit où l’on veut placer le groupe, une fenêtre s’ouvre en conséquence :
1- adresse ou nom de l’équipement
que l’on veut faire apparaitre
2- Position horizontale de l’icône
3- Position verticale de l’icône
4- Taille de l’icône de représentation
Projet de fin d’études – Chausson Frédéric
88
d) Faire des liaisons entre les cartes
Les liaisons entre les cartes sont très utiles, cela permet de faire par exemple une grande carte
globale avec plusieurs sites. Toujours dans le menu « add Object » :
Après avoir sélectionner Map, la souris change d’icône et nous avons une petite croix qui permet de
cibler l’endroit où l’on veut placer le lien vers une autre map, une fenêtre s’ouvre en conséquence :
1- On sélectionne la map vers laquelle on veut faire un
lien
2- Position horizontale de l’icône
3- Position verticale de l’icône
4- Taille de l’icône de représentation
Projet de fin d’études – Chausson Frédéric
89
e) Ajouter un lien shape ou du texte
Un lien shape permet d’ajouter une image qui permet de faire un lien http, il faut tout d’abord
ajouter une image, il faut se rendre dans le menu « manage/shape » :
Il suffit juste d’envoyer (En cliquant sur parcourir) l’image que l’on souhaite utiliser. Une fois l’image
envoyée, on va dans le menu « Add Object/Special/Shape » :
Projet de fin d’études – Chausson Frédéric
90
1- Choisir l’image que l’on a uploadé précédemment
2- Position horizontale de l’icône
3- Position verticale de l’icône
4-5- Si l’on veut mettre un lien vers une URL
L’ajout de texte se fait simplement par le menu « Add Object/Special/TextBox » :
Projet de fin d’études – Chausson Frédéric
91
Après avoir sélectionné TextBox, la souris change d’icône et nous avons une petite croix qui permet
de cibler l’endroit où l’on veut placer le texte(Il faut réaliser une zone de texte avec la souris), une
fenêtre s’ouvre en conséquence :
1- Texte que l’on veut écrire
2- Position horizontale de l’icône
3- Position verticale de l’icône
4- Largeur de la zone de texte
f) Mettre à jour l’image de fond d’une carte
Quand un site a de nouveaux matériaux, pour éviter de refaire toute la carte, on peut remplacer le
fond (Background) par un autre (Les icones peuvent bouger légèrement). Il faut tout d’abord envoyer
le nouveau fond à partir de l’interface de Nagvis. Il faut ensuite aller sur le serveur dans le dossier :
« /usr/share/nagios/nagvis/nagvis/images/maps » et supprimer le fond que nous voulons remplacer
(Bien noter le nom de ce fichier) utiliser la commande « rm nom_du_fichier », puis renommer le
fichier uploader précédemment par le même nom que celui que vous venez de supprimer « mv
nom_du_fichier_a_renomer nom_du_nouveau_fichier ».