Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nagios [Le 03/02/2009, 15:34]
213.95.41.13
nagios [Le 01/03/2023, 18:02] (Version actuelle)
sefran Ajout liens
Ligne 1: Ligne 1:
-{{tag>Dapper Edgy Gutsy sécurité serveur supervision BROUILLON}}+{{tag> sécurité serveur supervision ​metrologie ​BROUILLON}}
 ---- ----
  
 ====== Nagios : moniteur de supervision ====== ====== Nagios : moniteur de supervision ======
  
-//​**Remarque :** <​del>​cet article a été testé sous Ubuntu 6.10 et fonctionne avec les versions précédentes.</​del> ​Cet article a été mis à jour pour nagios3, disponible pour Ubuntu 8.10//+//​**Remarque :**  Cet article a été mis à jour pour nagios3, disponible pour Ubuntu 8.10//
  
 La gestion d'un parc de serveur est un travail de chaque instant. Un bon administrateur système doit savoir à tout moment l'​état des différentes machines et des différents services. Un autre aspect clé est que l'​administrateur ne peut pas se permettre de passer son temps devant un tableau avec des voyants verts en attendant qu'un voyant passe au rouge pour agir. Son temps est occupé à d'​autres tâches et il ne peut donc pas surveiller le tableau de statut en permanence. La gestion d'un parc de serveur est un travail de chaque instant. Un bon administrateur système doit savoir à tout moment l'​état des différentes machines et des différents services. Un autre aspect clé est que l'​administrateur ne peut pas se permettre de passer son temps devant un tableau avec des voyants verts en attendant qu'un voyant passe au rouge pour agir. Son temps est occupé à d'​autres tâches et il ne peut donc pas surveiller le tableau de statut en permanence.
  
-L'​examen quotidien des logs systèmes est un bon début. Cependant, si un problème survient, on s'en rend compte seulement le lendemain. Ce qui peut être très (trop ?) tard.+L'​examen quotidien des logs systèmes est un bon début. Cependant, si un problème survient, on s'en rend compte seulement le lendemain. Ce qui peut être trop tard.
  
-Pour se simplifier le travail, nous allons utiliser un //moniteur de supervision//​. Le but d'un tel programme est de surveiller les services et les machines se trouvant sous notre responsabilité. Si un problème survient, le moniteur de supervision nous prévient (courriel, SMS, coup de téléphone,​ etc.) ou peut entreprendre certaines actions (relancer un service, tuer un processus, demander un redémarrage,​ etc.).+Pour simplifier le travail, nous allons utiliser un //moniteur de supervision//​. Le but d'un tel programme est de surveiller les services et les machines se trouvant sous notre responsabilité. Si un problème survient, le moniteur de supervision nous prévient (courriel, SMS, coup de téléphone,​ etc.) ou peut entreprendre certaines actions (relancer un service, tuer un processus, demander un redémarrage,​ etc.).
  
-Le moniteur de supervision que nous allons décrire est **Nagios** qui est un des plus connus et des plus utilisés.+Le moniteur de supervision que nous allons décrire est **Nagios** qui est l'un des plus connus et des plus utilisés.
  
 ===== Pré-requis ===== ===== Pré-requis =====
  
-Pour la suite des opérations,​ des pré-requis sont nécessaires : +Pour la suite des opérations,​ des pré-requis sont nécessaires :
   * Disposer des [[:​sudo|droits d'​administration]] ;   * Disposer des [[:​sudo|droits d'​administration]] ;
   * Disposer d'une connexion à Internet configurée et activée ;   * Disposer d'une connexion à Internet configurée et activée ;
   * Avoir activé l'​accès au [[:​depots|dépôt APT]] « Universe » ;   * Avoir activé l'​accès au [[:​depots|dépôt APT]] « Universe » ;
   * Un [[:​lamp|serveur web Apache]] fonctionnel.   * Un [[:​lamp|serveur web Apache]] fonctionnel.
- 
- 
- 
- 
  
 ===== Introduction ===== ===== Introduction =====
