informatique:systeme:monitoring:nagios

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
informatique:systeme:monitoring:nagios [2012/02/03 18:19] bn8informatique:systeme:monitoring:nagios [2013/12/18 17:58] (Version actuelle) bn8
Ligne 1: Ligne 1:
 ====== Nagios ====== ====== Nagios ======
  
 +===== Présentation =====
  
-===== Les objets manipulés par Nagios =====+ 
 +==== Les objets manipulés par Nagios ====
 Nagios manipule un certain nombre d'objets que je vais essayer de décrire brièvement ici : Nagios manipule un certain nombre d'objets que je vais essayer de décrire brièvement ici :
   * **host** : Objet correspondant à un serveur/switch/ routeur ou autre élément physique du réseau   * **host** : Objet correspondant à un serveur/switch/ routeur ou autre élément physique du réseau
Ligne 31: Ligne 33:
  
   * **timeperiod** : Objet correspondant à des périodes temporelles utilisées pour spécifier lorsque les vérifications doivent être faites ou encore quand un contact doit être alerté des problèmes survenant.   * **timeperiod** : Objet correspondant à des périodes temporelles utilisées pour spécifier lorsque les vérifications doivent être faites ou encore quand un contact doit être alerté des problèmes survenant.
-==== Lien entre les objets ====+=== Lien entre les objets ===
   * Un **host** est lié à :   * Un **host** est lié à :
     * une **command** utilisée pour vérifiée l'état de l'//host// lui-même. Communément, la //command// //check-host-alive// correspondant à un //ping//. (Directive //check_command//)     * une **command** utilisée pour vérifiée l'état de l'//host// lui-même. Communément, la //command// //check-host-alive// correspondant à un //ping//. (Directive //check_command//)
Ligne 61: Ligne 63:
 Le paramètre **check_external_commands** du fichier de configuration **nagios.cfg** doit par ailleurs valoir **1**. Le paramètre **check_external_commands** du fichier de configuration **nagios.cfg** doit par ailleurs valoir **1**.
 </note> </note>
-===== Check des services =====+==== Check des services ====
 La vérification d'un service se fait par l'intermédiaire d'une //commmand// configurée avec la directive //check_command//. Cette directive est utilisé de la manirère suivante : La vérification d'un service se fait par l'intermédiaire d'une //commmand// configurée avec la directive //check_command//. Cette directive est utilisé de la manirère suivante :
  
Ligne 72: Ligne 74:
  
  
-==== Check via NRPE ====+=== Check via NRPE ===
 Lorsqu'il est impossible de vérifier l'état d'un service depuis la machine faisant tourner Nagios, il faut utiliser le service NRPE qui tournera sur la machine exécutant le service et qui vérifiera localement l'état de ce service et retournera le résultat à Nagios. Sur Nagios, il faut utiliser la //check_command// nommé //check_nrpe_1arg// correspondant au script ///usr/lib/nagios/plugins/check_nrpe// prenant pour seul argument le nom de la //command// exécutée par NRPE. Ce script comme n'importe quel script nagios peut être exécuté manuellement de la manière suivante : Lorsqu'il est impossible de vérifier l'état d'un service depuis la machine faisant tourner Nagios, il faut utiliser le service NRPE qui tournera sur la machine exécutant le service et qui vérifiera localement l'état de ce service et retournera le résultat à Nagios. Sur Nagios, il faut utiliser la //check_command// nommé //check_nrpe_1arg// correspondant au script ///usr/lib/nagios/plugins/check_nrpe// prenant pour seul argument le nom de la //command// exécutée par NRPE. Ce script comme n'importe quel script nagios peut être exécuté manuellement de la manière suivante :
  
Ligne 125: Ligne 127:
 Les plugins NRPE sont les même que les plugins Nagios. Il donc également possible de les lancer manuellement ou encore de les lancer avec pour seul argument **-h** pour afficher l'aide d'utilisation de ces plugins. Les plugins NRPE sont les même que les plugins Nagios. Il donc également possible de les lancer manuellement ou encore de les lancer avec pour seul argument **-h** pour afficher l'aide d'utilisation de ces plugins.
 </note> </note>
