Surveiller vos espaces disques SMB avec Nagios

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

Une petite astuce pour surveiller facilement avec Nagios, l'espace disque disponible sous ses serveurs Windows ou Samba (protocole SMB).

La première chose à faire est de tester le plugin en ligne de commande. Par exemple pour surveiller l'espace disque monpartage du serveur monserveur (\\monserveur\monpartage) en utilisant le couple login/password monuser/monpassword:

/usr/local/nagios/libexec/check_disk_smb -H monserveur -s monpartage -u monlogin -p monpassword

Il est possible que vous rencontriez l'erreur suivante sous Ubuntu 8.10:

Dans ce cas, je vous conseille la lecture de cette discussion dans le forum pour corriger le problème.

On commence par éditer le fichier commands.cfg pour ajouter le plugin:

define command{

command_name    check_disk_smb

command_line    $USER1$/check_disk_smb -H $HOSTADDRESS$ -s $ARG1$ -u $ARG2$ -p $ARG3$

}

Puis on utilisera la définition de service suivante (à mettre par exemple dans le fichier objects/servers.cfg):

define service{

use                     generic-service

host_name               monserveur

service_description     Disk space

check_command           check_disk_smb!servernas!monpartage!monuser!monpassword

}

Un alerte d'avertissement (warning) sera générée si l'espace disque est inférieur à 15%, une alerte critique (critical) si cette valeur passe à 5%.

  • Chamac’h

    En complément, l’idéal est d’utiliser les macros pour le « stockage » de l’authentification. Ainsi, on centralise le tout dans un fichier unique que l’on peut sécuriser.

  • Slyers

    Bonjour,

    Pour surveiller l’espace libre restant sur les disques durs distants, sans rien installé sur les serveurs, y a t’il autre chose que SNMP?

    Merci.

  • @Slyers – la solution proposée dans ce billet ne se base pas sur SNMP. Le plugins check_disk_smb fait lui même un montage SMB et récupére l’espace disponible.

  • @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

  • Ron’s

    Impeccable, pas besoin d’activer SNMP sur mes serveurs, fonctionne parfaitement!!
    Merci Nico!

  • Ron’s

    Désolé je n’ai pas réussi à éditer mon précédent commentaire.
    J’aimerais ajouter une petite astuce que j’ai trouver après quelques tests, et qui pourrait aider certaines personne.

    Si dans votre entreprise, comme la mienne, vos partage samba sont caché avec un $ à la fin du style \\srv_à_test\Shared$.
    Pour la déclaration du service le $ est mal interprété, il faut la syntaxe suivante:

    define service{
    use generic-service
    host_name srv_à_test
    service_description Disk space
    check_command check_disk_smb!Shared$$!monuser!monpassword
    }

    Simplement mettre deux $.

    Cdt,

    Ron’s.

  • BIGRed

    Bonjour a tous

    tout d’abord merci a nico pour ces tuto très instructifs.

    Je bloque sur un point, pourriez vous peut etre m’eclairer
    J’essai de superviser un serveur windows distant, en entrant son adresse ip (212.XXX.XX.XX) dans le dossier de configuration windows.cfg
    mais son état est toujour retourné a Down!!!!

    Quelqu’un aurait une solution??

  • BIGRed

    Doit-on obligatoirement avoir le check_nrpe???

  • BIGRed

    Je pense que mon problème vient de la configuration du firewall???

    qqun pour m’eclairer??

  • krims

    Salut Nico !

    Déjà merci pour ce super blog autour de Nagios, très complet et instructif.

    J’ai une question concernant un serveur samba que je voudrais superviser.
    Je suis sous CentOs avec un nagios3 et dernier plugins en date la 1.14 me semble-t-il.

    Tu as écris : Un alerte d’avertissement (warning) sera générée si l’espace disque est inférieur à 15%, une alerte critique (critical) si cette valeur passe à 5%.

    Mais pourtant je ne vois pas de déclaration dans la commands, faisant référence a une éventuelle remontée d’information concernant l’espace disque ?

    Je voudrais simplement vérifier l’espace libre restant sur des partitions sur mon serveur samba,et recevoir des avertissements en cas d’espace trop insuffisant. ( sans pass ou user si possible )

    Merci de m’informer sur le sujet, à moins que j’ai loupé un épisode…

    • Ce sont les valeurs par défaut définies directement dans le script /usr/local/nagios/libexec/check_disk_smb.

      Tu peux jouer sur ces argument en ajoutant les options -c (valeur critique) et -w (valeur warning) dans la définition du fichier commands.cfg.

      • krims

        Très bien, merci de l’info super rapide !

        Au plaisir.

  • krims

    RE : Ah oui dernière petite question.Je viens t’embeter encore un peu…

    J’ai un autre soucis concernant ce check_disk_smb.
    Nagios me retourne ce message d’erreur  » Invalid share name \192.XXX.XXX.X

    ma commands.cfg est defini comme ceci :

    define command{

    command_name check_disk_smb

    command_line $USER1$/check_disk_smb -H $HOSTADDRESS$ -s $ARG1$

    }

    et mon service comme ceci :
    define service{

    use generic-service

    host_name monserveursamba

    service_description Disk space

    check_command check_disk_smb!monserveur!/home!

    }

    J’ai tenter le /home , home! /home!
    Rien n’y fait il doit me manquer quelque chose, il ne reconnait pas ma partition home.

    Merci d’avance.

    • krims

      J’ai trouvé la solution, après des heures de batailles !

      Si vous avez un problème qui persiste concernant une erreur  » Invalid share name « .
      esseyer de remplacez -H $HOSTADDRESS$ par -H $ARG1$
      Et tout devrait rentrer dans l’ordre ! ! !

      PS:
      J’avais un autre soucis, que j’ai réglé au passage.
      Je passes sur un serveur LDAP et samba.
      Et j’ai du ajouter à certains groupes de travail exemple : au groupe « toto » qui à une partition /data1
      l’utilisateur nagios pour qu’il puisse retourner la valeur d’espace disque restant !

      Voila en espérant que ca aidera des personnes dans la galères ^^

      Krims !

  • Eth0

    Bonjour Nicolargo et bjr aussi aux autres; en fait j’ai un petit souci avec mon partage Samba
    J’autorise une adresse IP à se connecter 193.0.0.240 à se connecter au partage les autres non , cependant j’y arrive quand méme avant d’autres utilisateurs. Voilà ci dessous mon fichier smb.conf

    [global]
    workgroup = mjc1
    dns proxy = no
    log file = /var/log/samba/log.%m
    panic action = /usr/share/samba/panic-action %d

    [part2]
    path = /home/epn4/Bureau/part2
    read only = yes
    hosts allow = 193.0.0.240
    interfaces = 193.0.0.254/255.255.255.0
    bind interfaces only = yes

    [partage]
    path = /home/epn4/Bureau/partage
    read only = no
    hosts allow = 193.0.0.240
    interfaces = 193.0.0.254/255.255.255.0

    Merci bien à vous!!!