Ligne 39: Ligne 35:
  
 ===== Installation ===== ===== Installation =====
 +Avant d'​installer Nagios, il est préférable d'​installer le serveur web [[Apache]] (c'est plus commode pour tester le bon fonctionnement de Nagios). Sans entrer dans les détails d'​installation d'​Apache,​ vous pouvez déjà avoir un serveur web fonctionnel en [[:​tutoriel:​comment_installer_un_paquet|installant le paquet]] **apache2**.
  
-<​del>​Avant d'​installer Nagios, il est préférable d'​installer le serveur web [[Apache]] (c'est plus commode pour tester le bon fonctionnement de Nagios). Sans entrer dans les détails d'​installation d'​Apache,​ vous pouvez déjà avoir un serveur web fonctionnel en [[:​tutoriel:​comment_installer_un_paquet|installant le paquet]] **apache2**. +Ensuite, il ne vous reste plus qu'à installer Nagios proprement dit, [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **nagios-text**.
- +
-Ensuite, il ne vous reste plus qu'à installer Nagios proprement dit, [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **nagios-text**.</​del>​+
  
 [[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] [[apt://​nagios3|nagios3]] (apache2 s'​installera automatiquement car c'est une dépendance). [[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] [[apt://​nagios3|nagios3]] (apache2 s'​installera automatiquement car c'est une dépendance).
  
-<del>À la fin de l'​installation,​ Nagios va vous demander d'​introduire un mot de passe pour « ''​nagiosadmin''​ ».+À la fin de l'​installation,​ Nagios va vous demander d'​introduire un mot de passe pour « ''​nagiosadmin''​ ». 
 + 
 +<note warning>​Avec la version 9.04 il n'est pas demandé de mot de passe a la fin de l'​installation. Il faut créer un nouvel utilisateur.</​note>​
  
 Ici nous utilisons la version ''​text''​ de Nagios ; c'​est-à-dire que les informations concernant les services sont stockés dans des fichiers textes. Il existe également une version ''​mySQL''​ dont nous ne parlerons pas dans ces quelques lignes ((Nagios est une application critique, autant réduire le nombre de composant lui permettant de fonctionner. L'​avantage de la version texte de Nagios est aussi que c'​est ​ bien plus simple de changer un paramètre particulier et ainsi garder le contrôle de la configuration. Toutefois certaines personnes ont écrit des scripts utilisant MySQL pour Nagios, Fruity, Oreon, etc.))). Ici nous utilisons la version ''​text''​ de Nagios ; c'​est-à-dire que les informations concernant les services sont stockés dans des fichiers textes. Il existe également une version ''​mySQL''​ dont nous ne parlerons pas dans ces quelques lignes ((Nagios est une application critique, autant réduire le nombre de composant lui permettant de fonctionner. L'​avantage de la version texte de Nagios est aussi que c'​est ​ bien plus simple de changer un paramètre particulier et ainsi garder le contrôle de la configuration. Toutefois certaines personnes ont écrit des scripts utilisant MySQL pour Nagios, Fruity, Oreon, etc.))).
  
-Pour configurer le serveur Apache de telle manière que Nagios soit accessible, ​la paquet Nagios fait un lien symbolique « /​etc/​apache2/​conf.d/​nagios.conf » vers « /​etc/​nagios3/​apache.conf ».+Pour configurer le serveur Apache de telle manière que Nagios soit accessible, ​le paquet Nagios fait un lien symbolique « /​etc/​apache2/​conf.d/​nagios.conf » vers « /​etc/​nagios3/​apache.conf ».
  
 Ensuite, vous devez recharger la configuration d'​Apache à l'aide de la commande suivante : Ensuite, vous devez recharger la configuration d'​Apache à l'aide de la commande suivante :
Ligne 56: Ligne 53:
   sudo /​etc/​init.d/​apache2 reload   sudo /​etc/​init.d/​apache2 reload
  
-Notez que selon les situations, la configuration a été assurée par le gestionnaire de paquets.</​del> ​+Notez que selon les situations, la configuration a été assurée par le gestionnaire de paquets.
  
 Vous devriez avoir accès à la page principale de Nagios une fois que vous avez introduit votre mot de passe en consultant l'URL suivante, le login étant « nagiosadmin » : http://​localhost/​nagios3/​ Vous devriez avoir accès à la page principale de Nagios une fois que vous avez introduit votre mot de passe en consultant l'URL suivante, le login étant « nagiosadmin » : http://​localhost/​nagios3/​
  
-Si ce n'est pas le cas, vérifier la configuration de votre serveur HTTP Apache. ​ +Si ce n'est pas le cas, vérifier la configuration de votre serveur HTTP Apache.
  
 ===== Configuration ===== ===== Configuration =====
Ligne 78: Ligne 74:
   sudo htpasswd -c /​etc/​nagios3/​htpasswd.users nagiosadmin   sudo htpasswd -c /​etc/​nagios3/​htpasswd.users nagiosadmin
  
-Il faut également donner les droits d'​accès à cet utilisateur en [[:​tutoriel:​comment_editer_un_fichier|éditant le fichier]] **/​etc/​nagios3/​cgi.cfg**. Les lignes qui nous intéressent sont les suivantes ; elles sont composées d'une ligne de nom d'utilisateur ​(entrés à l'aide de ''​htpasswd''​) séparés par des virgules.+Il faut également donner les droits d'​accès à cet utilisateur en [[:​tutoriel:​comment_editer_un_fichier|éditant le fichier]] **/​etc/​nagios3/​cgi.cfg**. Les lignes qui nous intéressent sont les suivantes ; elles sont composées d'une ligne de noms d'utilisateurs ​(entrés à l'aide de ''​htpasswd''​) séparés par des virgules.
  
 | ''​authorized_for_system_information''​ | indiquent quels sont les utilisateurs pouvant voir l'​état des services | | ''​authorized_for_system_information''​ | indiquent quels sont les utilisateurs pouvant voir l'​état des services |
Ligne 93: Ligne 89:
 ==== Configuration de base ==== ==== Configuration de base ====
  
-<del>La configuration de Nagios peut paraître compliquée au premier abord. Il y a beaucoup de fichiers de configuration qui se trouvent dans « /​etc/​nagios3 ».+La configuration de Nagios peut paraître compliquée au premier abord. Il y a beaucoup de fichiers de configuration qui se trouvent dans « /​etc/​nagios3 ».
  
 Il y a peut être deux écoles, mais je vous conseille de mettre tout à plat si vous installez Nagios pour la première fois. Il y a peut être deux écoles, mais je vous conseille de mettre tout à plat si vous installez Nagios pour la première fois.
Ligne 101: Ligne 97:
   sudo mkdir /​etc/​nagios3/​conf.d   sudo mkdir /​etc/​nagios3/​conf.d
  
-Déplacer tous les fichiers « .cfg » (**sauf « nagios.cfg » et « cgi.cfg »**) dans ce dossier.+Déplacer tous les fichiers « .cfg » (**sauf « nagios.cfg »« cgi.cfg » et « resource.cfg »**) dans ce dossier.
  
-Afin que Nagios retrouve ces petits nous allons lui indiquer que le dossier conf.d est la ou se trouvent ces fichiers de configuration. [[:​tutoriel:​comment_editer_un_fichier|Ajouter]] la ligne ci-dessous au fichier « /​etc/​nagios3/​nagios.cfg » (idéalement aux alentours de la ligne 44, pour garder le tout cohérent).+Afin que Nagios retrouve ces petits nous allons lui indiquer que le dossier conf.d est la où se trouvent ces fichiers de configuration. [[:​tutoriel:​comment_editer_un_fichier|Ajouter]] la ligne ci-dessous au fichier « /​etc/​nagios3/​nagios.cfg » (idéalement aux alentours de la ligne 44, pour garder le tout cohérent).
  
   cfg_dir=/​etc/​nagios3/​conf.d/​   cfg_dir=/​etc/​nagios3/​conf.d/​
Ligne 109: Ligne 105:
 Ensuite commenter toutes les lignes commençant par « cfg_file ». Ensuite commenter toutes les lignes commençant par « cfg_file ».
  
-Cette étape est délicate mais importante pour la suite, c'est vraiment dommage que le paquet soit fait de telle façon. Le gros avantage c'est que vous n'​êtes plus limités dans le nom des fichiers, tant qu'ils finissent par « .cfg ». Par exemple, vous pouvez générer des définitions de machines en remplissant un fichier pour chaque groupe, ceci afin d'​éviter d'​avoir un fichier « hosts.cfg » avec 4000 machines difficilement lisible. Donc, dans toute la suite, les noms de fichiers sont donnes ​à titre indicatifs, c'est ceux que vous trouverez dans l'​installation par défaut de Nagios.+Cette étape est délicate mais importante pour la suite, c'est vraiment dommage que le paquet soit fait de telle façon. Le gros avantage c'est que vous n'​êtes plus limités dans le nom des fichiers, tant qu'ils finissent par « .cfg ». Par exemple, vous pouvez générer des définitions de machines en remplissant un fichier pour chaque groupe, ceci afin d'​éviter d'​avoir un fichier « hosts.cfg » avec 4000 machines difficilement lisible. Donc, dans toute la suite, les noms de fichiers sont donnés ​à titre indicatifs, c'est ceux que vous trouverez dans l'​installation par défaut de Nagios.
  
 Il y a une idée à bien saisir lorsque l'on commence avec Nagios : je ne décris un « objet » qu'une et une seule fois. Il y a une idée à bien saisir lorsque l'on commence avec Nagios : je ne décris un « objet » qu'une et une seule fois.
Ligne 115: Ligne 111:
 On peut créer des modèles pour à peu près tous les objets Nagios. On peut créer des modèles pour à peu près tous les objets Nagios.
  
-Afin de se simplifier la vie, nous allons d'​abord examiner la configuration basique de Nagios (définition périodes, utilisateurs et des serveurs), ensuite nous envisagerons la configuration des services de surveillance.+Afin de se simplifier la vie, nous allons d'​abord examiner la configuration basique de Nagios (définition ​des périodes, utilisateurs et des serveurs), ensuite nous envisagerons la configuration des services de surveillance.
  
-après ​chaque modification d'un fichier, faites un  :+Après ​chaque modification d'un fichier, faites un  :
  
-  sudo nagios ​-v /​etc/​nagios3/​nagios.cfg+  sudo nagios3 ​-v /​etc/​nagios3/​nagios.cfg
  
-Cela vous permettra de voir si vous avez oublié un morceau de configuration,​ mentionné des objets qui n'​existent pas, etc.</​del>​+Cela vous permettra de voir si vous avez oublié un morceau de configuration,​ mentionné des objets qui n'​existent pas, etc.
  
  
 === Configuration des périodes de temps === === Configuration des périodes de temps ===
  
-Nous allons commencer par configurer les périodes de temps qui préoccupe notre serveur. Ces périodes de temps se configurent dans le fichier ​<del>« /​etc/​nagios3/​conf.d/​timeperiods.cfg ​»</​del>​ « /​etc/​nagios3/​conf.d/​timeperiods_nagios2.cfg » .+Nous allons commencer par configurer les périodes de temps qui préoccupe notre serveur. Ces périodes de temps se configurent dans le fichier « /​etc/​nagios3/​conf.d/​timeperiods.cfg ​»« /​etc/​nagios3/​conf.d/​timeperiods_nagios2.cfg » .
  
 Vous remarquerez que certaines périodes de temps sont déjà indiquées dans le fichier. Ces périodes sont ''​24x7''​ qui signifie 24h/24h et 7j/7j ; ''​workhours''​ qui est l'​horaire habituel de travail ; ''​nonworkhours''​ qui définit l'​horaire habituel de non-travail. Vous remarquerez que certaines périodes de temps sont déjà indiquées dans le fichier. Ces périodes sont ''​24x7''​ qui signifie 24h/24h et 7j/7j ; ''​workhours''​ qui est l'​horaire habituel de travail ; ''​nonworkhours''​ qui définit l'​horaire habituel de non-travail.
Ligne 140: Ligne 136:
         tuesday ​        ​07:​00-22:​00         tuesday ​        ​07:​00-22:​00
         wednesday ​      ​07:​00-22:​00         wednesday ​      ​07:​00-22:​00
-        thursday ​       07:00-22:00 +        thursday ​       07:0
-        friday ​         07:00-22:00+
         saturday ​       07:00-22:00         saturday ​       07:00-22:00
         }         }
Ligne 152: Ligne 147:
 === Configuration des personnes de contacts === === Configuration des personnes de contacts ===
  
-Les personnes de contacts sont les personnes physiques à contacter en cas d'incidents. Quand un problème survient, Nagios va //​notifier//​ ces personnes d'​après les //degrés de notification//​.+Les personnes de contacts sont les personnes physiques à contacter en cas d'incident. Quand un problème survient, Nagios va //​notifier//​ ces personnes d'​après les //degrés de notification//​.
  
-Les personnes de contacts peuvent se configurer dans le fichier ​<del>« /​etc/​nagios3/​conf.d/​contacts.cfg ​»</​del>​« ​ /​etc/​nagios3/​conf.d/​contacts_nagios2.cfg »+Les personnes de contacts peuvent se configurer dans le fichier « /​etc/​nagios3/​conf.d/​contacts.cfg ​»«  /​etc/​nagios3/​conf.d/​contacts_nagios2.cfg »
  ((Le nom peut être changé ou vous pouvez en définir plusieurs : « sys-admins.cfg » et « network-admins.cfg ».)) et les entrées ont un format similaire à celui-ci :  ((Le nom peut être changé ou vous pouvez en définir plusieurs : « sys-admins.cfg » et « network-admins.cfg ».)) et les entrées ont un format similaire à celui-ci :
  
Ligne 160: Ligne 155:
 define contact{ define contact{
         contact_name ​                   ostaquet         contact_name ​                   ostaquet
-        alias                           Olivier Staquet+        alias                           Oscar Staquetowski
         service_notification_period ​    24x7         service_notification_period ​    24x7
         host_notification_period ​       24x7         host_notification_period ​       24x7
Ligne 180: Ligne 175:
 | ''​service_notification_options''​ | états des services pour lesquels le contact doit être notifié. Les lettres qui suivent signifient :\\ − ''​w''​ : le service est en état avertissement (//​warning//​).\\ − ''​u''​ : le service est en état inconnu (//​unknown//​).\\ − ''​c''​ : le service est en état critique (//​critical//​).\\ − ''​r''​ : le service est revenu dans un état OK (//​recovery//​). | | ''​service_notification_options''​ | états des services pour lesquels le contact doit être notifié. Les lettres qui suivent signifient :\\ − ''​w''​ : le service est en état avertissement (//​warning//​).\\ − ''​u''​ : le service est en état inconnu (//​unknown//​).\\ − ''​c''​ : le service est en état critique (//​critical//​).\\ − ''​r''​ : le service est revenu dans un état OK (//​recovery//​). |
 | ''​host_notification_options''​ | états des hôtes (machines) pour lesquels le contact doit être notifié. Les lettres qui suivent signifient :\\ − ''​d''​ : l'​hôte est éteint (//​down//​).\\ − ''​u''​ : l'​hôte est injoingnable (//​unreachable//​).\\ − ''​r''​ : l'​hôte est à nouveau accessible (//​recovery//​). | | ''​host_notification_options''​ | états des hôtes (machines) pour lesquels le contact doit être notifié. Les lettres qui suivent signifient :\\ − ''​d''​ : l'​hôte est éteint (//​down//​).\\ − ''​u''​ : l'​hôte est injoingnable (//​unreachable//​).\\ − ''​r''​ : l'​hôte est à nouveau accessible (//​recovery//​). |
-| ''​service_notification_commands''​ | commandes à utiliser pour notifier un état pour un service. Ces commandes sont décrites dans le fichier ''/​etc/​nagios3/​misccommands.cfg''​ | +| ''​service_notification_commands''​ | commandes à utiliser pour notifier un état pour un service. Ces commandes sont décrites dans le fichier ''/​etc/​nagios3/​commands.cfg''​ | 
-| ''​host_notification_commands''​ | commandes à utiliser pour notifier un état pour un hôte. Ces commandes sont décrites dans le fichier ''/​etc/​nagios3/​misccommands.cfg''​ |+| ''​host_notification_commands''​ | commandes à utiliser pour notifier un état pour un hôte. Ces commandes sont décrites dans le fichier ''/​etc/​nagios3/​commands.cfg''​ |
 | ''​email''​ | email de la personne de contact.\\ http://​nagios.sourceforge.net/​docs/​2_0/​checkscheduling.html | | ''​email''​ | email de la personne de contact.\\ http://​nagios.sourceforge.net/​docs/​2_0/​checkscheduling.html |
 | ''​pager''​ | numéro de pager pour la personne de contact (à utiliser aussi pour les notifications par SMS) | | ''​pager''​ | numéro de pager pour la personne de contact (à utiliser aussi pour les notifications par SMS) |
Ligne 190: Ligne 185:
 Les groupes de contacts sont des groupes regroupant plusieurs contacts. On utilisera cette notion de groupe dans les déclarations concernant les hôtes et les services à surveiller. Les groupes de contacts sont des groupes regroupant plusieurs contacts. On utilisera cette notion de groupe dans les déclarations concernant les hôtes et les services à surveiller.
  
-<del>Les groupes de contacts se définissent dans le fichier « /​etc/​nagios3/​conf.d/​contactgroups.cfg »</​del> ​+Les groupes de contacts se définissent dans le fichier « /​etc/​nagios3/​conf.d/​contactgroups.cfg »
 Les groupes de contacts se définissent aussi dans le fichier «  /​etc/​nagios3/​conf.d/​contacts_nagios2.cfg » (en fin de fichier) Les groupes de contacts se définissent aussi dans le fichier «  /​etc/​nagios3/​conf.d/​contacts_nagios2.cfg » (en fin de fichier)
 et les entrées ont un format ressemblant à ceci : et les entrées ont un format ressemblant à ceci :
Ligne 206: Ligne 201:
 ==== Configuration des surveillance de services et d'​hôtes ==== ==== Configuration des surveillance de services et d'​hôtes ====
  
-La surveillance de services et d'​hôtes s'​articule autour de plusieurs fichiers de configuration et ces fichiers sont tous liés les uns aux autres. C'est pour cela que je vais plutôt envisager un petit exemple plutôt que de me lancer dans une explication détaillée de toutes les options. ​+La surveillance de services et d'​hôtes s'​articule autour de plusieurs fichiers de configuration et ces fichiers sont tous liés les uns aux autres. C'est pour cela que je vais plutôt envisager un petit exemple plutôt que de me lancer dans une explication détaillée de toutes les options.
  
 Pour utiliser un test de service il faut plusieurs choses : Pour utiliser un test de service il faut plusieurs choses :
  
-  * un greffon ou plugin utilisable en ligne de commande (le nom commence par check_ ) , il est tres interessant ​de le tester via la ligne de commande pour voir ses arguments  +  * un greffon ou plugin utilisable en ligne de commande (le nom commence par check_ ) , il est très intéressant ​de le tester via la ligne de commande pour voir ses arguments 
-  * Un objet Nagios ​definissant ​la //​command// ​ utilisant le plugin ​precedent +  * Un objet Nagios ​définissant ​la //​command// ​ utilisant le plugin ​précédent 
-  * un objet Nagios ​definissant ​le //service// utilisant la commande ​precedente+  * un objet Nagios ​définissant ​le //service// utilisant la commande ​précédente
  
-Pour recapituler ​+Pour récapituler ​:
  
 script shell -> chekcommands.cfg -> services.cfg script shell -> chekcommands.cfg -> services.cfg
Ligne 224: Ligne 219:
 === Les hôtes === === Les hôtes ===
  
-Tout d'​abord,​ nous allons définir notre fichier d'​hôtes. Ce fichier se trouve dans <del>''/​etc/​nagios3/​hosts.cfg''​.</​del>​ <del>''/​usr/​local/​nagios/​etc/​objects/​localhost.cfg ''​ (à vérifier)</​del> ​''/​etc/​nagios3/​conf.d/​localhost_nagios2.cfg''​+Tout d'​abord,​ nous allons définir notre fichier d'​hôtes. Ce fichier se trouve dans ''/​etc/​nagios3/​hosts.cfg''​.''/​usr/​local/​nagios/​etc/​objects/​localhost.cfg ''​ (à vérifier) ''/​etc/​nagios3/​conf.d/​localhost_nagios2.cfg''​
  
 <​code>​ <​code>​
Ligne 257: Ligne 252:
 Une autre chose à laquelle vous devez faire attention, ce sont les noms d'​hôtes. En effet, ce sont ces noms qui serviront dans les autres fichiers de configuration (notamment, pour lier un  hôte a un groupe d'​hotes). Une autre chose à laquelle vous devez faire attention, ce sont les noms d'​hôtes. En effet, ce sont ces noms qui serviront dans les autres fichiers de configuration (notamment, pour lier un  hôte a un groupe d'​hotes).
  
-Enfin, ​vous remarquez que pour chaque hôteon a indiqué ​quel commande de vérification est utilisée. Ces commandes sont, soit des commandes de bases de Nagios, soit des commandes ​qui vous ajouté ​dans le fichier ''​misccommands.cfg''​. Vous pouvez obtenir toute la liste des commandes disponibles à travers l'​interface web de Nagios (lien //​Configuration//,​ //​Commands//​). Cette commande permet a Nagios de savoir si l'hote est '​vivant',​ s'il ne l'est pas il enverra une notification pour signaler 'Host down' mais rien sur les services associes (qui seront aussi '​down'​ puisque le serveur est tombe). Le plus simple est de faire un test sur le ping ; mais ca peut ne pas convenir dans tous les cas, ex. si une machine a un firewall sur lequel vous n'avez pas la main, vous pouvez essayer de faire un check_ssh.+Enfin, remarquez que pour chaque hôte on a indiqué ​quelle ​commande de vérification est utilisée. Ces commandes sont, soit des commandes de bases de Nagios, soit des commandes ​ajoutées manuellement ​dans le fichier ''​commands.cfg''​. Vous pouvez obtenir toute la liste des commandes disponibles à travers l'​interface web de Nagios (lien //​Configuration//,​ //​Commands//​). Cette commande permet a Nagios de savoir si l'hôte est '​vivant',​ s'il ne l'est pas il enverra une notification pour signaler 'Host down' mais rien sur les services associes (qui seront aussi '​down'​ puisque le serveur est tombe). Le plus simple est de faire un test sur le ping ; mais ça peut ne pas convenir dans tous les cas, ex. si une machine a un firewall sur lequel vous n'avez pas la main, vous pouvez essayer de faire un check_ssh.
  
 === Les groupes d'​hôtes === === Les groupes d'​hôtes ===
  
-Pour que les notifications soient effectives pour les hôtes, les hôtes doivent être mis dans des groupes d'​hôtes. Dans ces groupes d'​hôtes,​ un (ou plusieurs) groupe de contact est assigné. C'​est-à-dire que si il y a un problème sur un hôte et que le degré de notification est atteint, les contacts du groupes d'​hôtes sont notifiés. Les groupes d'​hôtes sont définis dans le fichier ​<del>''/​etc/​nagios3/​conf.d/​hostgroups.cfg''​.</​del>​''​ /​etc/​nagios3/​conf.d/​hostgroups_nagios2.cfg ''​+Pour que les notifications soient effectives pour les hôtes, les hôtes doivent être mis dans des groupes d'​hôtes. Dans ces groupes d'​hôtes,​ un (ou plusieurs) groupe de contact est assigné. C'​est-à-dire que si il y a un problème sur un hôte et que le degré de notification est atteint, les contacts du groupes d'​hôtes sont notifiés. Les groupes d'​hôtes sont définis dans le fichier ''/​etc/​nagios3/​conf.d/​hostgroups.cfg''​.''​ /​etc/​nagios3/​conf.d/​hostgroups_nagios2.cfg ''​
  
 Ici, nous allons déterminer deux groupes d'​hôtes:​ Ici, nous allons déterminer deux groupes d'​hôtes:​
Ligne 284: Ligne 279:
 === Les services === === Les services ===
  
-L'​avant dernière étape de configuration est de définir quels sont les services à surveiller. Ces services sont toujours attachés à un hôte ou a un groupe d'hotes. Les informations concernant les services sont contenues dans le fichier ​<del>''/​etc/​nagios3/​conf.d/​services.cfg''​</​del> ​''/​etc/​nagios3/​conf.d/​generic-service_nagios2.cfg''​.+L'​avant dernière étape de configuration est de définir quels sont les services à surveiller. Ces services sont toujours attachés à un hôte ou a un groupe d'hôtes. Les informations concernant les services sont contenues dans le fichier ''/​etc/​nagios3/​conf.d/​services.cfg''​ ''/​etc/​nagios3/​conf.d/​generic-service_nagios2.cfg''​.
  
  
Ligne 344: Ligne 339:
 </​code>​ </​code>​
  
-Ce qu'il faut noter au travers de ces quelques lignes est la manière dont on peut passer des paramètres aux commandes. Dans la définition du service ''​ping''​ pour le routeur, on indique les différents arguments avec des ''​!''​ (point d'​exclamation). Dans ce cas, cela signifie que l'on passe en état //warning// lorsqu'​on perd plus de 20% des paquets ou si le temps de réponse est > 100ms. On indique également que l'on passe en état //​critical//​ lorsqu'​on perd plus de 60% des paquets ou si le temps de réponse est > 500ms. Dans tous les cas il faut se rapporter a la definition ​de la commande et tester le script pour voir comment il se comporte.+Ce qu'il faut noter au travers de ces quelques lignes est la manière dont on peut passer des paramètres aux commandes. Dans la définition du service ''​ping''​ pour le routeur, on indique les différents arguments avec des ''​!''​ (point d'​exclamation). Dans ce cas, cela signifie que l'on passe en état //warning// lorsqu'​on perd plus de 20% des paquets ou si le temps de réponse est > 100ms. On indique également que l'on passe en état //​critical//​ lorsqu'​on perd plus de 60% des paquets ou si le temps de réponse est > 500ms. Dans tous les cas il faut se rapporter a la définition ​de la commande et tester le script pour voir comment il se comporte.
  
 Les lignes : Les lignes :
         normal_check_interval ​          ​5 ​      ; Do a check for this service every X minutes         normal_check_interval ​          ​5 ​      ; Do a check for this service every X minutes
         max_check_attempts ​             3       ; After X checks non OK , status will change from soft to hard and trigger notifications if any         max_check_attempts ​             3       ; After X checks non OK , status will change from soft to hard and trigger notifications if any
-        retry_check_interval ​           1       ; If the status was non OK, redo a check for this service every X minutes+        retry_check_interval ​           1       ; If the status was not OK, redo a check for this service every X minutes
  
-meritent ​peut-être un peu d'​attention. Rien de pire que les fausses alertes, ici Nagios testera les services toutes les 5 minutes, si un des services est dans un statut non OK (warning, critical, unknown) il va ressayer de le contacter une minute plus tard, et ceci 3 fois de suite puis declenchera ​l'​alerte (envoi de mail, etc), des que le service ​repond ​de nouveau OK Nagios 'reinitialise' les compteurs et reprend les checks sur l'interval normal.+méritent ​peut-être un peu d'​attention. Rien de pire que les fausses alertes, ici Nagios testera les services toutes les 5 minutes, si un des services est dans un statut non OK (warning, critical, unknown) il va ressayer de le contacter une minute plus tard, et ceci 3 fois de suite puis déclenchera ​l'​alerte (envoi de mail, etc), dès que le service ​répond ​de nouveau OK Nagios 'réinitialise' les compteurs et reprend les checks sur l'intervalle normale (normal_check_interval).
  
 Avantages : Avantages :
Ligne 361: Ligne 356:
   * On n'a pas d'​alerte à la seconde ou Nagios a détecté le problème.   * On n'a pas d'​alerte à la seconde ou Nagios a détecté le problème.
  
-À vous de regler ​''​max_check_attempts''​ suivant vos services. Plus d'​infos sur la page [[http://​nagios.sourceforge.net/​docs/​2_0/​checkscheduling.html|Checkscheduling]].+À vous de régler ​''​max_check_attempts''​ suivant vos services. Plus d'​infos sur la page [[http://​nagios.sourceforge.net/​docs/​2_0/​checkscheduling.html|Checkscheduling]].
  
-Pensez aussi à la notion de //​flapping//​ : imaginons que vous surveilliez le [[loadaverage|load]] d'une machine vous definissez ​les valeurs pour lequel Nagios doit vous alerter. Si cette valeur est '​3'​ (pour le load 5 minutes), imaginons que votre machine est chargee, le load vu par Nagios va osciller entre 2.5 et 3.5… À chaque oscillation Nagios va vous envoyer un mail, **sauf** si vous avez activé le [[http://​nagios.sourceforge.net/​docs/​2_0/​flapping.html|flapping]] :+Pensez aussi à la notion de //​flapping//​ : imaginons que vous surveilliez le [[loadaverage|load]] d'une machine vous définissez ​les valeurs pour lequel Nagios doit vous alerter. Si cette valeur est '​3'​ (pour le load à 5 minutes), imaginons que votre machine est chargée, le load vu par Nagios va osciller entre 2.5 et 3.5… À chaque oscillation Nagios va vous envoyer un mail, **sauf** si vous avez activé le [[http://​nagios.sourceforge.net/​docs/​2_0/​flapping.html|flapping]] :
  
    ​flap_detection_enabled ​         1       ; Flap detection is enabled    ​flap_detection_enabled ​         1       ; Flap detection is enabled
Ligne 370: Ligne 365:
 === Escalation === === Escalation ===
  
-L'​escalation est optionelle, donc ne commencez pas par ca ... Elle permet de mettre en place des niveaux d'​alerte. +L'​escalation est optionelle, donc ne commencez pas par ça ... Elle permet de mettre en place des niveaux d'​alerte. 
-Scenario ​simple : vous definissez ​les contacts pour vous et vos collegues ​administrateurs : c'est tout ce beau monde qui recevra ​immediatement ​une alerte en cas de soucis, si l'​alerte est encore effective ​apres 2 notifications des principaux ​interesses, d'​autres personnes peuvent ​etre prevenues, les commerciaux,​ votre superieur ​hierarchique,​ la cellule communication/​relation presse... ​vous de voir en fonction des besoins de votre entreprise.+Scénario ​simple : vous définissez ​les contacts pour vous et vos collègues ​administrateurs : c'est tout ce beau monde qui recevra ​immédiatement ​une alerte en cas de soucis, si l'​alerte est encore effective ​après ​2 notifications des principaux ​intéressés, d'​autres personnes peuvent ​être prévenues, les commerciaux,​ votre supérieur ​hierarchique,​ la cellule communication/​relation presse... ​à vous de voir en fonction des besoins de votre entreprise.
  
-Cette etape est decrite ​dans le fichier « /​etc/​nagios3/​conf.d/​service-escalations.cfg ».+Cette étape ​est décrite ​dans le fichier « /​etc/​nagios3/​conf.d/​service-escalations.cfg ».
  
 <​code>​ <​code>​
Ligne 386: Ligne 381:
 </​code>​ </​code>​
  
-Si vous ne voulez pas utiliser l'​escalation renommez le fichier en .cfg.no ou tout autre extension ​differente ​de .cfg+Si vous ne voulez pas utiliser l'​escalation renommez le fichier en .cfg.no ou tout autre extension ​différente ​de .cfg
  
 === Gestion des informations étendues === === Gestion des informations étendues ===
  
-À chaques ​hôtes et services peuvent être rattachés des arguments de type liens hypertextes et images. Pour cela, éditer le fichier de configuration cgi.cfg+À chacun des hôtes et services peuvent être rattachés des arguments de type liens hypertextes et images. Pour cela, éditer le fichier de configuration cgi.cfg
  
 [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​nagios3/​cgi.cfg** et rajoutez-y les 2 lignes suivantes : [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​nagios3/​cgi.cfg** et rajoutez-y les 2 lignes suivantes :
 +
  
  
Ligne 400: Ligne 396:
 </​code>​ </​code>​
  
-Créer les 2 fichiers suivants qui gérerons ​respectivement les informations liées aux hôtes et services :+Créer les 2 fichiers suivants qui géreront ​respectivement les informations liées aux hôtes et services :
  
 <​code>​ <​code>​
Ligne 499: Ligne 495:
  
 //Remarque :// Il est inutile de me contacter pour des problèmes de compatibilité de GSM, câble et gsmlib. Veuillez directement vous adresser au développeur de gsmlib ([[http://​www.pxh.de/​fs/​gsmlib/​index.html|site web]]). //Remarque :// Il est inutile de me contacter pour des problèmes de compatibilité de GSM, câble et gsmlib. Veuillez directement vous adresser au développeur de gsmlib ([[http://​www.pxh.de/​fs/​gsmlib/​index.html|site web]]).
 +==== Notifications par SMS / Voice call / iPhone push notification : TeamTILT pour Nagios ====
 +
 +Une solution très simple existe pour envoyer ses notifications Nagios via SMS ou voice call : le client TeamTILT pour Nagios.
 +
 +__Brève description :__
 +
 +Un client Java est à installer sur le serveur de monitoring. Ce client se connecte via une requête SOAP à un serveur distant qui est chargé de renvoyer les alertes recues par SMS ou voice call selon le schéma d'​alerte du contact. Cette solution à plusieurs avantages :
 +
 +   * Aucun matériel à installer : aucun modem, module GSM ou carte SIM n'est nécessaire. Le tout fonctionne en tant que SaaS.
 +   * Fonction heartbeat : la connexion entre le client TeamTILT pour Nagios et TeamTILT est constamment surveillée. Une alerte est envoyée depuis TeamTILT s'il y a une coupure.
 +   * iPhone APP gratuite : installez gratuitement l'APP pour iPhone. Recevez et répondez en utilisant les notifications push et visualisez les alertes sur votre iPhone.
 +   * Aucun abonnement : Les alertes par émail et notifications push iPhone sont gratuites. Achetez des crédits SMS et appels vocaux si besoin.
 +   * Pas de dépendance émail/SMTP : défaillance SMTP? Le pare-feu bloque? Pas de soucis, vous recevrez un SMS !
 +
 +__Quelques fonctionnalités :__
 +
 +   * Alertes bidirectionnelles : chaque média est capable de recevoir les réponses ou confirmations.
 +   * Interface web pour visualiser les réponses en temps réel.
 +   * Schéma d'​alerte : définissez selon quel ordre et quel média un contact doit être alerté (d'​abord SMS, ensuite appel vocal, etc).
 +   * Support en ligne GRATUIT : vous avez des questions? Un problème? Chattez en direct avec un agent du support à travers le support en ligne.
 +   * Couverture mondiale : recevez vos alertes où que vous soyez dans le monde.
 +
 +__Procédure d'​installation :__
 +
 +   * Télécharger l'​archive : 
 +//sudo wget http://​www.alarmtilt.com/​clients/​TeamTILTClientForNagios_CL_JRE_32.tar.gz => version console 32 bits\\
 +sudo wget http://​www.alarmtilt.com/​clients/​TeamTILTClientForNagios_CL_JRE_64.tar.gz => version console 64 bits //
 +
 +   * Décompresser l'​archive : 
 +//sudo tar xzvf TeamTILTClientForNagios_CL_JRE_32.tar.gz//​
 +   * Entrez dans ce répertoire et lancer le runTeamTILT.sh :
 +//cd TeamTILTForNagios/​
 +sudo ./​runTeamTILT.sh//​
 +   * Suivez la procédure d'​installation
 +
 +\\
 +Vous pourrez trouver à cette adresse toutes les procédures d'​installation ainsi que le prix des unités : http://​www.alarmtilt.com/​fr/​gerez-vos-alertes-nagios-avec-teamtilt.html
  
  
Ligne 546: Ligne 579:
  
 Sans entrer dans les détails, on indique des informations sur le sortie standard avec les commandes ''​echo''​ et on retourne des codes d'​erreurs ou d'​alertes avec les commande ''​exit''​. Sans entrer dans les détails, on indique des informations sur le sortie standard avec les commandes ''​echo''​ et on retourne des codes d'​erreurs ou d'​alertes avec les commande ''​exit''​.
- 
  
  
Ligne 584: Ligne 616:
 ==== Bibliothèques de greffons ==== ==== Bibliothèques de greffons ====
  
-[[http://​www.nagiosexchange.org/​Check_Plugins.21.0.html|NagiosExchange]] ​fournit un joli choix de scripts de check pour Nagios, evidemment vous pouvez écrire votre propre script (voir plus haut) et s'il fonctionne bien pourquoi ne pas le proposer sur NagiosExchange.+Nagios Exchange ​fournit un joli choix de scripts de check pour Nagios, evidemment vous pouvez écrire votre propre script (voir plus haut) et s'il fonctionne bien pourquoi ne pas le proposer sur NagiosExchange.
  
  
Ligne 600: Ligne 632:
 sudo dpkg -i freewrl_1.18.2-1_i386.deb</​code>​ sudo dpkg -i freewrl_1.18.2-1_i386.deb</​code>​
  
-==== Extension Nagios pour Firefox et Thunderbird ====+==== Extension Nagios pour Firefox / Thunderbird / Chromium ==== 
 + 
 +Vous pouvez installer le plugin Nagios Checker pour les navigateurs internet ​Firefox et Chromium, ou pour le gestionnaire de courrier ​Thunderbird. Le paramétrage est complet (possibilité de notifications visuelles et/ou sonore, gestion des accès authentifiés...). Vous aurez ainsi la possibilité de superviser les problèmes directement dans la barre d'​état de votre navigateur ou gestionnaire de courrier ! 
 +  * [[https://​addons.mozilla.org/​fr/​firefox/​addon/​nagios-checker/​|Plugin pour Mozilla Firefox]] 
 +  * [[https://​addons.mozilla.org/​thunderbird/​3607/​|Plugin pour Mozilla Thunderbird]] 
 +  * [[https://​chrome.google.com/​webstore/​detail/​oghnfiojdffbaihbdlcjkcefiblbdmch?​hl=fr|Plugin pour Chromium]] 
 +===Extension Gnome ===
  
-Vous pouvez installer ​le plugin ​[[https://addons.mozilla.org/​thunderbird/​3607/​|Nagios Checker]] pour votre navigateur internet Firefox. Le paramétrage est complet (possibilité de notifications visuelles et/ou sonore, gestion des accès authentifiés...)Vous aurez ainsi la possibilité ​de superviser ​les problèmes directement dans la barre d'​état de votre navigateur ou gestionnaire de courrier !+À partir d'​Ubuntu 10.10, ​le paquet ​[[apt://nagstamon|nagstamon]] permet d'​ajouter une applet en barre des tâches ​ou une simple fenêtre flottantePlusieurs options permettent ​de personnaliser ​les alertes.
  
 +//Nb: le fonctionnement de la fenêtre flottante demanderait à être testé en environnement 11.04/​Unity//​
  
 ==== PNP : un plugin pour ajouter des graphes à Nagios === ==== PNP : un plugin pour ajouter des graphes à Nagios ===
Ligne 613: Ligne 652:
   * **(en)** [[http://​www.nagios.org|Le site officiel de Nagios]]   * **(en)** [[http://​www.nagios.org|Le site officiel de Nagios]]
   * **(en)** [[http://​www.nagios.org/​docs/​|La documentation officielle de Nagios]]   * **(en)** [[http://​www.nagios.org/​docs/​|La documentation officielle de Nagios]]
-  * **(fr)** [[http://​www.nagios-fr.org|Communauté francophone Nagios]] +  * **(fr)** [[https://​blog.nicolargo.com/​nagios-tutoriels-et-documentations|Articles et tutoriels sur Nagios]]
-  * **(fr)** [[http://​blog.nicolargo.com/​nagios-tutoriels-et-documentations|Articles et tutoriels sur Nagios]]+
   * **(fr)** [[http://​forum.nicolargo.com/​|Forum sur Nagios et la supervision système et réseau]]   * **(fr)** [[http://​forum.nicolargo.com/​|Forum sur Nagios et la supervision système et réseau]]
 +  * **(fr)** [[http://​www.geekhelpme.fr/​tutoriels/​systemes/​linux/​27-installer-nagios-centreon-sous-ubuntu.html|Tutoriel installation Nagios-Centreon sous Ubuntu]]
 +  * **(en)** [[http://​www.icinga.org|icinga]],​ un fork de nagios basé sur Nagios 3.
 +  * **(fr)** [[http://​www.opendoc.net/​solutions/​comment-superviser-avec-nagios-icinga|Comment superviser avec Nagios / Icinga ?]] Article Opendoc.net
 +  * **(fr)** [[http://​www.alarmtilt.com/​fr/​gerez-vos-alertes-nagios-avec-teamtilt.html]]
 +  *[[:​Shinken]],​ écrit en python et pleinement compatible avec Nagios
 +  *[[:​Sysstat]] [[https://​ubunlog.com/​fr/​systat-herramienta-monitorizar-ubuntu|Blog tutoriel]]
 +  *[[:vROps]] VMware vRealize Operations
 +  *[[:Munin]]
  
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​Ostaquet]],​ [[utilisateurs:​sidney_v]],​[[utilisateurs:​ju|Ju.]],​ [[utilisateurs:​Nicolargo]].//​ //​Contributeurs : [[utilisateurs:​Ostaquet]],​ [[utilisateurs:​sidney_v]],​[[utilisateurs:​ju|Ju.]],​ [[utilisateurs:​Nicolargo]].//​
  • nagios.1233671652.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)