BTS SIO
Services Informatiques aux
Organisations
Option SISR
Session 2017
Mohamed ZRAN Activité professionnelle N° 9
Nature de l’activité Supervision Nagios
Contexte L’administrateur souhaite superviser son réseau.
Objectifs Mise en place d’un serveur de supervision
Lieu de réalisation
En formation
DESCRIPTION DE LA SOLUTION RETENUE
Conditions initiales Le réseau n’est pas supervisé
Conditions finales Le réseau est supervisé avec le serveur EON
Outils utilisés
CONDITIONS DE REALISATION
Matériels Serveur Debian
Logiciels Nagios, Eon, Virtual Box
Durée
1 journée
Contraintes
COMPETENCES MISES EN OEUVRE POUR CETTE ACTIVITE PROFESSIONNELLE
OBLIGATOIRE
OBLIGATOIRE
OBLIGATOIRE
A1.1.2
A1.1.3
A1.3.1
A1.3.4
A2.1.2
A2.3.2
A3.1.1
A3.1.2
A3.2.1
A3.3.1
A4.1.9
A5.1.2
A5.1.3
A5.2.4
Participation à un projet d’évolution d’un SI (solution applicative et d’infrastructure
portant prioritairement sur le domaine de spécialité du candidat)
Elaboration de documents relatifs à la production et à la fourniture de services
Productions relatives à la mise en place d’un dispositif de veille technologique et à
l’étude d’une technologie, d’un composant, d’un outil ou d’une méthode
Étude de l'impact de l'intégration d'un service sur le système informatique
Étude des exigences liées à la qualité attendue d'un service
Test d'intégration et d'acceptation d'un service
Déploiement d'un service
Evaluation et maintien de la qualité d'un service
Proposition d'amélioration d'un service
Proposition d'une solution d'infrastructure
Maquettage et prototypage d'une solution d'infrastructure
Installation et configuration d'éléments d'infrastructure
Administration sur site ou à distance des éléments d'un réseau, de serveurs,
Rédaction d'une documentation technique
Recueil d'informations sur une configuration et ses éléments
Suivi d'une configuration et de ses éléments
Étude d’une technologie, d'un composant, d'un outil ou d'une méthode
DEROULEMENT DE L'ACTIVITE
Présentation Nagios
Nagios (anciennement appelé Netsaint) est un logiciel qui permet de superviser un système d’information complet.
C’est un logiciel libre, il est sous licence GPL.
C’est un programme modulaire qui se décompose en trois parties:
1. Le moteur de l’application qui vient ordonnancer les tâches de supervision.
2. L’interface web, qui permet d’avoir une vue d’ensemble du système d’information et des possibles anomalies.
3. Les plugins, une centaine de mini programmes que l’on peut compléter en fonction de nos besoins pour
superviser chaque service ou ressource disponible sur l’ensemble des ordinateurs ou éléments réseaux de
notre SI.
Superviser des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc.)
Superviser les ressources des serveurs (charge du processeur, occupation du disque dur, utilisation de la
mémoire paginée) et ceci sur les systèmes d’exploitations les plus répandus.
La supervision à distance peut utiliser SSH ou un tunnel SSL.
Les plugins sont écrits dans les langages de programmation les plus adaptés à leur tâche (Bash, C++, Python,
Perl, PHP, C, etc.)
La vérification des services se fait en parallèle.
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.
La remontée des alertes est entièrement paramétrable grâce à l’utilisation de plugins (alerte par email, SMS,
etc.)
Chaque test renvoi un état particulier:
# OK (tout va bien)
# WARNING (le seuil d’alerte est dépassé)
# CRITICAL (le service a un problème)
# UNKNOWN (impossible de connaître l’état du service)
L’application fonctionne de la façon suivante :
Installation de Eyes of Network
Après avoir télécharger le fichier ISO sur le site de Eyes of Network on l’installe sur notre machine virtuelle.
L’installation est guidée on entre les informations suivantes : - Périphérique de stockage, - nom de l’hôte, - paramètre IP (adresse IP, masque, passerelle), - fuseau horaire, - mot de passe root - type d’installation : « utiliser tout l’espace »
On sélectionne ensuite les paquets désirés.
On fait « suivant » afin de lancer l’installation. Suite à l’installation on retire le fichier ISO puis on redémarre.
Configuration NAGIOS/EON
La configuration de Nagios passe par l’outil graphique EON accessible via un navigateur WEB.
Il suffit de taper l’adresse IP du serveur EON dans la barre d’adresse du navigateur. Pour entrer dans le menu de
configuration, taper le login/MotdePasse : login=admin ; Mdp = admin
A la connexion nous arrivons sur le tableau de bord récapitulant l’état général des équipements. L’onglet disponibilité
présente les vues de chaque équipement, les vues de leurs états, services, des évènements.
Afin de configurer Nagios nous allons nous intéresser à l’onglet Administration.
Dans Nagios Ressources (sous onglet Général), on retrouve les paramètres suivant :
$USER1$ définit le dossier de travail de tout l’environnement Nagios
$USER2$ définit la communauté SNMP
On peut si nécessaire modifier ces paramètres ou en ajouter.
Après toute modification de la configuration il est nécessaire de redémarrer le service Nagios pour la prise en compte
de cette modification.
Ajout des équipements Pour pouvoir ajouter les équipements il est nécessaire de configurer le service SNMP sur l’équipement. Sur Windows il faut tout d’abord installer le service SNMP en activant la fonctionnalité, comme ci-dessous.
Il faut ensuite configurer le service SNMP en accédant aux propriétés de celui-ci dans la liste des services. On veillera à autoriser la communauté et le serveur Nagios. De la même façon, sur une machine Debian il nous faudra installer le service puis le configurer. Pour installer le service on utilisera la commande suivante :
apt-get install snmpd snmp Pour la configuration il faudra ouvrir via un éditeur de texte tel que nano le fichier de configuration du service.
nano /etc/snmp/snmpd.conf I
l faudra dans ce fichier configurer la communauté et autoriser les communications vers l’exterieur de la façon suivante : On utilisera rocommunity pour lecture seul et rwcommunity pour autoriser l’écriture. Sur les équipements Cisco on utilisera les commandes suivantes :
snmp-server community EyesOfNetwork rw snmp-server host 172.16.2.56 EyesOfNetwork snmp-server enable traps
On pourra tester le bon fonctionnement du service SNMP d’un équipement avec la fonction SNMPWALK sur Nagios. Une fois assuré que le service est fonctionnel on peut ajouter l’équipement. Tout équipement est vu par NAGIOS comme :
- Un nom de Host ou une adresse IP - La communauté à laquelle il appartient - Les services qu’il est capable de reporter au superviseur - Les commandes NAGIOS qui permettent d’exploiter ces services
EON possède des modèles prédéfinis de machines (Templates), de commandes et de services relatives à chaque constructeur afin de simplifier l’administration.
Administration → Templates Définit les fonctions qui vont permettre d’exploiter un équipement. Ex : CPU, Mémoire, Disque, Alimentation etc…
Administration → General → Nagios commands Définit les commandes et leurs paramètres qui vont réaliser la récupération des informations.
Administration → General → Host Group
Comprend des templates adaptés à certains constructeurs.
On peut personnaliser les templates selon nos besoins grâce aux nombreux plugins qui sont intégrés mais défaut mais
il est également possible d’ajouter des plugins développés par nos soins (Bash, C++, Python, Perl, PHP, C, etc.) ou par
la communauté.
Ajout de plugins
Si les plugins fournis par Nagios ne suffisent pas, nous avons la possibilité d’ajouter ceux développés par la
communauté. Pour ce faire, il faut télécharger le plugin puis via FTP uploader le fichier sur le serveur Nagios.
Une fois le fichier sur le serveur il faut modifier les droits sur le fichier et déclarer Nagios comme propriétaire du
fichier.
chmod 755 nom_plugin chown nagios :eyesofnetwork nom_plugin
Nous pourrons ensuite utiliser directement la commande sur le serveur Nagios afin de la tester et de récupérer les
paramètres de celle-ci nécessaires à la déclaration de la sonde dans Nagios.
Dans Nagios, la commande fait appel à différentes variables. La variable d’adresse d’hôte est définie
automatiquement en fonction de l’hôte. Les variables USER sont définies dans la configuration de nagios et enfin les
variables ARG seront renseignés lors de l’affectation à un équipement ou une template.
Configuration du service de messagerie
Lorsque des alarmes apparaissent sur les équipements d’un réseau, il est possible de configurer les notifications de
toute ou partie de ces alarmes vers une boîte mail afin d’alerter au plus vite l’administrateur ou un de ses assistants.
Par défaut EON installe un serveur de messagerie POSTFIX mais aucun agent de distribution de courrier n’est en
place.
Pour être plus efficace, nous allons configurer POSTFIX de EON pour relayer les messages vers le serveur de
messagerie M2L ou vers une boite mail dédiée. Nous utiliserons ici une boîte Gmail vers laquelle les alertes Nagios
seront envoyées. La configuration de POSTFIX passe par le fichier /etc/postfix/main.cf . L’exemple ci-dessous présente
la configuration de POSTFIX en mode relais SMTP vers une boite de messagerie GMAIL.
Gmail utilise un transfert mail sécurisé par le protocole SSL/TLS. Pour cela il sera nécessaire d’installer un certificat
dans le serveur Postfix qui sera présenté lors de la connexion à la boite Gmail. Il n’est pas nécessaire d’installer un
agent, nous resterons donc à l’émission seule de mail en SMTP vers le serveur Gmail smtp.gmail.com sur le port 587.
La boite mail [email protected] a été créée afin de recevoir les notifications nagios. Le nom et mot de passe de
messagerie seront enregistrés dans le fichier sasl_passwd de Postfix.
Il faut tout d’abord configurer SMTP sécurisé (SMTP SASL et SMTP TLS) dans le fichier de config Postfix.
Nano /etc/postfix/main.cf
relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_use_tls = yes
Il faut maintenant enregistrer les paramètres de messagerie de la boîte vers laquelle Postfix enverra les notifications
Nagios.
Ces paramètres sont enregistrés dans un fichier crée pour notre usage : sasl_passwd. Nano /etc/postfix/sasl_passwd (nouveau fichier)
[smtp.gmail.com]:587 [email protected]:PASSWORD
On sauvegarde puis on attribue les droits à ce fichier
chmod 400 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
Il faut maintenant installer un certificat pour la connexion au serveur Gmail. Nous prendrons ce certificat sur le site
THAWTE qui est un éditeur mondial de certificats SSL.
Nous utiliserons le certificat thawte_Premium_Server_CA.pem compatible Gmail et téléchargé sur le site :
https://www.thawte.com/roots/
Il faut copier ce certificat dans le dossier /etc/ssl/certs/ de la machine NAGIOS/EON.
On valide ce certificat par la commande suivante :
cat /etc/ssl/certs/thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem
On redémarre en suite POSTFIX : /etc/init.d/postfix reload
Pour vérifier l’envoi de mail, on effectue le test suivant :
echo "Test mail depuis Postfix" | mail –s "Ceci est un test de notification depuis le serveur envoi
SMTP" [email protected] password
Aller dans la boîte mail et vérifier la réception du message. Si celui-ci n’apparaît pas, il faut alors supprimer la
protection de sécurité Gmail Captcha.
Pour cela aller sur la page ci-dessous puis activez l’accès aux applications moins sécurisées dans le menu paramètres
du navigateur.
https://www.google.com/accounts/DisplayUnlockCaptcha
Le service postfix configuré, il faut indiquer à Nagios l’adresse mail de l’administrateur dans les contacts.
Puis, nous pourrons provoquer une panne générant un état « WARNING » ou « CRITICAL » afin de s’assurer de la
bonne réception du mail.
CONCLUSION
Le serveur de supervision est fonctionnel.
EVOLUTION POSSIBLE
Comme nous l’avons vu Eyes of Network comprend beaucoup d’autres outils qui peuvent permettre d’affiner
encore plus la supervision. De plus, Nagios est modulaire. Ainsi nous pouvons ajouter différents modules en
fonction des besoins.