Announcement

Collapse
No announcement yet.

SNMP sur AIX

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

  • mij
    replied
    pb AIX snmp, table HOST-RESSOURCE

    bonjour,

    je me permet de poster à la suite de ce sujet, car j'ai besoin d'interroger un serveur AIX 5.2 via snmp, et cela me donne du fil à retordre !

    mon but principal est de récupérer les informations de stockage dans le MIB
    ces infos sont normalement dispo grace au service "hostmibd" sur AIX
    le plugin suivant me permet de le faire à merveille sur des linux : http://nagios.manubulon.com/snmp_storage.html

    voici où j'en suis :
    les services suivant fonctionnent :
    snmpd tcpip 68506 active
    snmpmibd tcpip 113626 active
    dpid2 tcpip 67784 active
    hostmibd tcpip 110124 active
    aixmibd tcpip 127350 active


    voici mon snmpdv3.conf
    Code:
    VACM_GROUP group1 SNMPv1  ccub  -
    
    VACM_VIEW defaultView        internet   		- included -
    
    # exclude snmpv3 related MIBs from the default view
    #VACM_VIEW defaultView        snmpModules		- excluded -
    VACM_VIEW defaultView        1.3.6.1.6.3.1.1.4          - included -   
    VACM_VIEW defaultView        1.3.6.1.6.3.1.1.5          - included -  
    VACM_VIEW defaultView        1.3.6.1.2.1		- included -  
    
    # exclude aixmibd managed MIBs from the default view
    #VACM_VIEW defaultView        1.3.6.1.4.1.2.6.191	- excluded -
    
    VACM_ACCESS  group1 - - noAuthNoPriv SNMPv1  defaultView - defaultView -
    
    NOTIFY notify1 traptag trap -
    
    TARGET_ADDRESS Target1 UDP 127.0.0.1       traptag trapparms1 - - -
    
    TARGET_PARAMETERS trapparms1 SNMPv1  SNMPv1  ccub  noAuthNoPriv -
    
    COMMUNITY ccub    ccub     noAuthNoPriv		0.0.0.0		0.0.0.0	-
    
    DEFAULT_SECURITY no-access - -
    
    logging         file=/usr/tmp/snmpdv3.log       enabled
    logging         size=0                          level=0
    
    smux            1.3.6.1.4.1.2.3.1.2.1.2         gated_password  # gated
                                  
    smux 1.3.6.1.4.1.2.3.1.2.3.1.1 muxatmd_password #muxatmd

    /etc/snmpd.peers
    Code:
    "gated"     1.3.6.1.4.1.2.3.1.2.1.2     "gated_password"
    "dpid2"     1.3.6.1.4.1.2.3.1.2.2.1.1.2 "dpid_password"
                                  
    "muxatmd" 1.3.6.1.4.1.2.3.1.2.3.1.1 "muxatmd_password"

    une requete qui fonctionne :
    snmpwalk -c ccub -v1 MachineAIX .1.3.6.1.2.1

    Code:
    SNMPv2-MIB::sysDescr.0 = STRING: IBM PowerPC CHRP Computer
    Machine Type: 0x0800004c Processor id: 0051DD5A4C00
    Base Operating System Runtime AIX version: 05.02.0000.0010
    TCP/IP Client Support  version: 05.02.0000.0010
    SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2.3.1.2.1.1.3
    SNMPv2-MIB::sysUpTime.0 = Timeticks: (21400) 0:03:34.00
    SNMPv2-MIB::sysContact.0 = STRING: 
    SNMPv2-MIB::sysName.0 = STRING: blablabla
    SNMPv2-MIB::sysLocation.0 = STRING: 
    SNMPv2-MIB::sysServices.0 = INTEGER: 72
    SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
    SNMPv2-MIB::sysORID.1 = OID: SNMPv2-SMI::enterprises.2.3.1.2.1.1.3
    SNMPv2-MIB::sysORDescr.1 = STRING: AIX SNMP Agent
    SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
    SNMPv2-MIB::snmpInPkts.0 = Counter32: 101
    SNMPv2-MIB::snmpInBadVersions.0 = Counter32: 0
    SNMPv2-MIB::snmpInBadCommunityNames.0 = Counter32: 67
    SNMPv2-MIB::snmpInBadCommunityUses.0 = Counter32: 0
    SNMPv2-MIB::snmpInASNParseErrs.0 = Counter32: 0
    SNMPv2-MIB::snmpEnableAuthenTraps.0 = INTEGER: disabled(2)
    SNMPv2-MIB::snmpSilentDrops.0 = Counter32: 0
    SNMPv2-MIB::snmpProxyDrops.0 = Counter32: 0
    celle ci devrait me renvoyer des infos sur les ressources systèmes (storage, etc...) il me semble
    snmpwalk -c ccub -v1 MachineAIX .1.3.6.1.2.1.25

    mais elle ne me retourne rien du tout !!

    depuis la machine AIX, en local donc, j'obtiens toujours la même valeur :
    snmpinfo -m next -c ccub -v 1.3.6.1.2.1.25
    ibm.2.1.1.0 = 50864

    snmpinfo -m next -c ccub -v 1.3.6.1.2.1.25.2
    ibm.2.1.1.0 = 50864


    mais dans les logs, j'ai pas mal d'erreurs qui ne me plaisent pas :
    /var/tmp/snmpdv3.log
    Code:
     12/19/07 11:23:22 AM -  Accepted new SMUX inet socket connection on fd=11              from 127.0.0.1 port 51127.
     12/19/07 11:23:22 AM -  Closing SMUX connection, fd=11.
     12/19/07 11:23:22 AM -  Address 127.0.0.1 port 51127.
     12/19/07 11:23:22 AM -  rc = -2 (SNMP_RC_NOT_FOUND) from snmp_delete_subagent().
     12/19/07 11:23:27 AM -  Accepted new SMUX inet socket connection on fd=11              from 127.0.0.1 port 51134.
     12/19/07 11:23:27 AM -  Closing SMUX connection, fd=11.
     12/19/07 11:23:27 AM -  Address 127.0.0.1 port 51134.
     12/19/07 11:23:27 AM -  rc = -2 (SNMP_RC_NOT_FOUND) from snmp_delete_subagent().
    /var/tmp/hostmibd.log
    Code:
     12/19/07 09:02:17 AM -  hr_src.c (354) stopsrc issued 12/19/07 09:03:31 AM -  ../../../../../../src/tcpip/usr/sbin/hostmibd/hr_main.C (586) Connect to SNMP agent failed, will keep trying
     12/19/07 09:29:24 AM -  hr_src.c (354) stopsrc issued 12/19/07 09:30:39 AM -  ../../../../../../src/tcpip/usr/sbin/hostmibd/hr_main.C (586) Connect to SNMP agent failed, will keep trying
    /var/tmp/aixmibd.log
    Code:
    Wed Dec 19 11:24:33 NFT 2007  DPI sub-agent (AIX Enterprise MIB Support subagent): reconnected, ready to receive requests...
    Wed Dec 19 11:24:33 NFT 2007  Error occured, try to re-establish connection.
    Wed Dec 19 11:24:51 NFT 2007  Connect to SNMP agent failed, will keep trying
    Wed Dec 19 11:25:01 NFT 2007  DPI sub-agent (AIX Enterprise MIB Support subagent): reconnected, ready to receive requests...
    Wed Dec 19 11:25:01 NFT 2007  Error occured, try to re-establish connection.
    Wed Dec 19 11:25:19 NFT 2007  Connect to SNMP agent failed, will keep trying
    Wed Dec 19 11:25:29 NFT 2007  DPI sub-agent (AIX Enterprise MIB Support subagent): reconnected, ready to receive requests...
    Wed Dec 19 11:25:29 NFT 2007  Error occured, try to re-establish connection.
    Pouvez vous me donnez des infos la dessus ??? Merci

    Leave a comment:


  • DonKiShoot
    replied
    Ne vous faites pas d'illusion.
    Si vous voulez que ce soit pris en compte, il faut passer impérativement par l'ouverture d'un petit bugtrack :

    http://bugs.oreon-project.org/

    Leave a comment:


  • Doc
    replied
    Je revenais justement pour demander ça.

    Leave a comment:


  • vcarp
    replied
    Les petits gars d'Oreon/Centreon pourrait ils mettre à jour le script officiel pour prendre en compte ces deux modifs ? Merci d'avance.

    Leave a comment:


  • Doc
    replied
    Originally posted by vcarp View Post
    En fait, c'est bien plus simple que ça: l'OID doit être le même que pour un Win*.
    Il faut donc changer la ligne (170)

    if ($return_result =~ /.*Windows.*/i ) {

    en

    if ($return_result =~ /.*Windows.*/i || $return_result =~ /.*IBM.*/i) {

    Et le tour est joué.
    Merci de t'être penché sur mon problème.

    Je n'étais pas au bureau hier mais je viens de lire ta réponse et l'appliquer.

    Excellent, ça marche nickel.

    Quant à moi, j'ai modifié la partie en rouge dans le code ci-dessous pour avoir la bonne échelle d'affichage.
    Code:
    if ($un || ( $un == 0) ){
        if ($opt_d) {
            print "OK - Uptime (in days): $un|uptime=".$un." day(s)\n";
        } else {
            print "OK - Uptime (in hundredths of a second): $un|uptime=".$un."hs\n";
        }
        exit $ERRORS{'OK'};
    }
    else{
       print "CRITICAL Host unavailable\n";
       exit $ERRORS{'CRITICAL'};
    }

    Leave a comment:


  • vcarp
    replied
    [resolu]

    En fait, c'est bien plus simple que ça: l'OID doit être le même que pour un Win*.
    Il faut donc changer la ligne (170)

    if ($return_result =~ /.*Windows.*/i ) {

    en

    if ($return_result =~ /.*Windows.*/i || $return_result =~ /.*IBM.*/i) {

    Et le tour est joué.

    Leave a comment:


  • vcarp
    replied
    8640000 est le nombre de centièmes de secondes en une journée. J'ai du mal à penser qu'il ne convienne pas à ta situation. De mon côté, j'ai un curieux phénomène: la commande check continue à me retourner la même valeur depuis hier à mes premiers essais tandis qu'un snmpget me retourne bien la valeur courante (respectivement 47 et 48 jours).

    Pour ma part, le petit bout de code était ajouté plus haut dans le script, juste avant:
    if ($opt_d) {
    $un = $day;
    }

    Leave a comment:


  • vcarp
    replied
    J'ai fait mes tests sur un AIX 5.3 ML5 avec ces services démarrés (lssrc -a):
    snmpd tcpip 209010 actif
    dpid2 tcpip 254196 actif
    hostmibd tcpip 2236566 actif
    aixmibd tcpip 938002 actif
    snmpmibd tcpip 131214 actif

    Leave a comment:


  • Doc
    replied
    Pendant que je suis dessus, pour l'affichage en jours, il semble qu'il y ait un petit souci dans le libellé qui s'affiche.

    En effet, que l'on choisisse ou non l'option "-d" c'est toujours exprimé en centièmes de secondes. (voir ce que j'ai mis en rouge).

    Code:
    if ($un || ( $un == 0) ){
        if ($opt_d) {
            print "OK - Uptime (in day): $un|uptime=".$un."hs\n";
        } else {
            print "OK - Uptime (in hundredths of a second): $un|uptime=".$un."hs\n";
        }
        exit $ERRORS{'OK'};
    if ( $return_result =~ m/^(\d+)$/ ) {
         $un = $1;
         $day = int($un/36000);
    }
    }
    else{
       print "CRITICAL Host unavailable\n";
       exit $ERRORS{'CRITICAL'};
    }
    En revanche, pour mon AIX, je n'ai pas du m'y prendre comme il fallait, je continue à plancher dessus.

    Edit : J'ai fait la modif suivante dans le plugin pour retrouver mon uptime

    Code:
    if ( $return_result =~ m/^(\d+)$/ ) {
         $un = $1;
         $day = int($1/36000);
    }
    Last edited by Doc; 25 September 2007, 16:11.

    Leave a comment:


  • Doc
    replied
    Super!

    J'essaie ça tout de suite.

    Encore merci.

    Leave a comment:


  • vcarp
    replied
    Oups ! Il manque une ligne à mon ajout:

    130
    131 if ( $return_result =~ m/^(\d+)$/ ) {
    132 $un = $1;
    133 $day = int($1/8640000);
    134 }

    Leave a comment:


  • vcarp
    replied
    C'est tout bête, ajouter les lignes suivantes à partir de 130 dans le fichier check_centreon_snmp_uptime:

    130
    131 if ( $return_result =~ m/^(\d+)$/ ) {
    132 $un = $1;
    133 }

    Leave a comment:


  • vcarp
    replied
    Le serveur SNMP de AIX retourne une simple valeur numérique pour le uptime.
    Le script lui s'attend à un message du type "xx days xx hours ..."; du coup, ne trouvant pas ses petits il affiche 0.
    Il faut modifier le script pour prendre en compte le fait que le résultat est seulement numérique.
    Je peux y travailler d'ici demain.

    Leave a comment:


  • Doc
    replied
    Suite snmp/AIX

    Bonjour, j'utilise le check_centreon_snmp_uptime sur mes serveurs AIX 5.3 en passant la commande suivante :

    check_centreon_snmp_uptime -H IP_AIX_5-3 -C public -v 1 -d

    et j'obtiens la réponse suivante :

    OK - Uptime (in day): 0|uptime=0hs

    Si je ne spécifie pas le "-d" j'obtiens la réponse suivante :

    OK - Uptime (in hundredths of a second): 0|uptime=0hs

    Ca me dit bien que le service est OK, mais impossible d'obtenir la durée, alors que mes serveurs FC7 me renvoient bien la durée ( OK - Uptime (in day): 8|uptime=8hs ).

    Je sais que le snmp d'AIX est particulier, si quelqu'un a une idée (ou déjà une piste) , je suis preneur.

    Leave a comment:


  • vcarp
    replied
    Voilà mon fichier /etc/snmpd.conf, il y a peut être quelque chose à faire:

    logging file=/usr/tmp/snmpd.log enabled
    logging size=100000 level=0

    community public
    #community private 127.0.0.1 255.255.255.255 readWrite
    #community system 127.0.0.1 255.255.255.255 readWrite 1.17.2

    view 1.17.2 system enterprises view

    trap public 127.0.0.1 1.2.3 fe # loopback

    #snmpd maxpacket=1024 querytimeout=120 smuxtimeout=60

    smux 1.3.6.1.4.1.2.3.1.2.1.2 gated_password # gated
    smux 1.3.6.1.4.1.2.3.1.2.2.1.1.2 dpid_password #dpid


    snmpd smuxtimeout=200 #muxatmd
    smux 1.3.6.1.4.1.2.3.1.2.3.1.1 muxatmd_password #muxatmd

    Leave a comment:

Working...
X