Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| linux_nagios [2019/08/02 14:15] – [Installation de NSClient pour un hôte Windows] nekan | linux_nagios [2021/03/05 18:54] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | ||
| ====== Nagios - Installation d'un outil de supervision ====== | ====== Nagios - Installation d'un outil de supervision ====== | ||
| + | <label type=" | ||
| La tâche principale d'un administrateur étant le MCO (Maintient en Condition Opérationnelle), | La tâche principale d'un administrateur étant le MCO (Maintient en Condition Opérationnelle), | ||
| - | <note important>Nagios existe en deux versions : | + | <callout type=" |
| * Nagios Core : la gratuite. | * Nagios Core : la gratuite. | ||
| * Nagios XI : la payante. | * Nagios XI : la payante. | ||
| - | Ici, on utilisera Nagios Core.</note> | + | Ici, on utilisera Nagios Core.</callout> |
| + | |||
| + | * Référence : [[https:// | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | <note>Cette procédure a été testée sur une Debian 9.</note> | + | <callout type=" |
| - | <note warning>Cette procédure nécessite des droits d' | + | * <label type=" |
| + | * <label type=" | ||
| + | </ | ||
| + | <callout type=" | ||
| + | <callout type=" | ||
| Comme souvent sur Linux, il nous faut d' | Comme souvent sur Linux, il nous faut d' | ||
| - | <code:bash> | + | <sxh bash> |
| - | apt-get upgrade</ | + | apt-get upgrade</ |
| Une fois le système à jour, on commence par installer les prérequis : | Une fois le système à jour, on commence par installer les prérequis : | ||
| - | <code:bash> | + | |
| + | <label type=" | ||
| + | < | ||
| + | |||
| + | <label type=" | ||
| + | <sxh bash> | ||
| On crée un utilisateur nagios et un groupe nagcmd auquel on ajoutera l' | On crée un utilisateur nagios et un groupe nagcmd auquel on ajoutera l' | ||
| - | <code:bash> | + | <sxh bash> |
| groupadd nagcmd | groupadd nagcmd | ||
| usermod -a -G nagcmd nagios | usermod -a -G nagcmd nagios | ||
| - | usermod -a -G nagcmd www-data</ | + | usermod -a -G nagcmd www-data</ |
| - | Il nous faut maintenant récupérer les sources de Nagios Core sur le site de [[https:// | + | Il nous faut maintenant récupérer les sources de Nagios Core sur le site de [[https:// |
| - | <code:bash>cd /tmp/ | + | <sxh bash>cd /tmp/ |
| - | wget https:// | + | wget https:// |
| - | tar -zxvf nagios-4.4.4.tar.gz | + | tar -zxvf nagios-4.4.5.tar.gz |
| - | cd nagios-4.4.4/</code> | + | cd nagios-4.4.5/</sxh> |
| On configure les sources en vue de l' | On configure les sources en vue de l' | ||
| - | <code:bash> | + | <sxh bash> |
| Il nous reste plus qu'à compiler et installer Nagios : | Il nous reste plus qu'à compiler et installer Nagios : | ||
| - | <code:bash> | + | <sxh bash> |
| make install | make install | ||
| make install-init | make install-init | ||
| make install-config | make install-config | ||
| make install-commandmode | make install-commandmode | ||
| - | make install-webconf</ | + | make install-webconf</ |
| A ce stade Nagios est installé. Cependant il n'est pas encore utilisable. Il faut d' | A ce stade Nagios est installé. Cependant il n'est pas encore utilisable. Il faut d' | ||
| Ligne 49: | Ligne 60: | ||
| ===== Installation des plugins de base ===== | ===== Installation des plugins de base ===== | ||
| - | Pour monitorer les services de bases d'un système, Nagios à besoin de différents plugins. On peut obtenir ces plugins sur [[https:// | + | Pour monitorer les services de bases d'un système, Nagios à besoin de différents plugins. On peut obtenir ces plugins sur [[https:// |
| - | <code:bash>cd /tmp/ | + | <sxh bash>cd /tmp/ |
| - | wget https:// | + | wget https:// |
| - | tar -zxvf / | + | tar -zxvf / |
| - | cd nagios-plugins-2.2.1/</code> | + | cd nagios-plugins-2.3.3/</sxh> |
| Une fois de plus, on configure les sources : | Une fois de plus, on configure les sources : | ||
| - | <code:bash> | + | <sxh bash> |
| Ensuite, on compile et installe : | Ensuite, on compile et installe : | ||
| - | <code:bash> | + | <sxh bash> |
| - | make install</ | + | make install</ |
| ===== Configuration de l' | ===== Configuration de l' | ||
| Les données de la supervision étant sensible, il nous faut en contrôler l' | Les données de la supervision étant sensible, il nous faut en contrôler l' | ||
| - | <code:bash> | + | <sxh bash> |
| Nagios utilisant le module CGI, il nous faut l' | Nagios utilisant le module CGI, il nous faut l' | ||
| - | <code:bash> | + | <sxh bash> |
| Ensuite, il faut redémarrer apache pour prendre en compte les modifications : | Ensuite, il faut redémarrer apache pour prendre en compte les modifications : | ||
| - | <code:bash> | + | <sxh bash> |
| Pour permettre l' | Pour permettre l' | ||
| - | <code:bash> | + | <sxh bash> |
| - | <note tip> | + | <callout type="tip" title=" |
| ===== Démarrage et manipulation du service ===== | ===== Démarrage et manipulation du service ===== | ||
| A ce stade, Nagios doit pouvoir être accessible à l' | A ce stade, Nagios doit pouvoir être accessible à l' | ||
| - | <code:bash> | + | <sxh bash> |
| Pour l' | Pour l' | ||
| - | <code:bash> | + | <sxh bash> |
| Pour connaître son état : | Pour connaître son état : | ||
| - | <code:bash> | + | <sxh bash> |
| Pour activer son démarrage automatique lors du démarrage du système : | Pour activer son démarrage automatique lors du démarrage du système : | ||
| - | <code:bash> | + | <sxh bash> |
| ===== Paramétrages ===== | ===== Paramétrages ===== | ||
| Avoir un outil de supervision, | Avoir un outil de supervision, | ||
| - | <code:bash> | + | <sxh bash> |
| total 52 | total 52 | ||
| -rw-rw-r-- 1 nagios nagios | -rw-rw-r-- 1 nagios nagios | ||
| Ligne 104: | Ligne 115: | ||
| -rw-rw-r-- 1 nagios nagios 12533 août 2 10:12 templates.cfg | -rw-rw-r-- 1 nagios nagios 12533 août 2 10:12 templates.cfg | ||
| -rw-rw-r-- 1 nagios nagios | -rw-rw-r-- 1 nagios nagios | ||
| - | -rw-rw-r-- 1 nagios nagios | + | -rw-rw-r-- 1 nagios nagios |
| Chaque fichier contient les définitions de base que l'on peut prendre pour exemple afin de déclarer les différents définitions dont on aura besoins (nos machines, nos services...). | Chaque fichier contient les définitions de base que l'on peut prendre pour exemple afin de déclarer les différents définitions dont on aura besoins (nos machines, nos services...). | ||
| Ligne 111: | Ligne 122: | ||
| Le plus important dans tout ça, c'est de bien vérifier les définitions que nous avons déclarées avant de relancer le service Nagios et ce, afin d' | Le plus important dans tout ça, c'est de bien vérifier les définitions que nous avons déclarées avant de relancer le service Nagios et ce, afin d' | ||
| - | <code:bash>/ | + | <sxh bash>/ |
| Ce qui nous renvoie quelque chose de ce style : | Ce qui nous renvoie quelque chose de ce style : | ||
| - | <code:bash> | + | <sxh bash> |
| Copyright (c) 2009-present Nagios Core Development Team and Community Contributors | Copyright (c) 2009-present Nagios Core Development Team and Community Contributors | ||
| Copyright (c) 1999-2009 Ethan Galstad | Copyright (c) 1999-2009 Ethan Galstad | ||
| Ligne 150: | Ligne 161: | ||
| Total Errors: | Total Errors: | ||
| - | Things look okay - No serious problems were detected during the pre-flight check</code> | + | Things look okay - No serious problems were detected during the pre-flight check</sxh> |
| On notera sur le retour de la console le nombre total d' | On notera sur le retour de la console le nombre total d' | ||
| Ligne 158: | Ligne 169: | ||
| A ce stade, Nagios peut se monitorer. Mais le but de la manœuvre est plus souvent de monitorer un ensemble de machines. Pour cela, Nagios communiquera avec des agents pour récupérer les informations en provenance des autres hôtes : | A ce stade, Nagios peut se monitorer. Mais le but de la manœuvre est plus souvent de monitorer un ensemble de machines. Pour cela, Nagios communiquera avec des agents pour récupérer les informations en provenance des autres hôtes : | ||
| * NRPE pour les hôtes Linux. | * NRPE pour les hôtes Linux. | ||
| - | * NSClient pour les hôtes Windows. | + | * NSClient++ pour les hôtes Windows. |
| ===== NRPE (Nagios Remote Plugin Executor) ===== | ===== NRPE (Nagios Remote Plugin Executor) ===== | ||
| Ligne 165: | Ligne 176: | ||
| On commence d' | On commence d' | ||
| - | <code:bash> | + | <sxh bash> |
| - | apt-get upgrade</ | + | apt-get upgrade</ |
| On peut maintenant installer les paquets nécessaires : | On peut maintenant installer les paquets nécessaires : | ||
| - | <code:bash> | + | <sxh bash> |
| Une fois les paquets installés, il faut autoriser NRPE à dialoguer avec le serveur Nagios. On commence par éditer le fichier ''/ | Une fois les paquets installés, il faut autoriser NRPE à dialoguer avec le serveur Nagios. On commence par éditer le fichier ''/ | ||
| On oublie pas bien sûr de redémarrer le service pour prendre en compte les modifications | On oublie pas bien sûr de redémarrer le service pour prendre en compte les modifications | ||
| - | <code:bash> | + | <sxh bash> |
| Il faut aussi penser à autoriser les flux à travers le pare-feu. Nagios et NRPE communique sur le port 5666, il faut donc ouvrir ce port sur votre solution de sécurité. Par exemple, pour iptables, on utilisera la règle suivante : | Il faut aussi penser à autoriser les flux à travers le pare-feu. Nagios et NRPE communique sur le port 5666, il faut donc ouvrir ce port sur votre solution de sécurité. Par exemple, pour iptables, on utilisera la règle suivante : | ||
| - | <code:bash> | + | <sxh bash> |
| On peut personnaliser les vérifications que pourra exécuter NRPE en ajoutant une commande dans ''/ | On peut personnaliser les vérifications que pourra exécuter NRPE en ajoutant une commande dans ''/ | ||
| Ligne 200: | Ligne 211: | ||
| De retour sur le serveur Nagios, il faut d' | De retour sur le serveur Nagios, il faut d' | ||
| - | <code:bash>apt install nagios-nrpe-plugin</ | + | <sxh bash>apt install nagios-nrpe-plugin</ |
| Puis, ajouter la commande générale dans votre fichier de définitions des commandes (''/ | Puis, ajouter la commande générale dans votre fichier de définitions des commandes (''/ | ||
| - | <code:bash> | + | <sxh bash> |
| Code à rajouter : | Code à rajouter : | ||
| - | <code:bash># Définition de commande pour l' | + | <sxh bash># Définition de commande pour l' |
| define command { | define command { | ||
| | | ||
| | | ||
| - | }</code> | + | }</sxh> |
| Ainsi pour que Nagios appelle la commande '' | Ainsi pour que Nagios appelle la commande '' | ||
| - | <code:bash> | + | <sxh bash> |
| - | | + | |
| - | | + | |
| | | ||
| | | ||
| - | }</code> | + | }</sxh> |
| - | ===== Installation de NSClient pour un hôte Windows ===== | + | ===== Installation de NSClient++ pour un hôte Windows ===== |
| - | NSClient++ et le pendant | + | ==== Installation sur le client ==== |
| + | |||
| + | On commence par aller chercher le programme sur [[https:// | ||
| + | Une fois téléchargé, | ||
| + | <image shape=" | ||
| + | |||
| + | On accepte les termes de la licence et on clique sur '' | ||
| + | <image shape=" | ||
| + | |||
| + | On choisira le mode d' | ||
| + | <image shape=" | ||
| + | |||
| + | On passe à la suite en cliquant sur '' | ||
| + | <image shape=" | ||
| + | |||
| + | Dans la fenêtre suivante : | ||
| + | - On indique la ou les adresses des serveurs Nagios. | ||
| + | - On cochera tous les modules | ||
| + | - On cliquera sur '' | ||
| + | <image shape=" | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | Finalement, on peut lancer l' | ||
| + | <image shape=" | ||
| + | |||
| + | On laisse le processus aller à son terme : | ||
| + | <image shape=" | ||
| + | |||
| + | On finit l' | ||
| + | <image shape=" | ||
| + | |||
| + | Pour permettre une meilleure efficacité du service et notamment permettre certaines vérification, | ||
| + | <image shape=" | ||
| + | |||
| + | Tout comme le NRPE sous linux, NSClient++ est livrée avec des commandes locales préconfigurées. Les paramètres | ||
| + | |||
| + | <color # | ||
| + | |||
| + | * <color # | ||
| + | * <color # | ||
| + | * <color # | ||
| + | |||
| + | Par exemple : check_users=scripts\check-users.bat -w 5 -c 10. | ||
| + | |||
| + | Pour activer toutes les commandes préconfigurées et tous les modules : | ||
| + | <sxh powershell>" | ||
| + | |||
| + | Une fois le fichier '' | ||
| + | |||
| + | ==== Paramétrage sur le serveur Nagios ==== | ||
| + | |||
| + | Pour bénéficier de la commande '' | ||
| + | <sxh bash> | ||
| + | |||
| + | On a plus qu'à définir les services de la même manière que pour '' | ||
| + | <sxh bash> | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | }</ | ||
| + | Bien sûr, on oublie pas de vérifier la configuration de Nagios et de redémarrer le service. | ||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||