sunfun Posté(e) le 16 octobre 2006 Partager Posté(e) le 16 octobre 2006 Bonjour à tous, j'ai un serveur Debian 2.6.12-2-686 j'ai installé manuellement nagios 2.5 sur cette machine pour info : par défaut, en faisant un apt-get install nagios, ce n'est que la version 1.3 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 , 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 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" 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 ? merci d'avance sunfun Lien vers le commentaire Partager sur d’autres sites More sharing options...
naparuba Posté(e) le 16 octobre 2006 Partager Posté(e) le 16 octobre 2006 Dans ton services.cfg: check_command check_snmp Or on voit bien que le check_command demande des arguments ($ARG1$ -P $ARG2$), il faudrait donc lui donner check_command check_snmp!valeur1!valeur2 Voila Lien vers le commentaire Partager sur d’autres sites More sharing options...
sunfun Posté(e) le 16 octobre 2006 Auteur Partager Posté(e) le 16 octobre 2006 bonjour naparuba, c'est une bonne remarque, je n'avais pas fait attention 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 aurais-tu un exemple de check_snmp s'il te plait ? merci de ton aide sunfun Lien vers le commentaire Partager sur d’autres sites More sharing options...
BoobZ Posté(e) le 16 octobre 2006 Partager Posté(e) le 16 octobre 2006 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 aurais-tu un exemple de check_snmp s'il te plait ? merci de ton aide sunfun 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.... ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
naparuba Posté(e) le 16 octobre 2006 Partager Posté(e) le 16 octobre 2006 Exactement. Là je supervise des serveurs d'ERP (non pas de noms ) 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 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à ) 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 De même pour la communauté. Je peux recommencer si je ne suis pas assez clair 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sunfun Posté(e) le 17 octobre 2006 Auteur Partager Posté(e) le 17 octobre 2006 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 sunfun Lien vers le commentaire Partager sur d’autres sites More sharing options...
naparuba Posté(e) le 17 octobre 2006 Partager Posté(e) le 17 octobre 2006 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? ). si c'est le premier regarde du côté de check_command dans le hosts.cfg à mon avis. Bonne chance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.