Nagios - Modules complémentaires / plugins

Les plugins aident à surveiller les bases de données, les systèmes d'exploitation, les applications, les équipements réseau, les protocoles avec Nagios. Les plugins sont des exécutables compilés ou des scripts (Perl ou non-Perl) qui étendent les fonctionnalités de Nagios pour surveiller les serveurs et les hôtes. Nagios exécutera un plugin pour vérifier l'état d'un service ou d'un hôte. Nagios peut être compilé avec le support d'un interpréteur Perl intégré pour exécuter des plugins Perl. Sans cela, Nagios exécute les plugins Perl et non Perl en forçant et en exécutant les plugins en tant que commande externe.

Types de plugins Nagios

Nagios a les plugins suivants disponibles -

Official Nagios Plugins- Il existe 50 plugins officiels de Nagios. Les plugins officiels de Nagios sont développés et maintenus par l'équipe officielle des plugins de Nagios.

Community Plugins - Il existe plus de 3 000 plugins tiers Nagios qui ont été développés par des centaines de membres de la communauté Nagios.

Custom Plugins- Vous pouvez également écrire vos propres plugins personnalisés. Certaines directives doivent être suivies pour écrire des plugins personnalisés.

Instructions pour l'écriture de plugins Nagios personnalisés

Lors de l'écriture d'un plugin personnalisé dans Nagios, vous devez suivre les instructions ci-dessous -

  • Les plugins doivent fournir une option de ligne de commande "-V" (vérifiez les changements de configuration)
  • Imprimer une seule ligne de texte
  • Imprimer le diagnostic et seulement une partie du message d'aide
  • Les plugins réseau utilisent DEFAULT_SOCKET_TIMEOUT pour expirer
  • "-v" ou "--verbose" est lié au niveau de verbosité
  • "-t" ou "--timeout" (délai d'expiration du plugin);
  • "-w" ou "--warning" (seuil d'avertissement);
  • "-c" ou "--critical" (seuil critique);
  • "-H" ou "--hostname" (nom de l'hôte à vérifier)

Plusieurs plugins Nagios s'exécutent et effectuent des vérifications en même temps, pour que tous fonctionnent correctement ensemble, le plugin Nagios suit un code d'état. Le tableau ci-dessous indique l'état du code de sortie et sa description -

Code de sortie Statut La description
0 D'accord Fonctionne bien
1 ATTENTION Fonctionne bien, mais a besoin d'attention
2 CRITIQUE Ne fonctionne pas correctement
3 INCONNUE Lorsque le plugin est incapable de déterminer l'état de l'hôte / du service

Les plugins Nagios utilisent des options pour leur configuration. Voici quelques paramètres importants acceptés par le plugin Nagios -

Sr. Non Option et description
1

-h, --help

Cela fournit de l'aide

2

-V, --version

Cela imprime la version exacte du plugin

3

-v, --verbose

Cela permet au plugin de donner des informations plus détaillées sur ce qu'il fait

4

-t, --timeout

Cela fournit le délai (en secondes); après cette heure, le plugin rapportera l'état CRITIQUE

5

-w, --warning

Cela fournit les limites spécifiques au plugin pour le statut WARNING

6

-c, --critical

Cela fournit les limites spécifiques au plugin pour le statut CRITICAL

sept

-H, --hostname

Cela fournit le nom d'hôte, l'adresse IP ou le socket Unix avec lequel communiquer

8

-4, --use-ipv4

Cela vous permet d'utiliser IPv4 pour la connectivité réseau

9

-6, --use-ipv6

Cela vous permet d'utiliser IPv6 pour la connectivité réseau

dix

-p, --port

Ceci est utilisé pour se connecter au port TCP ou UDP

11

-s, -- send

Cela fournit la chaîne qui sera envoyée au serveur

12

-e, --expect

Cela fournit la chaîne qui doit être renvoyée depuis le serveur

13

-q, --quit

Cela fournit la chaîne à envoyer au serveur pour fermer la connexion

Le package de plugins Nagios a beaucoup de vérifications disponibles pour les hôtes et les services pour surveiller l'infrastructure. Essayons les plugins Nagios pour effectuer quelques vérifications.

SMTP est un protocole utilisé pour envoyer des e-mails. Les plugins standards de Nagios ont des commandes pour effectuer des vérifications pour SMTP. La définition de commande pour SMTP -

define command {
   command_name check_smtp
   command_line $USER2$/check_smtp -H $HOSTADDRESS$
}

Utilisons le plugin Nagios pour surveiller MySQL. Nagios propose 2 plugins pour surveiller MySQL. Le premier plugin vérifie si la connexion mysql fonctionne ou non, et le second plugin est utilisé pour calculer le temps nécessaire pour exécuter une requête SQL.

Les définitions des commandes pour les deux sont les suivantes -

define command {
   command_name check_mysql
   command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -S –w 10 –c 30
}

define command {
   command_name check_mysql_query
   command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$
}

Note - Le nom d'utilisateur, le mot de passe et le nom de la base de données sont requis comme arguments dans les deux commandes.

Nagios propose un plugin pour vérifier l'espace disque monté sur toutes les partitions. La définition de la commande est la suivante

define command {
   command_name check_partition
   command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$
}

La majorité des vérifications peuvent être effectuées via les plugins standards de Nagios. Mais il existe des applications qui nécessitent des contrôles spéciaux pour les surveiller, auquel cas vous pouvez utiliser des plugins Nagios tiers qui fourniront des contrôles plus sophistiqués sur l'application. Il est important de connaître les problèmes de sécurité et de licence lorsque vous utilisez un plugin tiers sous forme d'échange Nagios ou que vous téléchargez le plugin à partir d'un autre site Web.