|
Nagios organise les machines, les contacts et les services comme des objets. Chaque objet à un nom unique et la plupart peuvent être réunis au sein de groupes logiques, permettant ainsi d'appliquer une politique pour chaque groupes.
Les Hôtes :
Un hôte (host) peut être n'importe quel équipement qui en général est joignable par une adresse IP. Ce qui inclus donc :
- Les ordinateurs (en général des serveurs)
- Les routeurs et tout autre equipement actifs
- Les imprimantes équipées d'une interface réseau
Les Contacts :
La finalité d'un contact est que Nagios puisse le joindre en cas d'alerte pour n'importe quel dysfonctionnement.
Conseil : Pour chaque contact, vous devrez founir une adresse email. Preférez une adresse de groupe plutôt qu'une adresse individuelle, même si le groupe ne contient qu'une seule personne.
La notion de contact a également une incidence sur la surveillance de Nagios à partir d'une interface Web. Les droits dans cette interface tiennent compte des liens entres un groupe de contacts et un équipement.
Un exemple, vous voulez que le responsable d'un site distant puisse accèder aux rapports statistiques des équipements qui ne concernent que son site et rien d'autres. Vous devrez donc rattacher ce contact au groupe(s) qu'il surveille.
Les Périodes :
Pour éviter de redéfinir à chaque besoin, des plages horaires détaillés pour chaque jour et chaque équipement ou services, Nagios fournit la notion de profil pour regrouper un ensemble de règles concernant les plages horaires.
Un premier exemple : Un contact peut recevoir des alertes par mail de 9h à 18h du lundi au vendredi. Mais de 18h01 à 08h59 la semaine et 24/24 le week-end, il faut lui envoyer un SMS
Un second exemple : Une machine ou un service est arrêté pour des raisons de maintenance le mardi entre 21h et 23h. Inutile donc de lancer des alertes, c'était prévu...
Les Commandes :
Chaque commande correspond au lancement d'un programme externe comme un PING, une requette SNMP, SQL ou LDAP, la vérification de services, etc...
Comme une commande peut être lancé avec des paramètres différents en fonction de certains équipement, il n'est pas rare de trouver la même commande plusieurs fois mais avec une syntaxe d'utilisation différente.
Remarque : Chaque commande comme tout objet dans Nagios à un nom unique. Ce nom n'est par forcément en rapport avec le nom du programme qui sera exécuté. Pour exécuter le programme PING, je peux définir une commande qui se nomme TOTO.
Les Services :
Les services sont en quelques sortes, l'aggrégation des HOTES, CONTACT, PERIODES et COMMANDES.
C'est la finalité de tous ce travail de définition et référencement avant de pouvoir utiliser Nagios.
Pour résumer, à chaque création de service, vous définissez :
- Quel hôte/équipement est concerné
- Dans quelle période de temps, j'effectue le contrôle et je notifie en cas de problème
- Quelle commande je lance et avec quels paramètres
Les Groupes d'hôtes :
Pour des raisons d'organisation et d'optimisation, les équipements peuvent être réunis dans des groupes
Dans mon cas, j'ai définis les groupes suivants :
- SERVERS_LINUX
- SERVERS_NT
- SITE_ARGENTEUIL
- SITE_PARIS
- DMZ
- INTERNET
J'ai ensuite placé chaque équipement dans un ou plusieurs groupes
Conseil : Evitez des noms à espaces et/ou caractères accentués, cela vous gènera lors de l'utilisation de la couche Web.
Les Groupes de contacts :
Même chose que pour les groupes d'hotes, vous organisez les contacts selon vos préférences :
- ADMIN_LINUX
- ADMIN_NT
- ADMIN_ORACLE
- WEBMASTERS
- ADMIN_LOTUS
- ADMIN_CITRIX
Ne perdez pas de vue, qu'il s'agit le plus souvent de cibler les destinataires en fonction de chaque alertes.
L'héritage :
Il existe une notion de "Parent" très utile pour l'organisation de la surveillance du parc.
Pour comprendre et mettre en place cet héritage, il faut partir de la machine sur laquelle nagios est installé et noter le chemin parcouru pour atteindre un équipement.
Exemple :
- le serveur Nagios est installé sur votre Lan et surveille un serveur qui se trouve sur un site distant.
- Pour atteindre ce serveur à partir de nagios, il vous faut traverser
- Votre firewall
- Après le firewall, le routeur qui donne accès à Internet
- Vous arrivez ensuite sur le routeur du site distant
- Vous voilà enfin sur le serveur à contrôler
- Le serveur sur le site distant aura comme parent direct, le routeur du site distant
- Le routeur du site distant aura comme parent direct votre routeur Internet
- Votre routeur Internet aura comme parent direct, votre firewall
- Votre firewall, n'aura pas besoin de parent car vous y accèder directement à partir du serveur Nagios
L'interêt de cet héritage est très important. Sans l'héritage, si votre firewall tombe en panne, nagios va générer des alertes pour tous les équipements se trouvant entre lui et le serveur sur le site distant.
Chaque serveur pouvant être rattaché à plusieurs alertes (ping, smtp, snmp, etc..) en quelques minutes vous pourriez recevoir plusieurs centaines des mails ou SMS.
Nagios va donc utiliser cette notion d'héritage pour déterminer que si le firewall tombe en panne, il est inutile de générer des alertes pour tous les équipements qui se trouves derrière.
Une autre conséquence directe de l'héritage est l'organisation du schéma graphique dans l'interface Web de Nagios car vos équipements seront reliés les uns aux autres en fonction de leur emplacement physique. |