3 votes

Numéros SNMPD ajoutés à mon OID

J'ai enregistré mon propre oid auprès de l'IANA. Pour ce post, nous l'appellerons 99999.

donc dans mon fichier snmpd.conf (Ubuntu 14)

J'ai ajouté la ligne suivante

extend .1.3.6.1.4.1.99999.1 test /bin/echo hello

Lorsque je reçois un snmpget avec l'oid .1.3.6.1.4.1.99999.1, en attendant une réponse de hello, j'obtiens not found.

J'ai donc décidé de faire un snmpwalk à partir de .1.3.6.1.4.1.99999 et j'ai obtenu ce qui suit

.1.3.6.1.4.1.99999.1.1.0  =  1
.1.3.6.1.4.1.99999.1.2.1.2.4.116.101.115.116   =  /bin/echo
.1.3.6.1.4.1.99999.1.2.1.3.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.2.1.4.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.2.1.5.4.116.101.115.116   =  5
.1.3.6.1.4.1.99999.1.2.1.6.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.2.1.7.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.2.1.20.4.116.101.115.116  =  4
.1.3.6.1.4.1.99999.1.2.1.21.4.116.101.115.116  =  1
.1.3.6.1.4.1.99999.1.3.1.1.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.3.1.2.4.116.101.115.116   =  hello
.1.3.6.1.4.1.99999.1.3.1.3.4.116.101.115.116   =  1
.1.3.6.1.4.1.99999.1.3.1.4.4.116.101.115.116   =  0
.1.3.6.1.4.1.99999.1.4.1.2.4.116.101.115.116   =  hello

Ok, ce n'est pas ce à quoi je m'attendais. Sur mon vieux serveur Ubuntu 8, je recevais une réponse de l'oid .1.3.6.1.4.1.99999.1 sous la forme d'un bonjour.

Donc la question est : qu'est-ce qui se trouve après mon identifiant ? (.2.1.2.4.116.101.115.116, etc)

Je suppose qu'il y a une sorte de signification/logique aux chiffres après "mon" identifiant.

Quel est l'identifiant correct à utiliser dans un snmpget pour récupérer le "hello" ?

Toute indication serait utile.

Merci d'avance.

* Ajout de commentaires après mon message original *

Ok, j'ai travaillé sur certains des chiffres ajoutés à mon identifiant.

En regardant l'oid .1.3.6.1.4.1.99999.1.2.1.2.4.116.101.115.116

La dernière section est en ascii 116.101.115.116 égale "test".

alors c'est quoi le truc au milieu

2.1.2.4
2.1.3.4
2.1.4.4
2.1.5.4
and so on...

Je ne comprends toujours pas pourquoi tout cela est ajouté à mon OID en premier lieu.

Sur mon ancien SNMP Ubuntu 8, je pouvais simplement faire un snmpget sur le numéro d'oid (.1.3.6.1.4.1.99999.1) que j'avais testé dans la ligne exec de snmpd.conf et obtenir le résultat 'hello' en retour.

Avec tous ces chiffres ajoutés à l'ancien, comment puis-je savoir sur quel oid je dois faire un snmpget ?

De même, comment diable créer un fichier MIB complet et significatif pour correspondre à tout cela ?

ARGH !!! Surcharge SNMP....

Au secours ! !!

2voto

Jose Elera Points 521

Il s'agit peut-être d'une vieille question, mais la documentation existante n'explique pas vraiment pourquoi SNMP se comporte comme il le fait, et je me débats avec ce problème depuis un certain temps.

Le site ampliar La stanza crée une nouvelle structure de MIB à l'OID que vous spécifiez, et ajoute un certain nombre de valeurs de NET-SNMP-EXTEND-MIB, puis ajoute d'autres valeurs en fonction du nom spécifié dans la directive extend.

Dans votre exemple, l'OID de base est .1.3.6.1.4.1.99999.1 . SNMPd duplique la structure de la MIB de NET-SNMP-EXTEND-MIB et l'ajoute à cette OID. J'ai reproduit l'arbre de base de la MIB ci-dessous, la MIB complète se trouve à l'adresse suivante http://net-snmp.sourceforge.net/docs/mibs/NET-SNMP-EXTEND-MIB.txt

.1: nsExtendNumEntries
.2: nsExtendConfigTable
  .1: nsExtendConfigEntry
    .1: nsExtendToken
    .2: nsExtendCommand
    .3: nsExtendArgs
    .4: nsExtendInput
    .5: nsExtendCacheTime
    .6: nsExtendExecType
    .7: nsExtendRunType
    .20: nsExtendStorage
    .21: nsExtendStatus
.3: nsExtendOutput1Table
  .1: nsExtendOutput1Entry
    .1: nsExtendOutput1Line
    .2: nsExtendOutputFull
    .3: nsExtendOutNumLines
    .4: nsExtendResult
.4: nsExtendOutput2Table
  .1: nsExtendOutput2Entry
    .2: nsExtendOutput2Entry 

La longueur de caractères du nom est ajoutée, puis le nom est converti en ASCII et ajouté en valeurs décimales.

La réponse de l'OID se décompose ainsi .1.3.6.1.4.1.99999.1.3.1.1.4.116.101.115.116 = hello est le suivant :

.1.3.6.1.4.1.99999.1 : base OID

  .3                 : nsExtendOutput1Table
    .1               : nsExtendOutput1Entry
      .1             : nsExtendOutput1Line
        .4           : Length of name ("test" in this case)
          .116       : ASCII t
            .101     : ASCII e
              .115   : ASCII s
                .116 : ASCII t

Et puisque cet OID est la valeur nsExtendOutput1Line, qui renvoie la première ligne de la sortie de la commande, la valeur est "hello".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X