-== Check des services == 
  
  
-=== Mémoire ===+== Mémoire ==
   * Plugin : [[http://git.zionetrix.net/check_mem|check_mem]]   * Plugin : [[http://git.zionetrix.net/check_mem|check_mem]]
   * Copier le ici :   * Copier le ici :
Ligne 142: Ligne 143:
   command[mem]=/usr/local/lib/nagios/plugins/check_mem -w 80,20 -c 90,50   command[mem]=/usr/local/lib/nagios/plugins/check_mem -w 80,20 -c 90,50
  
-=== Charge ===+ 
 +== Charge ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
   command[load]=/usr/lib/nagios/plugins/check_load -w 1,1,1 -c 2,2,2   command[load]=/usr/lib/nagios/plugins/check_load -w 1,1,1 -c 2,2,2
  
-=== MySQL ===+ 
 +== MySQL ==
   * Créer un utilisateur MySQL pour nagios :   * Créer un utilisateur MySQL pour nagios :
  
Ligne 158: Ligne 161:
 <note>Le plugin officiel ne retourne pas d'information de performance en suivant la syntaxe Nagios. J'ai écris [[http://git.zionetrix.net/check_mysql_with_perfdata|un plugin]] qui utilise le plugin officiel et réécris le résultat en intégrant les informations de performances en suivant la syntaxe de Nagios.</note> <note>Le plugin officiel ne retourne pas d'information de performance en suivant la syntaxe Nagios. J'ai écris [[http://git.zionetrix.net/check_mysql_with_perfdata|un plugin]] qui utilise le plugin officiel et réécris le résultat en intégrant les informations de performances en suivant la syntaxe de Nagios.</note>
  
-=== SMTP ===+== MongoDB == 
 + 
 +  * Installation du plugin nagios : <code>git clone https://github.com/tag1consulting/check_mongo /usr/local/src/check_mongo 
 +ln -s /usr/local/src/check_mongo/check_mongo /usr/local/lib/nagios/plugins/</code> 
 + 
 +<note>Il y avait une coquille dans le script original que j'ai corrigé. Une [[https://github.com/tag1consulting/check_mongo/pull/3|pull request]] a été proposé sur le github du projet pour corrigé cela.</note> 
 + 
 +  * Puis ajouter la commande //check_mongo// dans la configuration d'NRPE et recharger sa configuration : <code>echo "command[check_mongo]=/usr/local/lib/nagios/plugins/check_mongo -H 127.0.0.1 -P 27017 -A connect" > /etc/nagios/nrpe.d/mongo.cfg</code> 
 + 
 + 
 +== PostgreSQL == 
 + 
 +  * Créér l'utilisateur PostgreSQL local //nagios// et lui donner les droits de se connecter : <code>su - postgres 
 +createuser -D -R -S nagios 
 +exit 
 +echo "local    template1       nagios                                  ident" >> /etc/postgresql/9.1/main/pg_hba.conf 
 +service postgresql reload</code> 
 + 
 +  * Puis ajouter la commande //check_psql// dans la configuration d'NRPE et recharger sa configuration : <code>echo "# Postgresql connexion 
 +# Requirement: 
 +#        * as user postgres, run "createuser -D -R -S nagios" 
 +#        * add this on top of pg_hba.conf rules: 
 +#          local template1 nagios ident 
 +command[check_pgsql]=/usr/lib/nagios/plugins/check_pgsql -l nagios" > /etc/nagios/nrpe.d/postgresql.cfg</code> 
 + 
 +== SMTP ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
   command[smtp]=/usr/lib/nagios/plugins/check_smtp -H 127.0.0.1   command[smtp]=/usr/lib/nagios/plugins/check_smtp -H 127.0.0.1
  
-=== HTTP ===+ 
 +== HTTP ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
Ligne 169: Ligne 198:
  
  
-=== HTTPS ===+== HTTPS ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
Ligne 175: Ligne 204:
  
  
-=== Onduleur / Nut ===+== Onduleur / Nut ==
   * Lignes de commande à ajouter dans //nrpe_local.cfg//   * Lignes de commande à ajouter dans //nrpe_local.cfg//
  
Ligne 189: Ligne 218:
 <note>Sur un serveur secondaire seul //USPMON// est nécessaire.</note> <note>Sur un serveur secondaire seul //USPMON// est nécessaire.</note>
  
-=== Tomcat ===+ 
 +== Tomcat ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
Ligne 199: Ligne 229:
  
  
-=== Montage d'une partition ===+== Montage d'une partition ==
   * Utiliser ce script {{:informatique:systeme:monitoring:nagios_check_mount.sh|check_mount}}   * Utiliser ce script {{:informatique:systeme:monitoring:nagios_check_mount.sh|check_mount}}
   * Copier le ici :   * Copier le ici :
Ligne 219: Ligne 249:
  
  
-=== Espace disque ===+== Espace disque ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg// pour la vérification de /   * Ligne de la commande à ajouter dans //nrpe_local.cfg// pour la vérification de /
  
Ligne 238: Ligne 268:
  
  
-=== LDAP ===+== LDAP ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
Ligne 249: Ligne 279:
  
  
-=== Synchronisation LDAP === +== Synchronisation LDAP == 
-  * Utiliser ce script : [[http://exchange.nagios.org/directory/Plugins/Network-Protocols/LDAP/Openldap-Syncrepl/details|check_syncrepl.py]] +  * Utiliser ce script : [[http://git.zionetrix.net/check_syncrepl_extended|check_syncrepl_extended]] 
-  * Copier le ici : +  * Copier le  dans ///usr/local/lib/nagios/plugins// 
- +  * Rendre le plugin exécutable : <code>chmod +x /usr/local/lib/nagios/plugins/check_syncrepl_extended</code> 
-  /usr/local/lib/nagios/plugins/check_syncrepl +  * Installer les dépenses :<code>apt-get install python-ldap</code> 
- +  * Ligne de la commande à ajouter dans //nrpe_local.cfg// : <code>command[ldapsync]=/usr/local/lib/nagios/plugins/check_syncrepl_extended -q -n -D"DN" -P "MDP" -b "BASEDN" -"LDAPURI1" -c "LDAPURI2" -a</code>
-  * Rendre le plugin exécutable : +
- +
-  chmod +x /usr/local/lib/nagios/plugins/check_syncrepl +
- +
-  * Ligne de la commande à ajouter dans //nrpe_local.cfg// +
- +
-  command[ldapsync]=/usr/local/lib/nagios/plugins/check_syncrepl -q -n -D"DN" -p "MDP1" -P "MPD2" -b "BASEDN" -t 10 "LDAPURI1" "LDAPURI2"+
  
  
Ligne 273: Ligne 296:
   * //LDAPURI2// = l'URI de l'annuaire LDAP secondaire   * //LDAPURI2// = l'URI de l'annuaire LDAP secondaire
  
-=== Accès Web ===+== Accès Web ==
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
   command[acces_web]=/usr/lib/nagios/plugins/check_http -H www.google.fr -u http://www.google.fr   command[acces_web]=/usr/lib/nagios/plugins/check_http -H www.google.fr -u http://www.google.fr
      
-=== RBL Messagerie ===+== RBL Messagerie ==
 Permet de vérifier si un host est blacklisté ou pas au niveau de la messagerie. Permet de vérifier si un host est blacklisté ou pas au niveau de la messagerie.
 Téléchargement du plugin et installation. Téléchargement du plugin et installation.
Ligne 311: Ligne 334:
    
    
-=== Check l'état de l'enregistrement d'un domaine DNS ===+== Check l'état de l'enregistrement d'un domaine DNS ==
   * Utiliser ce plugin : [[http://git.zionetrix.net/check_domain|check_domain]]   * Utiliser ce plugin : [[http://git.zionetrix.net/check_domain|check_domain]]
   * Copier le ici :   * Copier le ici :
Ligne 323: Ligne 346:
   * Ligne de la commande à ajouter dans //nrpe_local.cfg//   * Ligne de la commande à ajouter dans //nrpe_local.cfg//
  
-  command[acces_web]=/usr/local/lib/nagios/plugins/check_domain mydomain.tld+  command[domain_mydomain_tld]=/usr/local/lib/nagios/plugins/check_domain mydomain.tld
      
 Avec //mydomain.tld// le domaine DNS à surveiller. Avec //mydomain.tld// le domaine DNS à surveiller.
  
 +== Check état SMART d'un disque ==
 +  * Utiliser ce script : [[http://git.zionetrix.net/check_smart|check_smart]]
 +  * Copier le ici :
 +
 +  /usr/local/lib/nagios/plugins/check_smart
 +
 +  * Rendre le plugin exécutable :
 +
 +  chmod +x /usr/local/lib/nagios/plugins/check_smart
 +
 +  * Ligne de la commande à ajouter dans //nrpe_local.cfg//
 +
 +  command[smart_sda]=/usr/local/lib/nagios/plugins/check_smart -d /dev/sda -i ata
 +
 +== Check de l'état d'un cluster Heartbeat ==
 +  * Utiliser ce script : [[http://git.zionetrix.net/check_heartbeat|check_heartbeat]]
 +  * Copier le ici :
 +
 +  /usr/local/lib/nagios/plugins/check_heartbeat
 +
 +  * Rendre le plugin exécutable :
 +
 +  chmod +x /usr/local/lib/nagios/plugins/check_heartbeat
 +
 +  * Ligne de la commande à ajouter dans //nrpe_local.cfg//
 +
 +  command[heartbeat]=/usr/local/lib/nagios/plugins/check_heartbeat
 +  
  
-=== Check multiple ===+== Check multiple ==
   * Utiliser ce script {{:informatique:systeme:monitoring:nagios_check_multi.sh|check_multi}}   * Utiliser ce script {{:informatique:systeme:monitoring:nagios_check_multi.sh|check_multi}}
   * Ce script peut servir de base d'adaptation pour lancer plusieurs script de check sur un serveur et déterminer l'état globale de cette ensemble de services.   * Ce script peut servir de base d'adaptation pour lancer plusieurs script de check sur un serveur et déterminer l'état globale de cette ensemble de services.
  
-===== Écran de contrôle =====+===== Les plus ===== 
 + 
 +==== Écran de contrôle ====
 Un écran de contrôle peut être créé en utilisation l'application **NagVis**. Cette application récupère les informations d'états collectées par **Nagios** à travers une base de données **MySQL**. Cette base **MySQL** est alimentée par l'intermédiaire d'un **module Nagios** appeler **[[informatique:systeme:monitoring:nagios:ndoutils]]**. Ce module se décompose en deux parties : Un écran de contrôle peut être créé en utilisation l'application **NagVis**. Cette application récupère les informations d'états collectées par **Nagios** à travers une base de données **MySQL**. Cette base **MySQL** est alimentée par l'intermédiaire d'un **module Nagios** appeler **[[informatique:systeme:monitoring:nagios:ndoutils]]**. Ce module se décompose en deux parties :
   * un deamon connecté en permanence à la base de données et qui écoute sur une socket (fichier) : **/var/cache/nagios3/ndo.sock**   * un deamon connecté en permanence à la base de données et qui écoute sur une socket (fichier) : **/var/cache/nagios3/ndo.sock**
Ligne 339: Ligne 392:
 **Remarque : ** Le fichier //socket// est créé et supprimé pas le daemon. Si ce fichier est présent lors du lancement du daemon, celui-ci ne voudra pas se lancer. Il faut simplement le supprimer ou suivre la procédure pour ce type de problème : [[informatique:systeme:monitoring:nagios#Panne de l'écran de controle]] **Remarque : ** Le fichier //socket// est créé et supprimé pas le daemon. Si ce fichier est présent lors du lancement du daemon, celui-ci ne voudra pas se lancer. Il faut simplement le supprimer ou suivre la procédure pour ce type de problème : [[informatique:systeme:monitoring:nagios#Panne de l'écran de controle]]
  
 +==== Passerelle SMS ====
 +
 +Une passerelle SMS permet de faire de la notification par SMS. Il fait dans un premier temps mettre en place une passerelle mail/SMS. Pour cela, suivre [[informatique:reseau:messagerie:passerelle_sms|le guide dédié]].
 +Ensuite, FIXME.
 ===== En cas de problème ===== ===== En cas de problème =====
  
  • informatique/systeme/monitoring/nagios.1328293189.txt.gz
  • Dernière modification : 2012/02/03 18:19
  • de bn8