La Supervision Systèmes et Réseaux
Présentation de l'outil Nagios

Par Erwan 'Labynocle' Ben Souiden (erwan@aleikoum.net ­...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Introduction ::

Objectifs de cette présentation

Comprendre ce qu'est la supervision et ses enjeux 
Connaître et compre...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Approche Théorique ::

 Définition

 Comment supervise­t­on ?
Les concepts de polling versus hearbeat
Les outils exist...
Approche Théorique ::

 Définition

 Comment supervise t'on ?
Les concepts de polling versus hearbeat
Les outils exist...
Approche Théorique :: Définition

Que peut on superviser ? 
A priori tout peut être supervisé à partir du moment où l'on p...
Approche Théorique :: Définition

Qu'est ce que la supervision ?

Définition du Petit Larousse 1991 : “superviser c'est c...
Approche Théorique :: Définition

Que doit on superviser ? 
La vraie question : est ce qu'un SI peut ne pas avoir de faill...
Approche Théorique :: Définition

“Même si ton adversaire te semble une souris, 
surveille­le comme s'il était un lion.”
L...
Approche Théorique ::

 Définition

 Comment supervise­t­on ?
Les concepts de polling versus hearbeat
Les outils exist...
Approche Théorique :: Comment supervise­t­on ?

Rappel : l'objectif est de connaître les changements d'états

Polling

Hea...
Approche Théorique :: Comment supervise­t­on ?

 Polling – Description (1/2) – Exemple

(images: xkcd.org)
La Supervision...
Approche Théorique :: Comment supervise­t­on ?

 Polling – Description (2/2) – Avantages et Inconvénients

 A l'initiati...
Approche Théorique :: Comment supervise­t­on ?

 Heartbeat – Description (1/2) – Exemple

(images: xkcd.org)
La Supervisi...
Approche Théorique :: Comment supervise­t­on ?

 Heartbeat – Description (2/2) – Avantages et Inconvénients

 Des échang...
Approche Théorique :: Comment supervise­t­on ?

 Polling vs Heartbeat ­ Conclusion

Quelle est la meilleure solution ?
Au...
Approche Théorique :: Les outils existants

Un outil de supervision doit répondre aux critères suivants

Des mécanismes p...
Approche Théorique :: Les outils existants

On distinguera 3 catégories
Les solutions propriétaires

Les solutions Open ...
Approche Théorique ::

 Définition

 Comment supervise­t­on ?
Les concepts de polling versus hearbeat
Les outils exist...
Approche Théorique :: Les apports de la supervision

Rappel de l'objectif 
Avoir de la visibilité sur l'état de son SI, de...
Présentation de SNMP ::



Définition



Mode de fonctionnement



Bilan : Avantages et Limitations

La Supervision Sys...
Présentation de SNMP ::



Définition



Mode de fonctionnement



Bilan : Avantages et Limitations

La Supervision Sys...
Présentation de SNMP :: Définition

Spécifications dans la RFC 1157 (rendant obsolète les RFCs 1067 et 1098) datant
de Mai...
Présentation de SNMP ::



Définition



Mode de fonctionnement



Bilan : Avantages et Limitations

La Supervision Sys...
Présentation de SNMP :: Mode de fonctionnement

Ce protocole se base sur le principe d'une communication manager­agent.
Le...
Présentation de SNMP :: Mode de fonctionnement

 Schéma des échanges SNMP (v1)

 Format des paquets SNMP (v1)

La Superv...
Présentation de SNMP :: Mode de fonctionnement
 Mais d'où proviennent ces informations ?

Des 
La MIB est la Management ...
Présentation de SNMP :: Mode de fonctionnement
Schéma d'une MIB

Les noms des catégories n'est qu'une représentation plu...
Présentation de SNMP ::



Définition



Mode de fonctionnement



Bilan : Avantages et Limitations

La Supervision Sys...
Présentation de SNMP :: Avantages et Limitations

Avantages

Limitations

  Protocole excessivement simple

 Aucun chiff...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Présentation de Nagios ::

 Définition / Généralités

 Mode de fonctionnement
 Nagios Core
 Le concept de plugins
 NR...
Présentation de Nagios ::

 Définition / Généralités

 Mode de fonctionnement
 Nagios Core
 Le concept de plugins
 NR...
Présentation de Nagios :: Définition / Généralités

Nagios est un outil de monitoring systèmes et réseaux
Designé pour L...
Présentation de Nagios :: Définition / Généralités
Surveillance des services réseaux (SMTP, POP3, HTTP, NNTP, ICMP (Ping)...
Présentation de Nagios :: Définition / Généralités
Notifications des contacts quand un hôte ou un service a un problème

...
Présentation de Nagios :: Définition / Généralités
 Screenshot

La Supervision Systèmes et Réseaux – Présentation de Nagi...
Présentation de Nagios :: Définition / Généralités

 Historique

La Supervision Systèmes et Réseaux – Présentation de Nag...
Présentation de Nagios :: Définition / Généralités
 Awards / Retour de la communauté
SourceForge Project of the month – 0...
Présentation de Nagios :: Définition / Généralités
 Communauté et quelques chiffres
Communauté mondiale : évaluée à + de...
Présentation de Nagios :: Définition / Généralités
 Références

La Supervision Systèmes et Réseaux – Présentation de Nagi...
Présentation de Nagios :: Définition / Généralités
 Autres solutions Open Source

La Supervision Systèmes et Réseaux – Pr...
Présentation de Nagios ::

 Définition / Généralités

 Mode de fonctionnement
 Nagios Core
 Le concept de plugins
 NR...
Présentation de Nagios :: Mode de fonctionnement :: Nagios Core
 Nagios Core est
 un daemon Unix
juste un ordonnanceur ...
Présentation de Nagios :: Mode de fonctionnement :: Le concept de plugins
 Que sont les plugins ?

 des scripts stand al...
Présentation de Nagios :: Mode de fonctionnement :: Le concept de plugins

La Supervision Systèmes et Réseaux – Présentati...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP
 Comment peut on superviser des ressources locales d'une...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP

 Nagios Remote Plugins Executor
 Composé de 2 éléments...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP

La Supervision Systèmes et Réseaux – Présentation de Nag...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP

La Supervision Systèmes et Réseaux – Présentation de Nag...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP

La Supervision Systèmes et Réseaux – Présentation de Nag...
Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP
 SNMP ou NRPE ?

Ca dépend !

 protocole réseau standar...
Présentation de Nagios ::

 Définition / Généralités

 Mode de fonctionnement
 Nagios Core
 Le concept de plugins
 NR...
Présentation de Nagios :: Mode de fonctionnement :: Avantages et Inconvenients

Avantages

 Entièrement gratuit

Limitati...
Présentation de Nagios :: Mode de fonctionnement :: Avantages et Inconvenients

“Limitations live only in our minds. But i...
Présentation de Nagios ::

 Définition / Généralités

 Mode de fonctionnement
 Nagios Core
 Le concept de plugins
 NR...
Présentation de Nagios :: Projets annexes
NSCA : projet Nagios officiel, permet d'avoir un comportement heartbeat
NDOutils...
Présentation de Nagios :: Projets annexes

Nagdroid

La Supervision Systèmes et Réseaux – Présentation de Nagios

60
Présentation de Nagios :: Projets annexes

graph

La Supervision Systèmes et Réseaux – Présentation de Nagios

61
Présentation de Nagios :: Projets annexes

XI
Développé par l'équipe officielle Nagios, c'est un Nagios packagé avec plus...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique :: Etude d'un cas pratique

 Soit la société Plop.com

La Supervision Systèmes et Réseaux – Présentatio...
Approche Pratique :: Etude d'un cas pratique
 Avant de se lancer il faut se poser les bonnes questions

 quels sont les ...
Approche Pratique :: Etude d'un cas pratique

La Supervision Systèmes et Réseaux – Présentation de Nagios

68
Approche Pratique :: Etude d'un cas pratique

NRPE+SNMP+Plugins Nagios

NRPE+SNMP+Plugins Nagios
Nagios Core
NRPE+SNMP+Plu...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique :: Mise en place et test des plugins Nagios
 Installation par package
$ sudo apt-get install nagios-plu...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique :: Mise en place et tests de SNMP
 Installation par package
$ sudo apt-get install snmp snmpd

 Conten...
Approche Pratique :: Mise en place et tests de SNMP
 Exemple de snmpd.conf
$ cat /etc/snmp/snmpd.conf
trapsink 127.0.0.1
...
Approche Pratique :: Mise en place et tests de SNMP
 Test des commandes SNMP
$ snmpwalk -c $COMMUNITY -v1 $HOST
$ snmpget...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique :: Mise en place et tests de NRPE
 Installation par package côté hôte de supervision
$ sudo apt-get -O ...
Approche Pratique :: Mise en place et tests de NRPE
 Côté de l'hôte à superviser – configuration de NRPE
$ sudo vim /etc/...
Approche Pratique :: Mise en place et tests de NRPE
 Exemple de /etc/nagios/nrpe.cfg
$ cat nagios/nrpe.cfg | grep -v "^#"...
Approche Pratique :: Mise en place et tests de NRPE
 Exemple de /etc/nagios/nrpe_local.cfg
$ cat nagios/nrpe_local.cfg
# ...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Approche Pratique :: Mise en place et intégration dans Nagios
 Installation par package
$ sudo apt-get install nagios3

...
Approche Pratique :: Mise en place et intégration dans Nagios
 Configuration avancée de Nagios
$ sudo vim /etc/nagios3/co...
Approche Pratique ::



Etude d'un cas pratique



Mise en place et tests des plugins Nagios



Mise en place et tests ...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Plan de la présenation
I.

Introduction

II.

Approche Théorique

III.

Présentation de SNMP

IV.

Présentation de l'outil...
Conclusion ::
 Ce qu'il faut retenir

 Les outils de supervision sont donc aujourd'hui des outils indispensables à tout ...
Conclusion ::
 Pour aller plus loin

 Les configurations évoquées pour le use case plop.com sont disponibles sur github
...
Conclusion ::
 Ce qu'il faut retenir

Don't believe me try it yourself!

(images: The Big Bang Theory TV Show)
La Supervi...
Conclusion ::

Questions ?

(images: xkcd.org)
La Supervision Systèmes et Réseaux – Présentation de Nagios

90
Prochain SlideShare
Chargement dans…5
×

Cours - Supervision SysRes et Présentation de Nagios

15 319 vues

Publié le

Cours pour une première approche de la supervision, de ses enjeux et apports.
Ce cours est accompagné d'une présentation de SNMP et de l'outil Nagios

Publié dans : Formation, Technologie, Business
1 commentaire
28 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
15 319
Sur SlideShare
0
Issues des intégrations
0
Intégrations
38
Actions
Partages
0
Téléchargements
0
Commentaires
1
J’aime
28
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • - Expliquer surtout que le but n'est pas de comprendre comment configurer et tuner un Nagios/SNMP... on donne les billes de compréhension après si ils veulent pousser à eux de taffer - Dire que les retours d'expériences se font dans 2env différents : Weborama et PSA - Le vrai objectif c'est comprendre que c'est indispensable et surtout saisir qu'il y a des atouts a en tirer
  • - demander en quoi ça peut s'appliquer à un SI - pourquoi ça a tout son sens ? Parce qu'on doit surveiller les machines, les process, les services, workflows - comme on l'a dit : il faut un etat ? Comment on determine un etat cf diode log etc... du coup tout ce qui produit ca peut etre supervise
  • - commencer par une question ouverte voir les retours
  • La vraie question : est ce qu'un SI est infaillible ? Expliquer pk non ? Matériel peut casser, bug, trou de sécurité, erreur humaine...
  • - commencer par une question ouverte voir les retours
  • Un peu de théorie : Pour connaitre l'etat de qq1 : on l'appelle ou il nous appelle ? Polling : c'est ce qu'on fait quand on appelle mamie tous les mois pour savoir si tout va bien Hearbeat : c'est quand un ami appelle pour indiquer qu'il s'est casse une jambe Ou exemple du petit dans la voiture : Polling : “maman on arrive quand” toutes les minutes Hearbeat : “on arrive dans X minutes” quand elle estime que le changement est notable
  • Un peu de théorie : Polling : c'est ce qu'on fait quand on appelle mamie tous les mois pour savoir si tout va bien Ou exemple du petit dans la voiture : Polling : “maman on arrive quand” toutes les minutes
  • A l'initiative du demandeur : on a de la visibilite > si pas de reponse quand on emet une demande de sondage alors on peut imaginer qu'il y a un soucis (exemple avec les potes qu'on appelle si pas de reponse pendant qqjours ils vont se demander ce qui se passe) Trop d'echange : on a des echanges d'informations meme quand les etats ne changent pas Suivi car : a chaque fois qu'on poll on prend des news : pour exemple du pote > vacances etc... si on est au courant uniquement des chgmts ca limite Mais probleme c est que le temps de reaction c est la frequence de poll + on peut donc rater des changements d etats
  • Un peu de théorie : Hearbeat : c'est quand un ami appelle pour indiquer qu'il s'est casse une jambe Ou exemple du petit dans la voiture : Hearbeat : “on arrive dans X minutes” quand elle estime que le changement est notable
  • A l'initiative de celui qui a l info : si le message se perd comment celui qui est interesse par l'info est au courant ? on a des echanges d'informations uniquement quand les etats changent
  • Ce ne sont que des concepts : c etait les idees de bases apres libre d'implementer comme on le souhaite ces concepts Comme tout il n y a pas de solution toute faite ! c'est souvent le contexte qui dicte la ligne directrice pour faire les meilleures choix d'implementation
  • Expliquer que ca c'est la base apres les differentes implementations Font qu'il y a d'autres features : gestion de l'historique, graph d'evolution Predictions des etats...
  • Pk citer les protocoles reseaux a part ? Finalement ce sont des protocoles qui ont ete designe pour les outils de supervision ce ne sont pas des solutions au sens propre... il permette juste d'avoir l'info pas de reagir par rapport a elle Mais on retrouve dans certaines entreprises des systemes de supervision qui sont totalement designes autour de SNMP. C'est donc un vrai outil de collecte d'info qu'on peut/doit enrichir !
  • La vraie question : pourquoi souhaite t on superviser Inutile de rappeller que si par exemple un service interne qqconque (genre serveur de fichiers) tombe, ce n'est pas seulement que les utilisateurs directs du service qui sont impactés mais potentiellement tout ce qui tourne autour : clients etc... Pro activite : car si on voit comment evolue les choses on est capable de predire si des soucis arrive Dimension : donc par extension on peut voir si l archi/outils sont bien dimensionnés : theoriquement ca ne devrait pas servir a ca mais dans la pratique... Qualite : ces outils servent aussi de preuve quand qqchose se passe pas bien par exemple... complement aux logs ! Service : les fameux MTDS et 99,999% Credibilite : finit le temps ou c est les users qui viennent voir l'it pour dire “ca marche pas”
  • En effet on supervise/surveille bcp de choses mais pas forcement avec les memes outils : du coup recouper des infos/ des stats etc n'est pas toujours evident pour prendre des decisions rapides... l'hypervision est cense donc repondre a ce besoin A ma connaissance des solutions repondant vraiment a ses besoins n'existe pas mais ca devient un vrai creneau : assiste a une presentation chez linagora d'une solution devel par eux d'hypervision reposant sur des outils opensource Qu'on soit tech/manager/etc... c'est le seul point d'entree et ca rend transparent tous les mecanismes sous jacents
  • Plusieurs versions theoriquement on recommande de n'utiliser au moins la v2 qui protege de pas mal de trous de securite... mais en fait c'est la v1 qui est le plus utilise car on va voir que c est la plus simple, la plus “standard embarque partout”... la v3 n'est pas encore finalisee (pour info la v2 a ete finalisee en 2000) Linux NET-SNMP, Windows Server/Agent SNMP... Les equipements reseaux peuvent embarquer ces agents c'est juste une question de sous. Dans la representation OSI c'est donc un protocole de niveau 7, si on prend le modele de couches TCP-UDP/IP c'est juste au dessus d'UDP (donc en mode non connecte)
  • Le manager est comme un client et les agents des serveurs (vu que ces derniers attendent des requetes) mais le manager est aussi serveur et les agents clients pour les traps Sur un port different sinon il y aurait soucis :) Trap : heartbeat Manager > agent : polling Les agents doivent etre deployes sur tous les equipements qu'on souhaite superviser manager (NMS = Network Management Station) / agent (MN : Managed Node).
  • Trap n'attend pas de reponse Expliquer qu'on a des restrictions : via la communaute pour ne pas trop squatte, version la plus utilisee : v1 Le champ Version précise la version du protocole SNMP utilisée. Le champ Communauté est utilisé afin d'identifier le manageur et filtrer l'accès aux informations, theoriquement on utilise la version v3 car plus securise mais en fait bcp de gens se contentent de la v1 malgre les soucis potentiel
  • Comme c'est a la charge de l'agent, on comprend tout de suite que snmp est totalement independant de la plateforme.
  • Expliquer qu'apres les equipements comportent des mibs specifiques : genre cisco pour avoir acces a des infos plus pointues etc.. . On peut donc aussi ecrire nos propres mibs qu'on installerait sur les machines/equipements. Les valeurs contenues dans les mibs peuvent etre modifiees par des process tiers Techniquement il y a juste a les places aux bons endroits
  • Comme il est simple (v1) forcement c'est facile pour les constructeurs de faire des agents pour leur equipements c'est pour cela qu il est excessivement tres repandu Leger car sur UDP Extensible : pas aborde mais les entrees d'une mib peuvent etre vu comme un objet : type, description et l'oid en gros... si on ecrit la sienne et qu'elle respecte le bon format a nous de mettre les infos qu'on veut dedans :) Chiffrement : au dela de la communaute et d ela conf de l'agent aucune restriction + tout circule en clair !! Udp c est bien mais : bah pas de retour sur le trap on sait jamais si c est recu.. . Jeu de commandes pauvre : ce qui fait sa force est aussi une faiblesse... trap : pas de gestion du stress, pas de comm de manager a manager...
  • Mode de fonctionnement : 2 phases d'abord aborder ce que fait nagios seul pour bien comprendre que c est un ordonnanceur et du coup enchainer le concept de plugins et finir par l'interface avec nrpe et snmp > finir avec un beau schema recapitulant tout
  • Mode de fonctionnement : 2 phases d'abord aborder ce que fait nagios seul pour bien comprendre que c est un ordonnanceur et du coup enchainer le concept de plugins et finir par l'interface avec nrpe et snmp > finir avec un beau schema recapitulant tout
  • La configuration TCP/IP c'est pour poller l'exterieur Serveur web : pour l acces a la console de monitoring via les cgi Gd pour les graphes generes par les cgi Depuis la v3 la generation des graphes auto via des perfdatas, il faut utiliser les bases RRD... expliquer la particularite des bases rrd et l'interet.... mais ce n'est qu'optionnel ! Gnu gpl : L'expression « Logiciel libre » fait référence à la liberté et non pas au prix. Pour comprendre le concept, vous devez penser à la « liberté d'expression », pas à « l'entrée libre ». L'expression « Logiciel libre » fait référence à la liberté pour les utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, cela signifie que les utilisateurs ont les quatre libertés essentielles : * La liberté d'exécuter le programme, pour tous les usages (liberté 0). * La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise. * La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2). * La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté liberté 3). Pour ceci l'accès au code source est une condition requise.
  • En fait finir par dire : éon va voir qu'on peut faire en fait ce qu'on veut avec nagios et que la c est juste une accroche marketing”
  • Rappeller que le projet viens de NetSaint et qu'a partir de cette base Ethan a fait Nagios. Expliquer que le projet a plusieurs axe de developpement : - changer l'interface de cgi C via une interface php : plus facile a tuner et plus souple, multi langage - ameliorer l'algo de l''ordonnanceur Aujourd'hui alors que la solution n'a jamais autant ete utilisee, le projet stagne un peu
  • Rappeller que le projet viens de NetSaint et qu'a partir de cette base Ethan a fait Nagios. Expliquer que le projet a plusieurs axe de developpement : - changer l'interface de cgi C via une interface php : plus facile a tuner et plus souple, multi langage - ameliorer l'algo de l''ordonnanceur Aujourd'hui alors que la solution n'a jamais autant ete utilisee, le projet stagne un peu
  • Il y en a encore beaucoup mais ceux la proviennent des plus grands noms...
  • Monitoringexchange : presque 2000 projets Sur le forum : plus de 30000 messages sur presque 3000 threads, presque 2000 users. Le pic de download ne concerne que les downloads des sources tar.gz : alors que beaucoup de distribs proposent maintenant des packages complets/ Ca ajoute aussi au soutien : debian, ubuntu, suse, redhat, fedora, centos...
  • Etonnant non ? Hp et ibm sont dans le lot... qui ont communique sur le fait d'utiliser nagios On retrouve des grands noms du web qui sont proches des solutions open source : google, yahoo, twitter... et surtout connu pour avoir de sacre infrastructure
  • Centreon : projet a la mode., en fait permet de mutualiser les infos de plusieurs nagios ! Apres faut aimer le concept : tout stocker dans des bases de donnees, deploiement de conf... parler de mon xp du jour Zabbix : le concurrent le plus serieux, mais grosse usine a gaz Cacti && mrtg : tres utilise pour la supervision reseau, beaucoup de datacenter utilise mrtg pour graffer le traffic des clients car plus leger que nagios
  • Mode de fonctionnement : 2 phases d'abord aborder ce que fait nagios seul pour bien comprendre que c est un ordonnanceur et du coup enchainer le concept de plugins et finir par l'interface avec nrpe et snmp > finir avec un beau schema recapitulant tout
  • Daemon def : (un processus qui s'exécute en arrière-plan plutôt que sous le contrôle direct d'un utilisateur.) Bien insister que nagios core seul est useless, que les mecanismes de checks ne sont absolument pas compris dedans. En fait l'admin configure nagios core pour lui dire execute tel commande toutes les x secondes et suivant le code retour de la commande alors on a un comportement different En fait le nagios core peut être vu comme crond mais en plus intelligent et plus pousse... car si on pousse le vice loin on pourrait se servir de nagios pour lancer des taches recurrentes/planifiees ! On va voir en quoi ca peut devenir un outil de monitoring
  • Stand alone : qui n'ont pas de lien avec l'extérieur et qui est auto suffisant... les plugins n'ont donc aucun lien avec nagios direct (hormis suivre certaines normes pour une meilleure integration) Donc d'un cote nous avons un ordonanceur qui est capable de reagir suivant le retour d'une commande et de l'autre nous avons des outils qui peuvent donner l'etat d'une ressource/service... >>> l'association des 2 permet d'obtenir une solution de monitoring > remettre le schema de l'ordonanceur en expliquant que si on remplace “commande” par un plugins on a la solution Montrer exemple de plugins : check_disk (en changeant les param pour montrer les retours differents)
  • Bilan du fonctionnement ; 1 – nagios a caculer que c'etait le moment de lancer la commande correspondant a un check 2 – la commande correspond a un plugin qui interroge soit une ressource en locale soit un service reseaux local ou distant 3 – le plugin recupere l'information la traite 4 – et fait un retour a nagios (qui traitera ce retour : gestionnaire d'events, recalcul de l'ordonancement, envoie de mail etc...) >>>>> on est dans un cas typique de polling ! On sait qu'avec nagios on peut checker des services distants et des ressources locales mais : Ouvrir sur la question : mais comment peut on faire pour avoir les infos de ressources locales a une machine distante ?
  • SNMP : comme vu precedemment, les MIBs sont tres riches et permettent d'avoir des informations sur une machine : espace disque, ram utilisee... C'est un service reseau dedie NRPE : est un projet devel par l'equipe de Nagios qui permet d executer des plugins sur des machines distantes
  • Le daemon NRPE est l'equivalent de l'agent snmp, on peut le voir comme un serveur NRPE On pourrait utiliser snmp en fait ? Ou ssh ? L'avantage par rapport a snmp c'est qu'il est plus souple, je peux obtenir des infos sur des ressources non repertoriees dans les MIBs ! Et plus interessant que ssh car moins lourd niveau CPU pas pour la machine supervisee mais pour la machine hote : si tu as 500 machines avec qui tu dois parler en ssh ca devient un peu lourd pour l'hote
  • Plop
  • Rien ne nous empeche de faire ceci et de voir ca a plus grosse echelle ! On est tjrs dans un cas typique de polling
  • Juste pour rappel voici comment Nagios interragie avec SNMP Un service reseau comme un autre sauf qu'ici on montre que ce sont des process tiers qui mettent a jour les datas des MiBs
  • L'utilisation des 2 n'est clairement pas a exclure Pk plus gourmand nrpe ? Car on execute a distance un script (souvent en shell ou en perl) alors que snmp on fait juste une requete de lecture ! Sans compter que si on fait over ssl ca peut etre super gourmand ! Sous le joug du plugin : un plugin mal foutu et lent a de suite un impact sur les perfs !
  • Mode de fonctionnement : 2 phases d'abord aborder ce que fait nagios seul pour bien comprendre que c est un ordonnanceur et du coup enchainer le concept de plugins et finir par l'interface avec nrpe et snmp > finir avec un beau schema recapitulant tout
  • Se suffit a lui meme : c'est extrement important : on comprend vite que pour que nagios fonctionne il n'a besoin de rien ni personne : et si par exemple il y a des problemes dans un script a lancer certe ca va remonter une erreur mais ca ne va pas compromettre la supervision globale : c'est donc ultra ROBUSTE ! Simple : des qu'on a compris que c'est un ordonanceur surlequel on plug les commandes on veut apres c'est juste de la comprehension de fichier de configuration... mais la difficulte de cet outil n'est pas de le configurer et faire fonctionner : c est un outil comme un marteau l'intelligence est dans la tete de l'admin qui pense la conf et la politique... la syntaxe n'est pas un probleme en soit ! Aucune limitation car ca ne depend que de la capacite de l'admin a scripter ce qu'il souhaite avoir comme info, et configurer quel comportement on veut : Ex : finalement si on est capable de script le fait de faire du cafe, on peut dire que si un check renvoie un etat critical alors on lance la machine a cafe... la seule limitation c'est l'imagination
  • - commencer par une question ouverte voir les retours
  • Mode de fonctionnement : 2 phases d'abord aborder ce que fait nagios seul pour bien comprendre que c est un ordonnanceur et du coup enchainer le concept de plugins et finir par l'interface avec nrpe et snmp > finir avec un beau schema recapitulant tout
  • Nsca : pas beaucoup parlé car souvenez vous meme si c'est plus interessant pour un vrai suivi le polling est mieux, et nsca est surtout utilise pour faire de la supervision repartie : avec plusieurs nagios qui envoie (dans les traitements complementaire) les donnees a un nagios central NDOutils : surtout devel pour la communaute, encore a l'etat a beta. Typiquement c est ce qu'utilise des projets comme centreon : mais bon moyen car si le serveur mysql tombe sous centreon plus rien ne fonctionne Nagiosgraph : excellent, car excessivement souple, mais depuis la v2 nagios via un outil interne (nagiosgrapher) est capable de generer des graphes sans rien avoir a configurer (via les perfdatas). Les donnees sont places dans des bases rrds
  • Nsca : pas beaucoup parlé car souvenez vous meme si c'est plus interessant pour un vrai suivi le polling est mieux, et nsca est surtout utilise pour faire de la supervision repartie : avec plusieurs nagios qui envoie (dans les traitements complementaire) les donnees a un nagios central NDOutils : surtout devel pour la communaute, encore a l'etat a beta. Typiquement c est ce qu'utilise des projets comme centreon : mais bon moyen car si le serveur mysql tombe sous centreon plus rien ne fonctionne Nagiosgraph : excellent, car excessivement souple, mais depuis la v2 nagios via un outil interne (nagiosgrapher) est capable de generer des graphes sans rien avoir a configurer (via les perfdatas). Les donnees sont places dans des bases rrds
  • Nsca : pas beaucoup parlé car souvenez vous meme si c'est plus interessant pour un vrai suivi le polling est mieux, et nsca est surtout utilise pour faire de la supervision repartie : avec plusieurs nagios qui envoie (dans les traitements complementaire) les donnees a un nagios central NDOutils : surtout devel pour la communaute, encore a l'etat a beta. Typiquement c est ce qu'utilise des projets comme centreon : mais bon moyen car si le serveur mysql tombe sous centreon plus rien ne fonctionne Nagiosgraph : excellent, car excessivement souple, mais depuis la v2 nagios via un outil interne (nagiosgrapher) est capable de generer des graphes sans rien avoir a configurer (via les perfdatas). Les donnees sont places dans des bases rrds
  • Nsca : pas beaucoup parlé car souvenez vous meme si c'est plus interessant pour un vrai suivi le polling est mieux, et nsca est surtout utilise pour faire de la supervision repartie : avec plusieurs nagios qui envoie (dans les traitements complementaire) les donnees a un nagios central NDOutils : surtout devel pour la communaute, encore a l'etat a beta. Typiquement c est ce qu'utilise des projets comme centreon : mais bon moyen car si le serveur mysql tombe sous centreon plus rien ne fonctionne Nagiosgraph : excellent, car excessivement souple, mais depuis la v2 nagios via un outil interne (nagiosgrapher) est capable de generer des graphes sans rien avoir a configurer (via les perfdatas). Les donnees sont places dans des bases rrds
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • Plop.com a besoin de superviser son reseau Question ouverte au public : voila le réseau et les qqservices qui tournent sur chacune des machines... que proposez vous pour superviser ce réseau ? Laisser parler... ^^
  • Finir par le fait qu'il faut absolument synthetiser tout ca dans une matrice cf prochain slide Test == on veut tester le cpu : on regarde quoi ? Etc... Une fois qu'on a toutes les questions, il faut synthetiser la reflexion dans un tableau qui va servir de base pour le choix des scripts de test et la configuration du nagios
  • Amener a discuter des thresholds (sur les bonnes pratiques par exemple on considere qu'un disque rempli a 95% perd en performance... mais il faut garder a l'esprit aussi que la taille de la partition est importante pour le temps de reaction : typiquement une petite partition devra etre surveillee plus attentivement Discuter pour le cpu Expliquer qu'on peut encore superviser plein de choses : comme le materiel etc... mais l'idee encore une fois c'est de voir ce qui est possible d'etre fait et de comprendre que c'est juste a nous d'enrichir NRPE / SNMP ? On va faire les 2 pour la démos mais normalement uniquement un suffit Ca suffit ? En fait non le nagios on l'installe ou ? Sur une machine existante ? Ou une autre machine ? Si autre machine alors il faut la superviser aussi !!!! A ce stade la on a tout ce qu'il faut pour se lancer
  • Resultat de ce qu'on souhaite poller
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • L'installation a partir des sources est tout a fait possible mais les packages sont interessants ne serait ce que pour les MAJ etc... chacun a sa propre approche Faire des tests avec chacun des plugins qu'on serait amene a utiliser
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • Snmpwalk ou Snmpget : avec l'option -O f on affiche l'oid complet -O n affiche l'oid sous format numeric Si on specifie une branche dans snmpwalk on la parcourt entiere : mettre OID disk index sans le dernier int check_snmp -H $host -o $OID
  • Snmpwalk ou Snmpget : avec l'option -O f on affiche l'oid complet -O n affiche l'oid sous format numeric Si on specifie une branche dans snmpwalk on la parcourt entiere : mettre OID disk index sans le dernier int check_snmp -H $host -o $OID
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • Chaque modification de la conf nrpe : restart du daemon Expliquer le pourquoi du nrpe_local.cfg
  • Chaque modification de la conf nrpe : restart du daemon Expliquer le pourquoi du nrpe_local.cfg
  • Chaque modification de la conf nrpe : restart du daemon Expliquer le pourquoi du nrpe_local.cfg
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • Bonne pratique un fichier de template d'hotes et de services puis un fichier par groupe d'hotes... la pas bcp alors un fichier par hote Les liens pour n'avoir a modifier qu'un seul fichier en revnache mettre des liens relatifs peut etre plus malin La conf est pour apache mais j'ai deja fait tourner sur lighttpd il faut juste que le serveur ait les bonnes dependances : cgi, gd.
  • L'idée c'est de faire une mise en pratique de ce que l'on vient de voir... On va voir brievement chaque partie de facon independante (pour bien insister sur tout ce qu'on a vu plus tot)
  • Les autres outils sont dans le meme esprit que nagios NNM
  • Les autres outils sont dans le meme esprit que nagios NNM
  • Cours - Supervision SysRes et Présentation de Nagios

    1. 1. La Supervision Systèmes et Réseaux Présentation de l'outil Nagios Par Erwan 'Labynocle' Ben Souiden (erwan@aleikoum.net ­ @labynocle) Durée de la présentation : 4 heures Version du document : 0.5.3
    2. 2. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 2
    3. 3. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 3
    4. 4. Introduction :: Objectifs de cette présentation Comprendre ce qu'est la supervision et ses enjeux  Connaître et comprendre les concepts et mécanismes des outils      qui permettent d'assurer la supervision Avoir une vision des outils du marché Présentation de l'outil Open Source majeur du marché : Nagios Etude d'un cas pratique Retour d'expérience dans 2 environnements différents La Supervision Systèmes et Réseaux – Présentation de Nagios 4
    5. 5. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 5
    6. 6. Approche Théorique ::  Définition  Comment supervise­t­on ? Les concepts de polling versus hearbeat Les outils existants  Les apports de la supervision La Supervision Systèmes et Réseaux – Présentation de Nagios 6
    7. 7. Approche Théorique ::  Définition  Comment supervise t'on ? Les concepts de polling versus hearbeat Les outils existants  Les apports de la supervision La Supervision Systèmes et Réseaux – Présentation de Nagios 7
    8. 8. Approche Théorique :: Définition Que peut on superviser ?  A priori tout peut être supervisé à partir du moment où l'on peut déterminer un état ➔ ➔ ➔ ➔  Diodes  Logs  Réponses  Activités Dans un SI, cela signifie qu'on peut superviser ➔ ➔ ➔ ➔  Le matériel (serveurs, équipements réseaux...)  Le réseau (trafic...)  Les services (web,mail, partage de fichiers...)  Les workflows (processus métier...) La Supervision Systèmes et Réseaux – Présentation de Nagios 8
    9. 9. Approche Théorique :: Définition Qu'est ce que la supervision ? Définition du Petit Larousse 1991 : “superviser c'est contrôler et réviser un fait” Définition  sur  Wikipédia  :  “la  supervision  est  une  technique  de  suivi  et  de  pilotage  informatique  de  procédés  de  fabrication  automatisés.  La  supervision  concerne  l'acquisition  de  données  (mesures,  alarmes,  retour  d'etat  de  fonctionnement) et des paramètres de commande des processus généralement  confiés à des automates programmables” Finalement la supervision c'est la surveillance du bon fonctionnement d’un  système ou d’une activité La Supervision Systèmes et Réseaux – Présentation de Nagios 9
    10. 10. Approche Théorique :: Définition Que doit on superviser ?  La vraie question : est ce qu'un SI peut ne pas avoir de faille ? Tout ce qui touche à la production d'un SI doit être  supervisé ! La Supervision Systèmes et Réseaux – Présentation de Nagios 10
    11. 11. Approche Théorique :: Définition “Même si ton adversaire te semble une souris,  surveille­le comme s'il était un lion.” Luigi Manfredi Ingénieur à l'Info Institute Of Medical Science and Technology La Supervision Systèmes et Réseaux – Présentation de Nagios 11
    12. 12. Approche Théorique ::  Définition  Comment supervise­t­on ? Les concepts de polling versus hearbeat Les outils existants  Les apports de la supervision La Supervision Systèmes et Réseaux – Présentation de Nagios 12
    13. 13. Approche Théorique :: Comment supervise­t­on ? Rappel : l'objectif est de connaître les changements d'états Polling Heartbeat Polling : sondage réalisé périodiquement par un superviseur Heartbeat : signal émis par un équipement à chaque changement d'état (images: xkcd.org) La Supervision Systèmes et Réseaux – Présentation de Nagios 13
    14. 14. Approche Théorique :: Comment supervise­t­on ?  Polling – Description (1/2) – Exemple (images: xkcd.org) La Supervision Systèmes et Réseaux – Présentation de Nagios 14
    15. 15. Approche Théorique :: Comment supervise­t­on ?  Polling – Description (2/2) – Avantages et Inconvénients  A l'initiative du demandeur  Permet un véritable suivi  Des échanges pour rien   Temps de réaction  Possibilité de ne pas voir certains changements La Supervision Systèmes et Réseaux – Présentation de Nagios 15
    16. 16. Approche Théorique :: Comment supervise­t­on ?  Heartbeat – Description (1/2) – Exemple (images: xkcd.org) La Supervision Systèmes et Réseaux – Présentation de Nagios 16
    17. 17. Approche Théorique :: Comment supervise­t­on ?  Heartbeat – Description (2/2) – Avantages et Inconvénients  Des échanges uniquement lorsque c'est nécessaire  Temps de réaction  Tous les changements d'états sont remontés  Suivi moins complet  A l'initiative de celui qui possède l'information La Supervision Systèmes et Réseaux – Présentation de Nagios 17
    18. 18. Approche Théorique :: Comment supervise­t­on ?  Polling vs Heartbeat ­ Conclusion Quelle est la meilleure solution ? Aucune, tout dépend : du contexte des objectifs ... Ce ne sont que des concepts ! La Supervision Systèmes et Réseaux – Présentation de Nagios 18
    19. 19. Approche Théorique :: Les outils existants Un outil de supervision doit répondre aux critères suivants Des mécanismes pour déterminer l'état d'une ressource/process Une console / un dashboard de monitoring  Remontée d'alertes La Supervision Systèmes et Réseaux – Présentation de Nagios 19
    20. 20. Approche Théorique :: Les outils existants On distinguera 3 catégories Les solutions propriétaires Les solutions Open Source Les protocoles réseaux La Supervision Systèmes et Réseaux – Présentation de Nagios 20
    21. 21. Approche Théorique ::  Définition  Comment supervise­t­on ? Les concepts de polling versus hearbeat Les outils existants  Les apports de la supervision La Supervision Systèmes et Réseaux – Présentation de Nagios 21
    22. 22. Approche Théorique :: Les apports de la supervision Rappel de l'objectif  Avoir de la visibilité sur l'état de son SI, de son activité ou de son architecture La supervision permet d'aller au delà : Pro activité Dimensionnement Contrôle qualité / Complément d'informations Contrat de service  Crédibilité La Supervision Systèmes et Réseaux – Présentation de Nagios 22
    23. 23. Présentation de SNMP ::  Définition  Mode de fonctionnement  Bilan : Avantages et Limitations La Supervision Systèmes et Réseaux – Présentation de Nagios 23
    24. 24. Présentation de SNMP ::  Définition  Mode de fonctionnement  Bilan : Avantages et Limitations La Supervision Systèmes et Réseaux – Présentation de Nagios 24
    25. 25. Présentation de SNMP :: Définition Spécifications dans la RFC 1157 (rendant obsolète les RFCs 1067 et 1098) datant de Mai 1990 et proposée par J. Case, M. Fedor, M. Schoffstall, J. Davin. Définition sur Wikipédia : “Simple Network Management Protocol (SNMP), est un  protocole de communication qui permet aux administrateurs réseau de gérer les  équipements du réseau, superviser et de diagnostiquer des problèmes réseaux,  matériels à distance”. Plusieurs versions d'implémentation ( v1, v2, v3) Comme  c'est  un  protocole  c'est  indépendant  de  la  plateforme  (Unix,  Linux,  Windows...) et du type de l'équipement (serveurs, switchs, routeurs, machines à  café...) La Supervision Systèmes et Réseaux – Présentation de Nagios 25
    26. 26. Présentation de SNMP ::  Définition  Mode de fonctionnement  Bilan : Avantages et Limitations La Supervision Systèmes et Réseaux – Présentation de Nagios 26
    27. 27. Présentation de SNMP :: Mode de fonctionnement Ce protocole se base sur le principe d'une communication manager­agent. Le manager polle les agents pour avoir des informations.  Ces échanges se font en UDP sur le port 161. Les agents peuvent d'eux mêmes envoyer des informations aux manager via SNMP. Les échanges sont aussi en UDP et utilisent le port 162. La Supervision Systèmes et Réseaux – Présentation de Nagios 27
    28. 28. Présentation de SNMP :: Mode de fonctionnement  Schéma des échanges SNMP (v1)  Format des paquets SNMP (v1) La Supervision Systèmes et Réseaux – Présentation de Nagios 28
    29. 29. Présentation de SNMP :: Mode de fonctionnement  Mais d'où proviennent ces informations ? Des  La MIB est la Management Information Base La MIB contient les informations d'un système ou d'un équipement dans une  base de données normalisée. Cette base est organisée en arborescence et est accessible en lecture et en  écriture. C'est l'agent spécifique à la plateforme qui fait la traduction entre les informations  SNMP et les MIBs. Les entrées de cette base sont accessibles via des identifiants appelés OIDs.  La Supervision Systèmes et Réseaux – Présentation de Nagios 29
    30. 30. Présentation de SNMP :: Mode de fonctionnement Schéma d'une MIB Les noms des catégories n'est qu'une représentation plus simple pour l'homme Exemple d'OID d'une référence dans MIB­2 : 1.3.6.1.2.1 La MIB­2 décrite dans la RFC 1213 est déployée dans quasi tous les équipements  TCP/IP. On y retrouve les informations de bases sur le système, les interfaces, etc... La Supervision Systèmes et Réseaux – Présentation de Nagios 30
    31. 31. Présentation de SNMP ::  Définition  Mode de fonctionnement  Bilan : Avantages et Limitations La Supervision Systèmes et Réseaux – Présentation de Nagios 31
    32. 32. Présentation de SNMP :: Avantages et Limitations Avantages Limitations   Protocole excessivement simple  Aucun chiffrement   Très largement répandu  Pas d'acquittement sur les traps   Léger pour les équipements  Jeu de commandes pauvres  Facilement extensible  Gratuit La Supervision Systèmes et Réseaux – Présentation de Nagios 32
    33. 33. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 33
    34. 34. Présentation de Nagios ::  Définition / Généralités  Mode de fonctionnement  Nagios Core  Le concept de plugins  NRPE et SNMP  Bilan : Avantages et Limitations  Projets annexes La Supervision Systèmes et Réseaux – Présentation de Nagios 34
    35. 35. Présentation de Nagios ::  Définition / Généralités  Mode de fonctionnement  Nagios Core  Le concept de plugins  NRPE et SNMP  Bilan : Avantages et Limitations  Projets annexes La Supervision Systèmes et Réseaux – Présentation de Nagios 35
    36. 36. Présentation de Nagios :: Définition / Généralités Nagios est un outil de monitoring systèmes et réseaux Designé pour Linux, il fonctionne sur tous les Unix like Ecrit complètement en C (les CGIs aussi) Les prérequis sont limités à un compilateur C et une configuration TCP/IP Prérequis optionnels : un serveur web (Apache, Lighttp) et la librairie GD Sous licence GNU GPL Site officiel : www.nagios.org ­ Auteur du premier projet Ethan Galstad La Supervision Systèmes et Réseaux – Présentation de Nagios 36
    37. 37. Présentation de Nagios :: Définition / Généralités Surveillance des services réseaux (SMTP, POP3, HTTP, NNTP, ICMP (Ping), etc) Surveillance des ressources des hôtes (charge processeur, utilisation des disques,  etc) Système  simple  de  plug­ins  permettant  aux  utilisateurs  de  développer  facilement  leurs propres vérifications de services. Parallélisation de la vérification des services. 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. La Supervision Systèmes et Réseaux – Présentation de Nagios 37
    38. 38. Présentation de Nagios :: Définition / Généralités Notifications des contacts quand un hôte ou un service a un problème Possibilité  de  définir  des  gestionnaires  d'évènements  qui  s'exécutent  pour  des  événements sur des hôtes ou des services, pour une résolution des problèmes pro­ active Rotation automatique des fichiers log Support pour l'implémentation de la surveillance des hôtes de manière redondante Interface  web,  pour  voir  l'état  actuel  du  réseau,  notification  et  historique  des  problèmes, fichiers log, etc. La Supervision Systèmes et Réseaux – Présentation de Nagios 38
    39. 39. Présentation de Nagios :: Définition / Généralités  Screenshot La Supervision Systèmes et Réseaux – Présentation de Nagios 39
    40. 40. Présentation de Nagios :: Définition / Généralités  Historique La Supervision Systèmes et Réseaux – Présentation de Nagios 40
    41. 41. Présentation de Nagios :: Définition / Généralités  Awards / Retour de la communauté SourceForge Project of the month – 06/2005 SourceForge Community Awards “best or sysadmins tool” finalist – 2007 SourceForge Community Awards “best or sysadmins tool” – 2009  Définie Nagios comme un “must have tool” – 2006 Place Nagios comme une des applications OpenSource les plus importantes de tous les temps – 2007 Members Choice Award – 2007 Meilleure application de monitoring – 2008 Dans le Top 5 des outils Open Source de sécurité – 2007 Meilleure application de monitoring – 2008 et 2009 Meilleure application de monitoring – 2009 La Supervision Systèmes et Réseaux – Présentation de Nagios 41
    42. 42. Présentation de Nagios :: Définition / Généralités  Communauté et quelques chiffres Communauté mondiale : évaluée à + de 250 000 utilisateurs Sites dédiés http://community.nagios.org : news et annonces [EN] http://wiki.nagios.org : best practice, documentations officielles [EN] http://www.monitoringexchange.org : repository officiel de plugins [EN] ­ plus de 2100 projets recensés http://forums.monitoring­fr.org : forum de la communauté francaise [FR] ­ plus de 400 users ­ presque 40000 posts sur plus de 4000 threads La Supervision Systèmes et Réseaux – Présentation de Nagios 42
    43. 43. Présentation de Nagios :: Définition / Généralités  Références La Supervision Systèmes et Réseaux – Présentation de Nagios 43
    44. 44. Présentation de Nagios :: Définition / Généralités  Autres solutions Open Source La Supervision Systèmes et Réseaux – Présentation de Nagios 44
    45. 45. Présentation de Nagios ::  Définition / Généralités  Mode de fonctionnement  Nagios Core  Le concept de plugins  NRPE et SNMP  Bilan : Avantages et Limitations  Projets annexes La Supervision Systèmes et Réseaux – Présentation de Nagios 45
    46. 46. Présentation de Nagios :: Mode de fonctionnement :: Nagios Core  Nagios Core est  un daemon Unix juste un ordonnanceur de commandes... … capable de réagir en fonction d'un comportement donné  Nagios Core n'est pas un système de contrôle de services réseaux ou systèmes La Supervision Systèmes et Réseaux – Présentation de Nagios 46
    47. 47. Présentation de Nagios :: Mode de fonctionnement :: Le concept de plugins  Que sont les plugins ?  des scripts stand alone qui permettent d'obtenir ou de contrôler         l'état  d'un service ou d'une ressource  écrits en C (cf les nagios­plugins officiels)  ou en Perl/Shell/Python/Ruby (cf les plugins de la communauté) Nagios Core + plugins = solution de monitoring La Supervision Systèmes et Réseaux – Présentation de Nagios 47
    48. 48. Présentation de Nagios :: Mode de fonctionnement :: Le concept de plugins La Supervision Systèmes et Réseaux – Présentation de Nagios 48
    49. 49. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP  Comment peut on superviser des ressources locales d'une machine distante ? 2 possibilités via un service réseaux  via un mécanisme dédié  La Supervision Systèmes et Réseaux – Présentation de Nagios 49
    50. 50. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP  Nagios Remote Plugins Executor  Composé de 2 éléments un plugin : check_nrpe un daemon Unix  Porté sous Windows (sous le nom de NRPE­NT)  Possibilité d'avoir les échanges over SSL  Repose sur TCP et utilise nativement le port 5666 La Supervision Systèmes et Réseaux – Présentation de Nagios 50
    51. 51. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP La Supervision Systèmes et Réseaux – Présentation de Nagios 51
    52. 52. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP La Supervision Systèmes et Réseaux – Présentation de Nagios 52
    53. 53. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP La Supervision Systèmes et Réseaux – Présentation de Nagios 53
    54. 54. Présentation de Nagios :: Mode de fonctionnement :: NRPE et SNMP  SNMP ou NRPE ? Ca dépend !  protocole réseau standard indépendant  de la plateforme  possibilité d'avoir le flux over SSL  très peu gourmand en ressource  potentiellement gourmand en ressource   la supervision se limite au contenu des MIBs  pour chaque plateforme, une version  adaptée   sécurité légère La Supervision Systèmes et Réseaux – Présentation de Nagios 54
    55. 55. Présentation de Nagios ::  Définition / Généralités  Mode de fonctionnement  Nagios Core  Le concept de plugins  NRPE et SNMP  Bilan : Avantages et Limitations  Projets annexes La Supervision Systèmes et Réseaux – Présentation de Nagios 55
    56. 56. Présentation de Nagios :: Mode de fonctionnement :: Avantages et Inconvenients Avantages  Entièrement gratuit Limitations  Aucune !  Se suffit à lui même  Mécanisme simple  Code ouvert La Supervision Systèmes et Réseaux – Présentation de Nagios 56
    57. 57. Présentation de Nagios :: Mode de fonctionnement :: Avantages et Inconvenients “Limitations live only in our minds. But if we use our  imaginations, our possibilities become limitless.” Jamie Paolinetti Coureur cycliste professionnel La Supervision Systèmes et Réseaux – Présentation de Nagios 57
    58. 58. Présentation de Nagios ::  Définition / Généralités  Mode de fonctionnement  Nagios Core  Le concept de plugins  NRPE et SNMP  Bilan : Avantages et Limitations  Projets annexes La Supervision Systèmes et Réseaux – Présentation de Nagios 58
    59. 59. Présentation de Nagios :: Projets annexes NSCA : projet Nagios officiel, permet d'avoir un comportement heartbeat NDOutils : projet Nagios officiel, permet de stocker toutes les données de      Nagios dans une base de données MySQL graph : développé par la communauté, permet de générer des graphs sur les retours des plugins (approche de reporting) : développé par la communauté, permet de réaliser une cartographie   des hôtes supervisés SMS Server Tool : développé par la communauté, permet d'envoyer des notifications       par SMS Nagdroid : développé par la communauté, permet de suivre les notifications de sa       plateforme Nagios depuis son mobile Android La Supervision Systèmes et Réseaux – Présentation de Nagios 59
    60. 60. Présentation de Nagios :: Projets annexes Nagdroid La Supervision Systèmes et Réseaux – Présentation de Nagios 60
    61. 61. Présentation de Nagios :: Projets annexes graph La Supervision Systèmes et Réseaux – Présentation de Nagios 61
    62. 62. Présentation de Nagios :: Projets annexes XI Développé par l'équipe officielle Nagios, c'est un Nagios packagé avec plusieurs    projets afin d'avoir une solution clé en main L'objectif est de faciliter les larges déploiements, d'offrir des outils de reporting et une     GUI plus aboutie:  en faire un outil pour tous et pas qu'aux admins sys/res A partir de 1200$/an (jusqu'à 2200$/an) Architecture La Supervision Systèmes et Réseaux – Présentation de Nagios 62
    63. 63. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 63
    64. 64. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 64
    65. 65. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 65
    66. 66. Approche Pratique :: Etude d'un cas pratique  Soit la société Plop.com La Supervision Systèmes et Réseaux – Présentation de Nagios 66
    67. 67. Approche Pratique :: Etude d'un cas pratique  Avant de se lancer il faut se poser les bonnes questions  quels sont les matériels concernés par la supervision ?  pour chaque matériel, quelles sont les ressources ? et les services ?  à partir de quel seuil estime­t­on qu'il y a un problème ? et au bout de combien   de temps ?  qui doit on prévenir en cas de problème ?  quel est le test qui va permettre de déterminer l'état de la ressource ou   du service ? La Supervision Systèmes et Réseaux – Présentation de Nagios 67
    68. 68. Approche Pratique :: Etude d'un cas pratique La Supervision Systèmes et Réseaux – Présentation de Nagios 68
    69. 69. Approche Pratique :: Etude d'un cas pratique NRPE+SNMP+Plugins Nagios NRPE+SNMP+Plugins Nagios Nagios Core NRPE+SNMP+Plugins Nagios La Supervision Systèmes et Réseaux – Présentation de Nagios 69
    70. 70. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 70
    71. 71. Approche Pratique :: Mise en place et test des plugins Nagios  Installation par package $ sudo apt-get install nagios-plugins-basic nagios-plugins-standard  Contenu du package $ dpkg -L nagios-plugins-basic $ dpkg -L nagios-plugins-standard  Test des plugins $ $ $ $ $ $ ./check_ping --help ./check_http --help ./check_disk --help ./check_load --help ./check_cpu –-help ./check_mysqld --help La Supervision Systèmes et Réseaux – Présentation de Nagios 71
    72. 72. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 72
    73. 73. Approche Pratique :: Mise en place et tests de SNMP  Installation par package $ sudo apt-get install snmp snmpd  Contenu du package $ dpkg -L snmp $ dpkg -L snmpd  Configuration du daemon SNMP $ sudo vim /etc/default/snmpd $ sudo vim /etc/snmp/snmpd.conf  Démarrage du daemon SNMP $ sudo /etc/init.d/snmpd start La Supervision Systèmes et Réseaux – Présentation de Nagios 73
    74. 74. Approche Pratique :: Mise en place et tests de SNMP  Exemple de snmpd.conf $ cat /etc/snmp/snmpd.conf trapsink 127.0.0.1 trap2sink 127.0.0.1 informsink 127.0.0.1 # definition des access list com2sec LocalNet 127.0.0.1 com2sec Mynetwork 10.0.0.0/24 public public # definition des groupes pour les access list group ROGroup v1 LocalNet group ROGroup v1 Mynetwork # definition des vues view tout included .1 # association vue groupe access ROGroup "" v1 noauth La Supervision Systèmes et Réseaux – Présentation de Nagios exact tout none none 74
    75. 75. Approche Pratique :: Mise en place et tests de SNMP  Test des commandes SNMP $ snmpwalk -c $COMMUNITY -v1 $HOST $ snmpget -c $COMMUNITY -v1 $HOST $OID  Plugins SNMP $ ./check_snmp --help $ ./check_snmp_load.pl --help La Supervision Systèmes et Réseaux – Présentation de Nagios 75
    76. 76. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 76
    77. 77. Approche Pratique :: Mise en place et tests de NRPE  Installation par package côté hôte de supervision $ sudo apt-get -O APT::Install-Recommends=0 install nagios-nrpe-plugin  Contenu du package $ dpkg -L nagios-nrpe-plugin  Installation par package côté hôte à superviser $ sudo apt-get -O APT::Install-Recommends=0 install nagios-nrpe-server  Contenu du package $ dpkg -L nagios-nrpe-server La Supervision Systèmes et Réseaux – Présentation de Nagios 77
    78. 78. Approche Pratique :: Mise en place et tests de NRPE  Côté de l'hôte à superviser – configuration de NRPE $ sudo vim /etc/nagios/nrpe.cfg $ sudo vim /etc/nagios/nrpe_local.cfg $ sudo vim /etc/default/nagios-nrpe-server  Côté de l'hôte à superviser – démarrage du daemon NRPE $ sudo /etc/init.d/nagios-nrpe-server start  Côté de l'hôte superviseur – utilisation de check_nrpe $ ./check_nrpe -H $HOST -c $COMMANDE -a $ARGS La Supervision Systèmes et Réseaux – Présentation de Nagios 78
    79. 79. Approche Pratique :: Mise en place et tests de NRPE  Exemple de /etc/nagios/nrpe.cfg $ cat nagios/nrpe.cfg | grep -v "^#" | grep -v "^$” log_facility=daemon pid_file=/var/run/nrpe.pid server_port=5666 nrpe_user=nagios nrpe_group=nagios allowed_hosts=127.0.0.1 dont_blame_nrpe=1 debug=0 command_timeout=60 connection_timeout=300 include=/etc/nagios/nrpe_local.cfg La Supervision Systèmes et Réseaux – Présentation de Nagios 79
    80. 80. Approche Pratique :: Mise en place et tests de NRPE  Exemple de /etc/nagios/nrpe_local.cfg $ cat nagios/nrpe_local.cfg # check de MySQL # -------------# retrouver le script sur : # http://www.monitoringexchange.org/inventory/Check-Plugins/Database/MySQL/check_mysqld command[check_mysqld]=/usr/lib/nagios/plugins-perso/check_mysqld.pl -H 127.0.0.1 -u "monitoring" -p 'monitoringpassword' # check de la LOAD # ---------------command[check_load]=/usr/lib/nagios/plugins/check_load -w 2,1.5,1.25 -c 3,2.5,2.1 # check DISK # ---------command[check_disk_data]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p /data command[check_disk_boot]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p /boot command[check_disk_root]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p / #command[check_disk_arg]=/usr/lib/nagios/plugins/check_disk -w 99% -c 5% -p $ARG1$ command[check_disk_arg]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p $ARG1$ La Supervision Systèmes et Réseaux – Présentation de Nagios 80
    81. 81. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 81
    82. 82. Approche Pratique :: Mise en place et intégration dans Nagios  Installation par package $ sudo apt-get install nagios3  Contenu du package $ dpkg -L nagios3  Configuration générale de Nagios $ $ $ $ $ sudo sudo sudo sudo sudo vim vim vim vim vim /etc/default/nagios3 /etc/nagios3/nagios.cfg /etc/nagios3/cgi.cfg /etc/nagios3/commands.cfg /etc/nagios3/resource.cfg La Supervision Systèmes et Réseaux – Présentation de Nagios 82
    83. 83. Approche Pratique :: Mise en place et intégration dans Nagios  Configuration avancée de Nagios $ sudo vim /etc/nagios3/conf.d/*  Tester la configuration de Nagios $ /usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg  Configuration du serveur Web pour l'interface de monitoring $ sudo ln -s /etc/nagios3/apache2.conf /etc/apache2/site-available/nagios $ sudo a2ensite nagios $ sudo /etc/init.d/apache2 reload  Démarrage du daemon Nagios $ sudo /etc/init.d/nagios3 start La Supervision Systèmes et Réseaux – Présentation de Nagios 83
    84. 84. Approche Pratique ::  Etude d'un cas pratique  Mise en place et tests des plugins Nagios  Mise en place et tests de SNMP  Mise en place et tests de NRPE  Mise en place et intégration dans Nagios  Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 84
    85. 85. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 85
    86. 86. Plan de la présenation I. Introduction II. Approche Théorique III. Présentation de SNMP IV. Présentation de l'outil Nagios V. Approche Pratique VI. Retours d'expérience VII. Conclusion La Supervision Systèmes et Réseaux – Présentation de Nagios 86
    87. 87. Conclusion ::  Ce qu'il faut retenir  Les outils de supervision sont donc aujourd'hui des outils indispensables à tout SI  Ce sont des outils qui doivent évoluer en même temps que l'architecture  Il n'y a jamais de solution de supervision toute faite, seules les méthodes d'approches   restent identiques  Nagios est un outil qui peut aller au delà de la supervision et du reporting... cela ne   tient qu'à votre imagination et votre capacité à scripter  Les concepts de remontée de l'information polling et heartbeat  Les mécanismes de SNMP, la notion de MIBs et d'OID La Supervision Systèmes et Réseaux – Présentation de Nagios 87
    88. 88. Conclusion ::  Pour aller plus loin  Les configurations évoquées pour le use case plop.com sont disponibles sur github https://github.com/labynocle/talk­td_tp/  Les mises à jour de ce cours seront disponibles sur slideshare http://www.slideshare.net/labynocle/cours­supervision­sysres­et­prsentation­de­nagios La Supervision Systèmes et Réseaux – Présentation de Nagios 88
    89. 89. Conclusion ::  Ce qu'il faut retenir Don't believe me try it yourself! (images: The Big Bang Theory TV Show) La Supervision Systèmes et Réseaux – Présentation de Nagios 89
    90. 90. Conclusion :: Questions ? (images: xkcd.org) La Supervision Systèmes et Réseaux – Présentation de Nagios 90

    ×