Exemples de check de services Nagios

Date: 31/07/2008 | Catégories: Open-source,Reseau,Systeme | Tags: ,,,,

Quelques exemples de services pour Nagios. N'hésitez pas à donner d'autres exemples via les commentaires ou ma fiche de contact.

J'intégrerai les exemples les plus pertinents au billet.

On menu du jour:

  • superviser un serveur Web (HTTP)
  • superviser un serveur Web sécurisé (HTTP over SSL)
  • superviser un serveur de messagerie (mail)
  • superviser un serveur VoIP (sip)
  • superviser un serveur de fichiers (samba)
  • superviser un serveur annuaire (LDAP)
  • superviser un serveur de base de données (mySQL ou pgSQL)
  • superviser un serveur réseau (DHCP et DNS)
  • supervision de disques RAID (carte hardware HP Proliant)
  • supervision de disques RAID 1 logiciel sous FreeBSD
  • supervision d'un serveur Asterisk (suivre ce lien)
  • supervision d'un trunk IAX sur un serveur Asterisk

< tous les plats sont accompagnés de frites et de salade >

Superviser un serveur Web

Nous utilisons pour cela le plugin check_http qui permet de tester si un serveur HTTP est bien lancé sur la machine à superviser.

Exemple:

define command{

command_name check_http

command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$

}

define host{

use generic-host

host_name monserveur

alias Serveur Web

address 192.168.0.100

}

define service{

use generic-service

host_name monbeauserveur

service_description HTTP

check_command check_http

}

Pour aller plus loin:

Le plugin utilise par défaut une requête sur le port TCP/80. Pour changer ce port, vous pouvez utiliser l’option -p et créer une nouvelle commande (à utiliser dans le check_command de votre nouveau service):

define command{

command_name check_http_8080

command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$-p 8080

}

Superviser un serveur Web sécurisé

Si votre serveur Web est sécurisé avec le protocole SSL. Il faut créer une nouvelle commande basée sur check_http.

Exemple:

define command{

command_name check_http

command_line $USER1$/check_http -S -I $HOSTADDRESS$ $ARG1$

}

define host{

use generic-host

host_name monserveur

alias Serveur Web

address 192.168.0.100

}

define service{

use generic-service

host_name monbeauserveur

service_description HTTPs

check_command check_https

}

Superviser un serveur de messagerie

Pour surveiller un serveur Mail proposant les protocoles SMTP, POP3 et IMAP (merci Dovecot), nous allons utiliser les plugins check_smtp, check_pop et check_imap.

Exemple:

define host{

use generic-host

host_name monserveur

alias Serveur de messagerie

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description SMTP

check_command check_smtp

}

define service{

use generic-service

host_name monserveurmail

service_description POP

check_command check_pop

}

define service{

use generic-service

host_name monserveurmail

service_description IMAP

check_command check_imap

}

Superviser un serveur Asterisk

Pour surveiller un serveur SIP (par exemple votre serveur Asterisk), nous allons utiliser le plugin check_sip. n’étant pas fourni en standard, il faut d’abord l’installer puis le configurer avant de pouvoir l’utiliser comme service.

Installation:

cd /usr/src

wget http://www.bashton.com/downloads/nagios-check_sip-1.2.tar.gz

tar zxvf nagios-check_sip-1.2.tar.gz

cd nagios-check_sip-1.2

cp check_sip /usr/local/nagios/libexec/

chown apache:nagios /usr/local/nagios/libexec/check_sip

Configuration (à ajouter dans votre fichier commands.cfg de Nagios):

###### SIP#####

define command{

command_name check_sip

command_line $USER1$/check_sip -H $HOSTADDRESS$ -u sip:user@mondomaine.com

}

Il faut penser à mettre un nom d’utilisateur valide après l’option -u.

Et enfin un exemple de service:

define host{

use generic-host

host_name monserveur

alias Serveur SIP

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description SIP

check_command check_sip

}

Superviser un serveur de fichiers

Un serveur de fichier peut se baser sur de nombreux protocoles. Nous allons nous focaliser sur un serveur Windows ou Linux (avec Samba), souvent utilisé en entreprise grâce au protocole SMB.

