web-dev-qa-db-fra.com

Comment puis-je exécuter manuellement une vérification nagios à partir de la ligne de commande?

Lors de la définition et du test de nouveaux services dans nagios, j'ai redémarré nagios, puis en cliquant sur le service et replanifié une vérification le plus tôt possible, puis en attendant que la vérification se produise.

Existe-t-il un moyen plus efficace de procéder? Je voudrais utiliser la ligne de commande pour exécuter cette vérification particulière et obtenir la sortie.

24
cwd

Parfois, je trouve difficile de déterminer exactement ce que fait un plugin. Pour comprendre cela, j'ai mis nagios en mode débogage avec la configuration comme celle-ci. debug_level=2048 Avec nagios en mode débogage, je file simplement le debug_log fichier debug_file=/var/log/nagios3/nagios.debug. Forcez une vérification et vous verrez exactement comment la commande est exécutée. Je ne laisserais pas ce paramètre normalement cependant, il est très détaillé et remplit votre fichier journal à un rythme rapide.

31
Zoredache

C'est assez simple. Il suffit de cd (ou non) dans le répertoire des plugins (cet emplacement de répertoire varie, selon la façon dont vous l'avez installé, mais vérifiez/usr/local/nagios ou/usr/lib/nagios).

Trouvez le plugin que vous souhaitez exécuter (si vous n'êtes pas sûr, comparez ce que vous voyez dans votre répertoire de plugins sur votre boîte Linux avec les plugins situés ici: http://exchange.nagios.org/directory/Plugins) , ou essayez d'exécuter "./plugin-name -h" pour obtenir les informations d'aide sur le plugin).

La méthode pour utiliser l'un de ces "plugins" à partir de la ligne de commande est la même que pour tout autre script Linux: exécutez simplement "./plugin-name" avec les indicateurs appropriés que vous souhaitez vérifier, et le tour est joué!

18
David W

Je prends une direction légèrement plus brutale que @Zoredache, je me connecte au serveur nagios et je fais "tout en étant vrai; fais ps awwlx | grep NAGIOS_CHECK_NAME; fait", tandis que je force une nouvelle vérification du service, où NAGIOS_CHECK_NAME est soit une partie du nom du chèque ou de l'IP du serveur que je recherche. Habituellement, en quelques secondes, la commande de vérification complète apparaît, puis je tue la boucle while et exécute la commande de vérification.

Oui, c'est totalement brutal, mais <shrug> ça marche pour moi.

5
Sean Reifschneider

Vous pouvez également essayer le plugin "capture". Il fait essentiellement la même chose qu'un niveau de débogage de 2048, mais peut être utilisé par plug-in. Cela donne moins de sortie pour Dig through.

http://www.waggy.at/nagios/capture_plugin.htm

3
Keith

Allez dans le répertoire de votre plugin - dans mon exemple c'est

/usr/lib64/nagios/plugins/

Tapez le nom de votre plugin - dans mon exemple, c'est

check_tcp

exécutez maintenant la commande complète - (nom du plugin) -H (nom d'hôte) -p (numéro de port)

/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080

production

TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000

Cependant, dans cet exemple, le numéro de port est facultatif

un autre exemple -

dans votre fichier de configuration qui ressemble à quelque chose comme ci-dessous (myserver.cfg) et vous voulez exécuter check_cpu à partir de la ligne de commande

define service{
  use                             generic-service
  Host_name                       myserver
  servicegroups                   windows
  service_description             CPU
  contact_groups                  sysadmin_email_only
  notification_options            w,c,r
  check_command                   check_nrpe!check_cpu
}

pour vérifier instantanément (sans GUI vert ou rouge)

Essayez ceci - (chemin complet du plugin) - H (nom_serveur) -c (nom de vérification)

/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu

production -

OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;

C'est ça

2
Sharia Chowdhury