Jump to content

[Debian] nagios et check_snmp


Recommended Posts

Bonjour à tous,

j'ai un serveur Debian 2.6.12-2-686

j'ai installé manuellement nagios 2.5 sur cette machine :embarassed:

pour info : par défaut, en faisant un apt-get install nagios, ce n'est que la version 1.3 :craint:

j'ai aussi installé les plugins manuellement en suivant le tuto suivant :

http://www.debianhelp.co.uk/nagios.htm

j'ai donc voulu faire un check_snmp sur une machine en activant le service

j'ai bien vérifié que le plugin check_snmp était dans le bon répertoire, à savoir :

/usr/local/nagios/libexec/check_snmp

donc je l'applique à un poste, dont voici le fichier /usr/local/nagios/etc/services.cfg associé :

# Service definition
define service{
	use							 generic-service		; Name of service template to use

	host_name					   snoop
	service_description			 SNMP_NTOP
	is_volatile					 0
	check_period					24x7
	max_check_attempts			  3
	normal_check_interval		   5
	retry_check_interval			1
	contact_groups				  labo9c-admins
	notification_interval		   120
	notification_period			 24x7
	notification_options			c,r
	check_command				   check_snmp
	}

voici comment le plugin est codé dans /usr/local/nagios/etc/checkcommands.cfg :

# 'check_snmp' command definition
define command{
	command_name	check_snmp
	command_line	$USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P $ARG2$ -o $ARG3$
	}

en fait, j'aimerais faire l'équivalent du snmpwalk :embarassed: , qui doit donner ceci :

Exemple quand le processus tourne :

phoenix:~# snmpwalk -v 2c -c woot2pub <nom_machine> <OID>
UCD-SNMP-MIB::prCount.1 = INTEGER: 1


Exemple quand le processus est HS:

phoenix:~# snmpwalk -v 2c -c woot2pub <nom_machine> <OID>
UCD-SNMP-MIB::prCount.1 = INTEGER: 0

ainsi, quand çe me retourne 0, ça me génère une alerte :yes:

comment je peux faire ça ?

dites moi s'il y a une erreur dans mon script

parce que dans nagios, sous l'onglet "status map", lorsque je clique sur le nom de la machine, ça m'affiche que le service est reconnu comme "unknown" :cartonrouge:

et l'erreur renvoyée est la suivante :

check_snmp: Unknown argument - (null)

pouvez-vous me conseiller comment résoudre ce probleme s'il vous plait ? :ouioui:

merci d'avance :yes:

sunfun :byebye:

Link to comment
Share on other sites

bonjour naparuba,

c'est une bonne remarque, je n'avais pas fait attention :cartonrouge:

mais en admettant que je mette des paramètres, comment dois-je coder dans le fichier /usr/local/nagios/etc/services.cfg ???

voici la commande que je veux réaliser :

/usr/local/nagios/libexec/check_snmp -H <adresse_IP> -P <version_snmp> -C <communauté_snmp> -o <OID>

quelles valeurs dois-je mettre dans le fichier ?

je me dis si le mec a une communauté snmp différente, il faut bien que je précise une valeur quel que soit la communauté

pareil pour l'OID

l'idée est de mettre des valeurs génériques quelque soit les valeurs des différentes variables :embarassed::embarassed:

aurais-tu un exemple de check_snmp s'il te plait ?

merci de ton aide :craint:

sunfun :ouioui:

Link to comment
Share on other sites

quelles valeurs dois-je mettre dans le fichier ?

je me dis si le mec a une communauté snmp différente, il faut bien que je précise une valeur quel que soit la communauté

pareil pour l'OID

l'idée est de mettre des valeurs génériques quelque soit les valeurs des différentes variables :craint::ouioui:

aurais-tu un exemple de check_snmp s'il te plait ?

merci de ton aide :eeek2:

sunfun :byebye:

Si tout ton parc est constitué de la meme communauté, tu peux le coder en "dur" directement dans le check_snmp sinon tu ne peux pas mettre de variable generique puisque ta communauté est OBLIGATOIREMENT un paramètre que tu dois fournir pour interroger un élément...

pour l'OID tu dois egalement en fournir un qui sera different en fonction de se que tu desires superviser...

Donc impossible de rentrer des variables passe-partout puisque ce que tu desires superviser necessite un paramétrage fin....

++

Link to comment
Share on other sites

Exactement.

Là je supervise des serveurs d'ERP (non pas de noms :craint: ) et au lieu d'avoir ne config située au niveau Nagios et une pour les autres scripts j'ai feinté. En effet, j'ai fait un script (basique de chez basique...) qui va voir dans un fichier csv les valeurs que je lui demande (par exemple pour tel environnements (ensemble de services 3tiers en gros) c'est quoi l'ip du serveur de base de données?). Ensuite dans les hosts au lieu de mettre serveur par serveur, j'ai mis en hostname le nom de l'environnement (qui est donc totalement virtuel car il ne correspond à aucune machine physique).

Et c'est là que le script arrive en jeu car dans le check_command je demande de surveiller le serveur situé à l'address `script.sh $HOSTNAME IpServeurDeBase` et donc tous mes servces sont égaux dans mon cas ce qui simplifie grandement la configuration :byebye:

Dans ton cas tes oid vont surement changer suivant tes OS même si tu veux surveiller la même chose (utilisation CPU, RAM, enfin je sais pas à toi de voir là :ouioui: ) tu passes par un script qui va te donner la bonne OID que tu cherches suivant le serveur (il a une liste avec les serveurs, à côté son type et donc son OID qu'il te faut).

Comme ça la configuration ne se trouve plus que dans ce fichier utilisé par ton script et non dissiminé partout dans la config de Nagios :smack:

De même pour la communauté.

Je peux recommencer si je ne suis pas assez clair :eeek2:

EDIT: à oui pour avoir la communauté et les OID: demande à ton admin réseau pour les routeurs et cie, et systèmes pour le reste.

Link to comment
Share on other sites

bonjour,

voici le résultat que j'aimerais bien obtenir en fait :

phoenix:/usr/local/nagios/libexec# snmpget -v 2c -c woot2pub <adresse_IP> <OID>
UCD-SNMP-MIB::prCount.1 = INTEGER: 0

par contre, ce qui est bizarre, c'est que ça renvoie 0 mais sur la status map de nagios, ça affiche SNMP OK

comment puis-je faire pour que ça m'envoie une alerte vu que le service NTOP en l'occurence est coupé ?

merci de votre aide :chinois:

sunfun :byebye:

Link to comment
Share on other sites

bonjour,

voici le résultat que j'aimerais bien obtenir en fait :

phoenix:/usr/local/nagios/libexec# snmpget -v 2c -c woot2pub <adresse_IP> <OID>
UCD-SNMP-MIB::prCount.1 = INTEGER: 0

par contre, ce qui est bizarre, c'est que ça renvoie 0 mais sur la status map de nagios, ça affiche SNMP OK

comment puis-je faire pour que ça m'envoie une alerte vu que le service NTOP en l'occurence est coupé ?

Dans ton services.cfg:

check_command check_snmp!woot2pub!<OID>

Je n'utilise pas le status map, mais il montre quoi, la disponibilité de l'host ou des services (le premier à mon avis non? :byebye: ). si c'est le premier regarde du côté de check_command dans le hosts.cfg à mon avis.

Bonne chance :chinois:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...