Configuration (à ajouter dans votre fichier commands.cfg de Nagios):

###### SMB #####

define command{

command_name check_smb

command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 445

}

Et enfin un exemple de service:

define host{

use generic-host

host_name monserveur

alias Serveur de fichiers

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description SMB

check_command check_smb

}

Superviser un serveur LDAP

Un serveur est souvent le coeur d'un système d'information. C'est donc un poihnt critique à surveiller dans Nagios. Nous allons pour celà utiliser le service check_ldap qui prend en paramètres l'adresse du serveur LDAP ainsi que le DN à tester.

Configuration (à ajouter dans votre fichier commands.cfg de Nagios):

###### LDAP #####

define command{

command_name check_ldap

command_line $USER1$/check_ldap -H $HOSTADDRESS$ -b $ARG1$

}

Exemple de service:

define host{

use generic-host

host_name monserveur

alias Serveur LDAP

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description LDAP

check_command check_ldap!"dc=mondomaine,dc=com"

}

Superviser un serveur de base de données

MySQL et pgSQL sont des serveurs de base de données open-source très répandus. Il existe donc deux plugins spécifiques check_mysql et check_pgsql disponible en standard avec Nagios. Personnellement, je n'utilise pas ces deux plugins car ils peuvent présenter une faille dans votre réseau. En effet, il utilise une requête SQL nécessitant un login/password. Hors ce couple apparaîtra dans la liste des processus lors de l'éxecution du plugin par Nagios.

Je préfère donc utiliser des plugins basés sur check_tcp.

Configuration (à ajouter dans votre fichier commands.cfg de Nagios):

###### SQL #####

define command{

command_name check_pgsql

command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 5432

}

define command{

command_name check_mysql

command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p 3306

}

Exemple de service:

define host{

use generic-host

host_name monserveur

alias Serveur MYSQL

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description MYSQL

check_command check_mysql

}

Superviser un serveur réseau

DHCP et DNS sont la base de votre infrastructure réseau. Nous allons donc utiliser les plugins check_dns et check_dhcp pour les surveiller de prêt.

Configuration (à modifier dans votre fichier commands.cfg de Nagios):

###### DNS #####

define command{

command_name check_dns

command_line $USER1$/check_dns -H www.google.fr -s $HOSTADDRESS$

}

###### DHCP #####

define command{

command_name check_dhcp

command_line  $USER1$/check_dhcp -s $HOSTADDRESS$

}

Pour le check_dns, Je vous conseille de mettre un serveur qui ne risque pas de disparaître du jour au lendemain dans les DNS mondiaux en paramètre -H.

Exemple de service DNS:

define host{

use generic-host

host_name monserveur

alias Serveur DNS

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description DNS

check_command check_dns

}

Exemple de service DHCP:

define host{

use generic-host

host_name monserveur

alias Serveur DHCP

address 192.168.0.100

}

define service{

use generic-service

host_name monserveur

service_description DHCP

check_command check_dhcp

}

Supervision de disques RAID (carte hardware HP Proliant)

Le but est de surveiller le bon état des disques RAID d'un serveur HP Proliant sour FreeBSD. Nous allons passé par un script lancé par NRPE.

Configuration à faire sur le serveur ou se trouve les disques RAID:

cd /usr/local/libexec/nagios/

wget http://www.klintrup.dk/soren/proliant/check_smartarray.sh

chmod 555 check_smartarray.sh

Il faut également modifier ce script pour qu'il soit exécutable par l'utilisateur Nagios (le user utilisé par NRPE).

Ligne 6> PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"

Ligne 7> DEVICES="$(sudo camcontrol devlist|grep "COMPAQ RAID"|sed -Ee 's/.*(pass[0-9]{1,3}).*/\1/')"

Ligne 14> DEVICENAME="$(sudo camcontrol devlist|grep ${DEVICE}|sed -Ee 's/.*(da[0-9]{1,3}).*/\1/')"

Ligne 15> DEVICESTRING="$(sudo camcontrol inquiry ${DEVICE} -D|sed -n -e 's/^[^<]*<\([^>]*\)>.*$/\1/p')"

