Announcement

Collapse
No announcement yet.

S.M.A.R.T. et SNMP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • S.M.A.R.T. et SNMP

    Bonjour,

    Est-ce que certains ici ont déjà fouiller un peu pour surveiller l'état de DD en utilisant SMART.

    Il existe le plugin check_smart (des contribs du projet nagios-plugins) qui vérifie l'état d'un disque en utilisant la commande smartctl du projet SmartMonTools :
    Code:
    bibi:# ./check_smart.pl -t -d /dev/hda
    SMART overall-health self-assessment test result: PASSED
    Ce plugin correspond tout à fait à ce que je voudrais faire, mais... c'est un script local.

    Comme je ne souhaite pas déployer de NRPE (ca fait encore un truc de plus à installer sur les serveurs, alors qu'on utilise déjà largement les agents SNMP), je voudrais savoir si quelqu'un à une solution pour avoir un check d'un DD distant via SNMP.

    La seule idée que j'ai dans l'immédiat, c'est d'utiliser le démon Smartd du projet SmartMonTools, configuré pour exécuter un script à chaque détection d'un problème. Il me resterai alors plus qu'à écrire ce script pour qu'il envoie des traps SNMP à ma station de supervision (càd 3 lignes max ^^).
    Ca évite de ré-inventer la roue quant à l'interprétation des valeurs SMART (le démon s'en charge), mais bon ça fait un démon en plus sur tous mes serveurs, même si celui-ci doit être ultra-léger, surtout si il est configuré pour faire un test SMART une fois par jour à 3h du mat' ....

    Quelqu'un à d'autre idée pour faire ça sinon ?
    De même, je suis preneur de tout retour sur l'utilisation de Smartd, et de son intégration dans un processus de supervision plus large.
    Last edited by c0bw3b; 17 May 2007, 00:24.
    NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

  • #2
    plugin :

    check_snmp_storage.pl !!
    un bon plugin pour du check sur les espaces disque

    ou sinon, NSCA en passif pour ne pas utiliser NRPE mais il faut le déployé partout ce qui ne resoud pas vraiement ton problème...

    Gaé

    Comment


    • #3
      Voui j'utilise déjà ce plugin, pour remonter l'espace disque libre toutes les 24H.

      Mais là ce que je veux surveiller, c'est la santé matérielle des DD des serveurs. Donc SMART est nickel pour ça.
      Me faut juste remonter les infos..
      NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

      Comment


      • #4
        Tu peux lancer ton script local à partir de ton serveur nagios distant avec le plugin check_by_ssh.

        Sinon tu peux aussi intégrer des données provenant de tes propres scripts dans le serveur SNMP afin de remonter les informations que tu souhaites (sur le serveur SNMP fourni en standard sur Linux au moins)

        Cf ce lien pour un exemple d'intégration des plugins Nagios dans SNMP :

        http://www.kilala.nl/Sysadmin/retrieve_custom_snmp.php

        Comment


        • #5
          Ah bah voilà qui est intéressant ! :cool:
          J'avais vaguement vu passer qu'on pouvait demander au démon Net-SNMP d'exécuter des scripts locaux, mais je savais pas que le résultat du script était ensuite intégrer à la MIB de l'agent !

          Je crois que cette solution va me plaire ! Je vais essayer de la tester Vendredi.
          Le seul truc que je vois à priori, c'est que j'utilise SNMPv3, donc au lieu d'utiliser le script donné sur ta page, je vais simplement en faire un qui fait appel deux fois de suite au check_snmp déjà existant. Un coup pour lire l'OID déclenchant l'appel au script, le second pour récupérer la sortie du script.

          PS : check_ssh j'y pensais un peu, mais NRPE et NSCA ont justement été écrits pour éviter le recours à SSH, qui oblige à gérer les clés... :/
          NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

          Comment


          • #6
            oui moi aussi j'ai mis ca en place chez des clients qui ne veulent pas de NRPE..

            ca marche pas mal, on peut faire plusieurs choses, parser des logs avec des regexp, remonter des load, des tailles de disque, checker des procs... Vraiment sympa ces nouvelles fonctionnalités de Net-SNMP

            pour executer un script c simple :

            mettre dans la conf :

            Code:
            exec name script
            ou le name c le nom du check, comme si ct le nom de la commande sous NRPE et le script est le path complet du script... genre /usr/local/nagios/sbin/check_smart.pl

            et apres hop ca apparait dans la Mib
            Julien Mathis
            Centreon Project Leader
            www.merethis.com |

            Comment


            • #7
              J'ai testé ça ! C'est ouvre vraiment pas mal de possibilités !

              Alors au début j'ai galéré pcq je spécifiais un OID précis sous lequel monté les sorties du script local, comme expliqué dans le lien de daikinee, mais bon en prenant un OID d'enteprises au pif () c'était pas terrible.

              En fait comme le dis julio c'est encore plus simple : on ne précise pas d'OID, et tout est "monté" sous la table ucdavis.extTable, càd l'OID .1.3.6.1.4.1.2021.8.

              Donc par exemple pour mon histoire de SMART, j'ai rajouté dans le fichier de conf de mon agent :
              Code:
              exec CheckSmart /root/check_smart.pl -t -d /dev/hda
              Et depuis ma station de supervision je peux faire :
              Code:
              :/usr/local/nagios/libexec# snmpwalk -v3 -u login -n "" -l authNoPriv -A password monIP .1.3.6.1.4.1.2021.8.1
              UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
              UCD-SNMP-MIB::extNames.1 = STRING: CheckSmart
              UCD-SNMP-MIB::extCommand.1 = STRING: /root/check_smart.pl
              UCD-SNMP-MIB::extResult.1 = INTEGER: 0
              UCD-SNMP-MIB::extOutput.1 = STRING: SMART overall-health self-assessment test result: PASSED
              UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0)
              UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
              Ou plus simplement :
              Code:
              :/usr/local/nagios/libexec# snmpget -v3 -u login -n "" -l authNoPriv -A password monIP .1.3.6.1.4.1.2021.8.1.101.1
              UCD-SNMP-MIB::extOutput.1 = STRING: SMART overall-health self-assessment test result: PASSED
              Et voilà c'est parfait ! C'est exactement ce que je voulais. Je vais pouvoir vérifier la santé de mes DD toutes les 24H !

              Je n'ai pas encore testé de mettre plusieurs exec pour plusieurs scripts, mais à priori ça devrait atterir sous .1.3.6.1.4.1.2021.8.2 puis 3 etc...

              PS : en plus, vu que c'est le démon snmpd qui appelle le check_smart, et donc la commande smartctl, il n'y a pas de problèmes de droits sur la commande smartctl, donc pas de visudo à faire !
              Last edited by c0bw3b; 22 May 2007, 11:05.
              NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

              Comment


              • #8
                Hum ca semble sympa ca, ya moyen de nous faire un petit article sur le wiki ????
                Centreon 2.x

                Comment


                • #9
                  Pas de problème.
                  Indiques-moi juste dans quelle rubrique, pcq je sais pas exactement comment il est organisé ce WiKi.
                  NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

                  Comment


                  • #10
                    Et voilà c'est fait !

                    Et j'ai ajouté un petit lien sur la page Tutorials
                    NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

                    Comment


                    • #11
                      Niquel merci j'en avai besoin.
                      Par contre ce que je voudrai c'est de tester la présence de 3 disque dur qui sont en RAID 5 sur un serveur linux. Un RAID matériel, vous croyez que cela sera faisable de voir l'état des 3 DD. Sachant que le raid est gérer par un carte HP Smart Array 6i
                      Master Sécurité des Systèmes d' Information
                      Nagios v2.9 ||Nagios-plugins 1.4.9 || snmp v2c || Oreon 1.4 INside || ODS || 59 hosts && 128 services
                      || Nagios Checker


                      [email protected] vs Jonhbob le choc des GDR ^^

                      Comment


                      • #12
                        Tout retour sur le tuto est bienvenu.

                        Pour ton RAID, SmartMonTool sait gérer certains contrôleurs RAID, mais je crois que ton HP ça va pas passer... :/

                        L'autre solution c'est les outils propriétaires de HP, éventuellement en utilisation conjointe avec un éventuel plugin sur NagiosExchange, à voir ce qui existe.
                        NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

                        Comment


                        • #13
                          check_snmp_cpqHealth.pl dans la partie dev
                          Intel(R) Xeon(TM) CPU 3.4GHz - MemTotal : 1034476 kB
                          Centreon 2.4.1 - Nagios 3.2.1 - Nagios Plugins 1.4.15 - Manubulon Plugins tuné
                          Fedora Core 5 - 2.6.20-1.2320

                          Comment


                          • #14
                            Exact !!

                            Le pire c'est qu'on a déjà répondu à cette question, hein Donki.
                            NMS avec Nagios 2.9 - Nagios-Plugins 1.4.8 - Oreon 1.4-p5

                            Comment


                            • #15
                              Oui mais j'arriv pas a faire fonctionne ton plugin...
                              Ca me renvoi l'erreur ERROR cpqHoMibStatusArray
                              you should install cpq snmp client je sais pas ce que c'est
                              Master Sécurité des Systèmes d' Information
                              Nagios v2.9 ||Nagios-plugins 1.4.9 || snmp v2c || Oreon 1.4 INside || ODS || 59 hosts && 128 services
                              || Nagios Checker


                              [email protected] vs Jonhbob le choc des GDR ^^

                              Comment

                              Working...
                              X