Ad Widget

Collapse

Croiser INDEX SNMP pour afficher SNMPVALUE table 1 sur SNMPINDEX table 2.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • FNEDELLEC
    Junior Member
    • Oct 2018
    • 17

    #1

    Croiser INDEX SNMP pour afficher SNMPVALUE table 1 sur SNMPINDEX table 2.

    Bonjour bonjour,

    Je travail actuellement sur un template pour superviser mes équipements Stormshield et cherche a recouper les info fournis par deux découvertes SNMP.
    Un première requête SNMP me récupère les info propre a FreeBSD je crois, j'ai besoin de les utiliser pour récupérer les informations de mes interfaces réseaux ;
    (Les lignes en gras et en rouge servirons pour l'exemple final, hors titre)

    Adresse MAC :
    Code:
    [root@localhost]# snmpwalk -v 2c -c public 192.168.x.x 1.3.6.1.2.1.2.2.1.6
    MIB search path: /root/.snmp/mibs:/usr/share/snmp/mibs
    IF-MIB::ifPhysAddress.1 = STRING:
    IF-MIB::ifPhysAddress.2 = STRING:
    IF-MIB::ifPhysAddress.3 = STRING: 0:d:b4:f:0:55
    IF-MIB::ifPhysAddress.[COLOR=#FF0000][B]4 = STRING: 0:d:b4:f:0:56[/B][/COLOR]
    IF-MIB::ifPhysAddress.5 = STRING: 0:d:b4:f:0:57
    IF-MIB::ifPhysAddress.6 = STRING: 0:d:b4:f:0:58
    IF-MIB::ifPhysAddress.7 = STRING: 0:d:b4:f:0:59
    IF-MIB::ifPhysAddress.8 = STRING: 0:d:b4:f:0:5a
    IF-MIB::ifPhysAddress.9 = STRING: 0:d:b4:f:0:5a
    IF-MIB::ifPhysAddress.10 = STRING: 0:d:b4:f:0:5c
    IF-MIB::ifPhysAddress.11 = STRING: 0:d:b4:f:0:5c
    IF-MIB::ifPhysAddress.12 = STRING:
    IF-MIB::ifPhysAddress.13 = STRING:
    IF-MIB::ifPhysAddress.14 = STRING:
    IF-MIB::ifPhysAddress.15 = STRING:
    IF-MIB::ifPhysAddress.16 = STRING: 0:d:b4:f:0:56
    Vitesse de négo des ports : .1.3.6.1.2.1.2.2.1.5 ???

    Pour ces requêtes le système se base sur un INDEX allant de 1 à 16, et il observe des interface supplémentaire tel que la loopback.
    J'aimerais donc récupérer au moins ces deux valeurs (découvertes SNMP) pour les intégrer dans mon Zabbix et les faire correspondre a mes interface découvertes via les OID Stormshield.

    Une deuxième requête SNMP me récupère les info propre a Stormshield, d'autres infos propre au constructeur du boitier concernant ses interfaces réseaux (les tags et nom d'affichage, commentaire etc...).

    Dans les deux tables les INDEX sont différents (0 à 13 pour Stormshield et 1 à 16 pour FreeBSD) mais ont une valeur commune, le nom des interfaces/ports :

    Stormshield :
    Code:
    [root@localhost]# snmpwalk -v 2c -c public 192.168.x.x 1.3.6.1.4.1.11256.1.4.1.1.38
    MIB search path: /root/.snmp/mibs:/usr/share/snmp/mibs
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.0 = STRING: "vlan0"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.1 = STRING: "ng1"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.2 = STRING: "ng0"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.3 = STRING: "tun1"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.4 = STRING: "tun0"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.5 = STRING: "eth7"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.6 = STRING: "eth6"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.7 = STRING: "eth5"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.8 = STRING: "eth4"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.9 = STRING: "eth3"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.10 = STRING: "eth2"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.11 = STRING: "eth1"
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.[COLOR=#FF0000][B]12 = STRING: "eth0"[/B][/COLOR]
    SNMPv2-SMI::enterprises.11256.1.4.1.1.38.13 = STRING: "enc0"
    FreeBSD :
    Code:
    [root@localhost]# snmpwalk -v 2c -c public 192.168.x.x 1.3.6.1.2.1.2.2.1.2
    MIB search path: /root/.snmp/mibs:/usr/share/snmp/mibs
    IF-MIB::ifDescr.1 = STRING: lo0
    IF-MIB::ifDescr.2 = STRING: enc0
    IF-MIB::ifDescr.3 = STRING: em0
    IF-MIB::ifDescr.[COLOR=#FF0000][B]4 = STRING: eth0[/B][/COLOR]
    IF-MIB::ifDescr.5 = STRING: eth1
    IF-MIB::ifDescr.6 = STRING: eth2
    IF-MIB::ifDescr.7 = STRING: eth3
    IF-MIB::ifDescr.8 = STRING: eth4
    IF-MIB::ifDescr.9 = STRING: eth5
    IF-MIB::ifDescr.10 = STRING: eth6
    IF-MIB::ifDescr.11 = STRING: eth7
    IF-MIB::ifDescr.12 = STRING: tun0
    IF-MIB::ifDescr.13 = STRING: tun1
    IF-MIB::ifDescr.14 = STRING: ng0
    IF-MIB::ifDescr.15 = STRING: ng1
    IF-MIB::ifDescr.16 = STRING: vlan0
    Pas le même index, pas le même ordre mais sensiblement les mêmes noms (guillemet pour l'un, texte direct pour l'autre), j'aimerais de façon automatique comparer les deux et lorsqu'il rencontre un nom d'interface identique il aille chercher l'adresse MAC de l'index correspondant.
    Exemple :
    Il cherche eth0 dans la table Stormshield, le trouve sur l'index 12, il cherche dans la table FreeBSD et trouve eth0 sur l'index 4, du coup il me sort le résultat :
    "Adresse MAC Interface 12 = SNMPVALUE de l'index 4 table FreeBSD OID ifPhysAddress"
    (Adresse MAC Interface 12 = 0:d:b4:f:0:56)

    J'espère que vous trouverez le temps de me répondre et me trouver une solution ou une alternative.

    Bon week-end !
  • FNEDELLEC
    Junior Member
    • Oct 2018
    • 17

    #2
    Bonjour,
    Personne pour m'aider ?

    Comment

    Working...