Puis enfin ajouter la ligne suivante au fichier /usr/local/etc/sudoers:

nagios ALL = NOPASSWD: /sbin/camcontrol

Edition du fichier /usr/local/etc/nrpe.cfg:

Ajout de la ligne suivante:

command[check_raid]=/usr/local/libexec/nagios/check_smartarray.sh

Redémarrage du process NRPE:

/usr/local/etc/rc.d/nrpe2 restart

Configuration de Nagios, avec un nouveau service pour surveiller les disques RAID:

define service{
use                     generic-service
host_name               monserveuravecduraid
service_description     RAID
check_command           check_nrpe!check_raid
}

Supervision de disques RAID 1 logiciel sous FreeBSD

Le but est de surveiller le bon état des disques RAID 1 logiciel d'un serveur sous FreeBSD.

Configuration à faire sur le serveur ou se trouve les disques RAID:

Pour permettre le user nagios à lancer la commande de surveillance des disques RAIS, on doit ajouter la ligne suivante au fichier /usr/local/etc/sudoers:

nagios ALL= NOPASSWD: /sbin/gmirror status

Edition du fichier /usr/local/etc/nrpe.cfg:

Ajout de la ligne suivante:

command[check_raid]=/usr/local/bin/sudo /sbin/gmirror status | tail +2

Redémarrage du process NRPE:

/usr/local/etc/rc.d/nrpe2 restart

Configuration de Nagios, avec un nouveau service pour surveiller les disques RAID:

define service{
use                     generic-service
host_name               monserveuravecduraid
service_description     RAID
check_command           check_nrpe!check_raid
}

Supervision d'un trunk IAX sur un serveur Asterisk

Quand vous voulez relier deux serveurs Asterisk entre eux, il faut utiliser un trunk IAX. Un trunk IAX est en fait un tunnel UDP (port 4569). Si vous voulez vérifier qu'un serveur Asterisk est apte à recevoir un trunk IAX, il faut lui envoyer une commande "POKE" sur le port UDP/4569, il répondra normalement par un "PONG".

Le script check_iax permet d'automatiser ce test.

Une fois le script compilé (il est écrit en C) et installé dans le répertoire /usr/local/nagios/libexec, il faut créer la commande dans Nagios:

# 'check_iax' command definition, 800ms WARNING, 1000ms CRITICAL
define command{
command_name    check_iax
command_line    $USER1$/check_iax -H $HOSTADDRESS$ -w 800 -c 1000
}

Ensuite, il ne reste plus qu'a définir unservice associé à une machine hébergeant le serveur Asterisk.

define service{
use             generic-service
host_name        asterisk
service_description    IAX trunk
check_command           check_iax
}

Maintenant, a vous de jouer et de proposer de nouveaux exemples de services !

  • Pour surveiller les espaces disque AS400 (iSeries) via snmp (check_snmp_storage.pl)

    define command{
    command_name check_ASP_AS400
    command_line $USER1$/$USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C public -m ‘System ASP’ -w 70 -c 80 -f -T pu
    }

    define service{
    use generic-service
    host_name MoniSeries
    service_description ASP
    check_command check_ASP_AS4OO
    }

  • Olivier

    Bonsoir Nico, bonsoir à tous,
    Un grand bravo aux nombreux billets que tu fournis Nico.
    Ils m’ont été d’une grande aide même si, pour installer nagios 3.0.3, je n’ai pu aboutir en les suivants à la lettre.
    (pas assez explicite, à mes yeux, quant aux prerequis pour Ubuntu .8.04.LTS.
    Abscence de certains liens symboliques cf http://www.nagios-wiki.org )

    En effet je manquais d’info quant aux prerequis (serveur LAMP & librairies DIVERSES) pour installer sur Ubuntu 8.04.LTS…Je suis un NOVICE CONFIRMé 😉 sous Linux

    J’ai abouti en ayant recours à tes billets, ton blog & d’autres sites, notamment nagios-wiki.org, après avoir corrigé qques erreurs sur la procédure stipulée sur ce dernier. Encore un grand merci.

    Je profite de ce message pour t’indiquer qu’une erreur semble s’etre glissée dans ta procédure concernant la commande check_http_8080.
    En effet , sauf erreur de ma part lors de mes tests et contre tests, il faut IMPERATIVEMENT LAISSER UN ESPACE avant -p

    SINON SYNTAXIQUEMENT LA CONFIGURATION EST OK MAIS LE COMPORTEMENT DE NAGIOS SE RAMENE A UN COMPORTEMENT PAR DEFAUT c’est à dire Adresse=HOSTADRESS et port=80 ce qui engendre « Connexion refusée » en commentaire sur le service check_http.

    Il me reste à tester encore qques services, notamment service MySql. Ce sera mon menu de demain, puis je pense que j’en aurai terminé avec nagios…et je poursuivrai avec pnp…donc à bientôt je pense…
    PS J’ai été effrayé par l’instal de cacti…peut etre y reviendrai-je + tard 😉

    • clavis

      Bonjour A tous je découvre depuis peu cette magnifique communauté et c’est avec plaisir que je vous rejoins,

      un grand remerciement a Nico et a tous ceux qui participent ici

      je me suis mi a Nagios y a quelques jours me suis bien cassé les dent mais mon nagios 4.0.1 fonctionne a merveille , j’ai intégré ensuite nagvis et Nconf (je me suis fait des tuto juste a suivre et hope ca fonctionne pour l’installation et configuration de nagios 4.0.1 Nconf et nagvis , pour ceux a qui ca intéresserai sous DEBIAN 7)

      j’ai fait quelques test de supervision de mon Serveur ESXI tout a l’air de bien fonctionner

      je commence un Stage Mardi prochain et justement le projet est Nagios (y a tout a faire je vais choisir biensur la config que j’ai cité au dessus) et le responsable m’a demandé en premier lieu une supervision des switch 3com port up, ports down etc (je ne sais pas par ou commencer ) je galère aussi au niveau check_ldap que je ne trouve pas dans /usr/local/nagios/libexec

      Help si vous avez les infos nécessaires( des tutos) pour arriver a superviser un serveur ldap (active directory)
      et des switch 3com ca sera l’aboutissement de mon rêve 🙂
      Merci d’avance pour les réponses

  • Pour surveiller un serveur web sur un port différent que le port 80 on peut aussi changer la commande originale en mettant le numéro de port en argument
    command_line $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$
    et ajouter le service suivant
    host_name http://www.mixin.com
    service_description check process on http://www.mixin.com
    check_command check_http!3500
    Celà évite de dupliquer la commande et de pouvoir l’utiliser pour différent service sur un même serveur web

  • goldenpark

    Bonjour, slt tt le monde
    jé installé nagios-3.0.3 mé j arrive pa a continuer l’installation des plugins-nagios-1.4.12 et voila la procedure ke jé fai:
    #./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin
    #make
    il commence a compiler ………
    jusqua cett erreur
    make[1]: *** [check_pgsql.o] Erreur 1
    make[1]: Quitte le répertoire `/usr/src/nagios-plugins-1.4.12/plugins’
    make: *** [check-recursive] Erreur 1

    #make install
    check_pgsql.c:44:30: pg_config_manual.h: Aucun fichier ou répertoire de ce typemake[1]: *** [check_pgsql.o] Erreur 1
    make[1]: Quitte le répertoire `/usr/src/nagios-plugins-1.4.12/plugins’
    make: *** [install-recursive] Erreur 1
    la mm erreur aussi

    il ya des check ki sont bien installés comm ping .. et d’autres ne sont pas installés comm check_snmp,check_swap,…
    svp si kelkun a une idée a ce propos et merci d’avance

  • Slyers

    Bonjour à tous,

    Merci à nico pour ce blog qui est une bouée pour tous les utilisateurs de Nagios, et qui permet d’échanger son expérience.
    Concernant ce dernier point, j’aurais justement besoin d’un coup de main.
    Je travaille sous Debian, avec Nagios 3.0.2, je supervise plus d’une centaine de service, j’ai donc mis en place les notifications (mails et sms), j’ai pataugé pour pnp (mais ça fonctionne), donc jusque là tout va bien.
    Le soucis, c’est que je souhaiterais superviser mes bases Oracle réparties sur d’autres serveurs. Déjà, ayant contacté un support technique d’un partenaire Oracle, j’ai installé le serveur Oarcle sur ma machine afin de pouvoir profiter de la commande tnsping, non inclus dans les clients…
    Ensuite je l’ai configuré proprement (suivant tuto oracle), et j’arrive à utiliser sans problème le check_oracle en ligne de commande avec tous mes utilisateurs (root, nagios, oracle, www-data….) mais quand j’essaie de passer ce test dans Nagios, l’interface web me dit  » Cannot determine ORACLE_HOME for sid MABASE  » comme si je n’avais pas installé Oracle. Je précise aussi que j’ai configuré correctement le tnsnames.ora (je le sais car ça fonctionne en ligne de commande).

    Donc si quelqu’un peut m’apporter son aide, ce serait formidable. Merci d’avance.

  • Slyers

    Re-bonjour à tous,
    Après un petit tour sur le net, je vais pouvoir vous faire profiter de la résolution de mon problème.
    Comme je l’ai dit, j’utilise Nagios 3.0.2.
    Voilà donc la soluce pour monitorer vos bases Oracle, dans le cas où ça fonctionne en ligne de commandes mais pas dans l’interface web:
    Dans resource.cfg, mettre:
    $USER2$=ORACLE_HOME=chemin_absolu_de_ORACLE_HOME[un espace ici] /usr/local/nagios/libexec
    Voila, et le tout sur la même ligne.
    Pour connaitre le ORACLE_HOME: echo $ORACLE_HOME
    Pour info, j’ai trouvé la soluce ici: http://forums.bfl-solutions.eu/viewtopic.php?p=30832#30832

    Bonne journée, Tcho.

  • @tous: juste pour vous signaler l’ouverture du forum de Nicolargo ou vous pouvez poser vos questions !

    http://forum.nicolargo.com

    A bientôt !

    Nicolargo

  • arslan

    Bonjour à tous,
    je veux faire un check file sur ma machine local .
    j’ai ajouter les commande pour le check sur les fichier

    services_nagios2.cfg et localhost_nagios2.cfg

    mais ca n’afiiche rien dans la page web de nagios

    que dois je faire?

    # FILE
    define hostgroup {
    hostgroup_name file-servers
    alias FILE servers
    members localhost
    }

    # recherche fichier
    define service {
    hostgroup_name file-servers
    service_description FILE_age
    check_command check_file_age -f /home/asiyoucef/Bureau/test
    use generic-service
    notification_interval 0 ; set > 0 if you want to be renotified
    }

  • @arslan: vérifie que les droits de tes fichiers sont bon. Il ne faut pas oublier que Ngios lance les plugins en utilisant un utilisateur spécifique…

    Tu peux aussi poser ta question sur le forum:

    http://forum.alcasat.net

  • arslan

    Merci nicolargo. j’ai réussi a intégrer le plugin.
    Il fallait créer in fichier check-file.cfg et l’ajouter dans le dossier des config.
    ciao

  • SUIKOX

    Bonjour,

    je veux monitorer un serveur asterisk et j’ai mis ceci pour les droits comme dans le tuto

    /usr/src/nagios-check_sip-1.2# chown apache:nagios /usr/local/nagios/libexec/check_sip

    chown: usager invalide: `apache:nagios’

    est-ce que je peux remplacer apache par www-data ?

  • Bonjour et merci pour ces exemples.

    Pour tester ma base PostgreSQL, j’utilise quant meme check_pgsql car connecte uniquement le port TCP (ou le pipe) ne me parait par pertinent car ca ne teste pas si la database est réactive.
    (Je n’ai jamais eu ce genre de probleme avec PostgreSQL mais j’ai deja eu des pb avec d’autres applies qui « hangs » avec évidement les ports toujours présents).

    La solution que j’utilise est donc :
    – je conserve l’authentification par « ident »
    – je cree un user « nagios » sur la base que je veux monitorer comme ca, je teste reelement cette base et non la base template … juste au cas ou qq’un a droper ma base ;D
    – ce user « nagios » n’a que le droit « CONNECT » et ne peut donc rien faire sur la db …

    Voili voila …

    Bye

    Laurent

  • Moxxxxx

    Bonjour,

    j’ai un peu de mal avec les « check » sur Nagios.

    Le ping et le http fonctionnent bien, mais le snmp-linux-load_average, le snmp-linux-memory, le snmp-linux-swap (dans les templates) m’affichent « unknow » suivi d’un mesage d’erreur :
    – « UNKNOWN: No response from remote host » pou le check load ;
    – « Utilisation:check_snmp -H -o [-w warn_range] [-c crit_range] » pour le check memory ;

    J’ai aussi un message « check_tcp: Le numéro du port doit être un entier positif » pour les check tcp.
    Et ce message « Utilisation: check_ldap -H -b [-p ] [-a ] [-D ] » pour le check ldap.

    je pense que tout cela à avoir avec le snmp, mais je ne sait pas trop comment régler le problème. Le service snmp installé sur les serveurs est bien configuré pour recevoir des requêtes du réseaux et reçoit les requettes envoyé par Nagios.

    Mais j’ai tous ces messages d’erreurs sur Nagios.

    Merci d’avance

    P.S.: pouvez-vous me dire ce que représentent les « argument example » dans les lignes de commande. Est-ce que cela à avoir avec les $ARG1$, $ARG2$, … ?

  • Ben

    En terme de check nagios, j’avais créé un module qui check si le démon rsync est activé sur un serveur.

    Je me souviens que je faisais le check en 2 étapes.

    La première vérifiait que le port était ouvert en TCP et s’il l’était, je lançais une commande rsync erronée sur le serveur pour voir si le démon répondait bien.

    J’ai aussi adapté le script check_mail qui récupère le nombre de messages en fil d’attente pour l’adapter à nullmailer.

    Mon problème actuel est de lancer une commande lorsqu’un service passe critique et d’en lancer une autre lorsque le service revient à la normale, de sorte à injecter une variable/script pour relancer un service sur la machine dont le service est passé critique.

    Je ne sais pas si c’est configurable ? ou si le mieux est de surcharger la commande qui check le service pour y ajouter ce processus supplémentaire.

    Existe t il un moyen simple ?
    Ou peut être de faire cela via un autre système ?

  • Regarde du coté du paramètre « Event Handlers » de nagios qui te permets de lancer un shell lors d’un changement d’état d’un service….

  • arnaudde

    bonjour
    je souhaite monitorer mon serveur as/400 via nagios.
    J’ai récupéré des pluging via http://www.stic-online.de/stic/html/as400en.html
    J’obtiens bien qq retour comme le nb de jobs actifs, cpu, mem, Storage
    Tout ca marche via java et une connexion distante via telnet

    N’etant pas un dev java, je m’oriente vers une auter méthode car je souhaite pouvoir faire la meme chose autrement comme par ex savoir si un job est actif ou pas.
    en commande as400 , c’est : WRKACTJOB SBS(R3_01) JOB(SAPOSCOL)

    j’ai reusssi à avoir un retour intéressant via rexec :
    rexec -l nagios -p nagios ipmonserveur « WRKACTJOB SBS(R3_01) JOB(SAPOSCOL) »
    –> Le travail SAPOSCOL Utilisateur QUA01 est *ACTIVE dans R3QUA400/R3_01.

    mais je ne sais pas comment récuperer tout ca et l’intégrer dans Nagios.
    Quelqu’un peut-il m’aider ?

    Arnaud

  • arnaudde

    j’ai trouvé la solution
    créer des pluging personnels en dev un bash qui controle le retour de la commande lancée par REXEX
    rexec -l nagios -p nagios 172.16.X.X « WRKACTJOB SBS(R3_02) JOB(SAPOSCOL) »

  • Fabien

    Bonjour a tous ! tout premierement je remercie grandement Nico pour ce site qui est vraiment génial.

    J’ai un pb assez spécifique et je ne trouve pas la solution je ne savais pas trop ou poser ma question donc je la pose ici !!

    Je fais des check_snmp_int.pl sur des switch nortel 4548GT ou je test si les ports sont up ou down, ca marche tres bien avec un bon affichage sur centreon ! Je n’ai qu’un seul probleme, quand je veux test le port 1 , 2 ,3 ou 4 en mettant comme commande :

    ./check_snmp_int.pl -H XXX.XXX.XXX.XXX -C public -n Nortel Ethernet Routin Switch 4548GT PWR Module – Unit 1 port 1 ( premier switch de ma pile )

    il me sort tous les états des ports 1, 10 ,11 ,12 ,13 … 19 j’ai donc trouvé qu’il fallait mettre un \s devant le numero de port pour qu’il prenne en compte seulement le port 1.

    En commande nagios aucun pb ca fonctionne, quand je fais un test de commande sur Centreon ca marche aussi sans probleme mais dès que je met cette argument dans mon service il me met qu’il reconnait pas l’interface unit 1 port 1 s

    Je ne trouve rien sur le net par rapport a ca et c’est assez Enervant 🙂

    Si jamais vous aviez une solution ça m’aiderait vraiment !

    Merci D’avance
    =)

    • Fabien

      .

    • AlexRez

      Met \\s et non \s 🙂

      • Fabien

        Merci :)))) j’ai trouvé la solution il y’a quelque semaines déja mais c’est vraiment les détails qui peuvent te faire galérer pendant des heures si tu trouves pas le petit post sur un forum ou le sujet a été traité ^^

  • ArraKyN

    Quand est il d’un check FTP ?

  • Ben

    Il y a un check_ftp normalement dans les plugins de nagios. Non ?

    Sinon, un check du port, et eventuellement une tentative de connexion « ftp » via la commande devrait te permettre d’y arriver.

    Ou alors, je n’ai pas compris la question.

  • petite question,

    pour superviser un serveur de mail avec de l’imap/pop/smtp en SSL (bah oui c’est moche un serveur de mail sans SSL) quels plugins faudrait-il utiliser ?

    pour le moment le plugin par défaut sur un check_smtp avec le -S passe sans soucis, mais le pop et l’imap avec la même configuration (donc avec l’option -S) me ressort un code erreur suivant : Le socket na pas répondu dans les 10 secondes (pour le pop) et pour l’IMAP : CRITICAL – Cannot make SSL connection

    l’un d’entre vous aurait-il réussi à faire de la supervision sur de l’imaps et du pops ?

    et à quoi servent les plugins simap, spop et ssmtp ? ce sont les versions SSL des plugins imap/pop/smtp? devrais-je utiliser ceux là ?

    merci pour vos réponses !

  • imadcoco

    mercii bq pr ce toutu mé je veux savoir comment superviser un service flexlm avec nagios

  • Ben

    J’aime bien cette fil 😉

    flexlm ???
    http://www.developpez.net/forums/d405422/systemes/windows/windows-xp/serveur-licence-flexlm/

    C’est de la gestion de licences, c’est bien ça ?
    Nagios est super ouvert, dans la mesure où tu peux lui faire réaliser un peu tout et n’importe quoi.

    Imagines que tu es une cafetière avec une sortie snmp et tu peux lancer ton café à distance depuis nagios ou dire à nagios de surveiller si la café est prêt.

    Mieux, avec une gestion d’incident, tu peux même éventuellement, si tu en as un bien sur, demander à ton robot d’aller faire le plein de la cafetière.

    Il faut donc analyser ton programme.
    Comment récupérer tes informations ?
    Un port ? une commande ? un script à exécuter coté serveur à intervalles régulier ?

    Nagios avec un check sur une url par exemple peut déclencher un script. la réponse locale du script servant ensuite à ton traitement.

    J’ai par exemple fait un miniscript qui permet d’interroger postmaster.free.fr pour savoir si une ip de serveur SMTP est bloquée ou non…

    Si un check est déjà prêt tu as de la chance.
    Sinon, comme dit… analyse comment tu peux produire un retour de ton application et nagios saura aller regarder ce que tu veux.

    • imadcoco

      merci ben mé je veux savoir cmt ?
      voila mes fichier de configuration

      # ‘check_flexlm’ command definition
      define command{
      command_name check_flexlm
      command_line $USER1$/check_flexlm -F ‘$ARG1$’
      }
      define host{
      use windows-server ; Inherit default values from a template
      host_name winserver ; The name we’re giving to this host
      alias My Windows Server ; A longer name associated with the host
      address xx.xx.xx.xx ; IP address of the host
      }

      define service{

      use generic-service

      host_name winserver

      service_description flexlm

      check_command check_flexlm -F license.dat

      }

      jai installer et configurer sur ma machine windows nsclient++ est ce que je doit ajouter qlq chose ??

  • Ben

    Je ne connais pas, désolé.

    • imadcoco

      pas de souci merci en tt cas 🙂

  • Ben

    Ce que tu peux toutefois faire, c’est identifié le script de check et déjà le tester à la main, pour voir ce qu’il est censé recevoir comme paramètre.

    Editer le help avec -h aussi.

    Une fois que tu as le mode d’utilisation de la commande, tu peux l’ajouter comme command, puis comme service.

    C’est comme ça que j’ai ajoute un check lag mysql sur des serveurs de réplication mysql ou sur le plus incompréhensible le check_snmp où quand tu ne connais pas trop le chemin que tu dois tester, tu as du mal à trouver la commande et ses variables :).

    Bonnes recherches et n’hésites pas à remonter l’info ici, cette fil a souvent quelques remontées bien pratiques à l’usage.

    • imadcoco

      mercii bq ben 🙂

  • Aaron5

    Merci Nicolargo pour l’exemple de check pour le RAID avec le script. C’est vraiment super pratique.
    Par contre tu sais si il y a un moyen de récupérer toute la ligne de status (qui s’affiche quand on teste le plugin en ligne de commande)?

    • Le seul moyen est de modifier le script en forçant l’affichage de tout les messages.

      • Aaron5

        Merci je vais voir si j’arrive à faire la modif et je la posterai si ca fonctionne.

  • Bonjour,

    Tout d’abord merci pour ces tutos très détaillé sur NAGIOS !

    Je souhaiterais pouvoir avoir une vue depuis Nagios sur une base de donnée Microsoft SQL Server 2005, savez vous comment faut-il procéder ?

    En vous remerciant par avance,

  • ammoun

    j’arrive pas a compiler cet prog
    #include
    #include
    #include
    #include
    #if CONFIG_MODVERSIONS==1
    #define MODVERSIONS
    #include
    #endif

    int main(void)

    { printf(« helloworld!!\n »);
    return 0;
    }
    il medonne les erreur suivant
    [root@localhost amina]# gcc -o world_2 world_2.c
    world_2.c:4:26: erreur: linux/module.h : Aucun fichier ou répertoire de ce type
    comment je peux le corrigé

  • faiza

    bonjour

    ai installer nagios versions 3.0.2 et je voudrais
    superviser les service comme mémoire , espace disk sur un poste client comment je doit faire merci de me répondre

  • fvallerand

    Je dois lancer un ordre SQL pour vérifier le fonctionnement de 3 programmes déclenchés par le planificateur de tâches d’un serveur IIS sur une base Oracle.
    Mon ordre SQL est le suivant « SELECT error FROM DBAMES.v_mes_check ».
    Si l’ordre ne retourne rien : service OK.
    S’il retourne des messages du type « DP2Erp is not running » (par exemple) : service critique.
    J’ai recherché sans succès différentes choses sur les différents plugins existant.
    Pour information, ma version de Nagios est la 3.4.1 et je fonctionne également avec Centreon 2.3.9.

  • clavis

    Bonjour ce forum est toujours actif ?

  • clavis

    Bonjour a Tous
    je cherche des infos tuto pour la supervision avec nagios 4.0.1 de switch 3com et un serveur Ldap (active directory 2008 )
    j’ai installé Nagios 4.0.1 Nconf et nagvis tout fonctionne sans erreurs j’ai testé la supervision de mon serveur ESXI ça fonctionne , mais aucune idée pour la supervision des ports des switch en utilisant les check_commands bien-sur soit en passant par Nconf soit en lignes de commandes
    Help please 🙂
    Merci d’avance

  • Pingback: Supervision | Pearltrees()