Puncte:0

De ce capcana CISCO-ERR-DISABLE-MIB nu afișează informații despre interfață și vlan în Icinga?

drapel br

Am un cisco și un server de monitorizare cu icinga (a.k.a. nagios, thruk). Vreau să primesc capcane de la Cisco și să le arăt în icinga.Dar nu pot vedea interfața și vlan-ul pentru capcana errdisable.

Am descărcat mib-uri de pe cisco, inclusiv CISCO-ERR-DISABLE-MIB.my. Apoi l-am convertit pentru snmptt cu această comandă:

snmpttconvertmib --in=CISCO-ERR-DISABLE-MIB.my --out=snmptt.conf --exec='/bin/bash /usr/local/bin/trap/submit_check_result $r '"errdisable 2" -net_snmp_perl - -format=4

care a produs următoarea configurație (am înlocuit calea absolută către mib cu ... și valorile variabile cu ...):

#
#
#
#
MIB: CISCO-ERR-DISABLE-MIB (fișier:/.../CISCO-ERR-DISABLE-MIB.my) convertit la miercuri 8 septembrie 16:49:53 2021 folosind snmpttconvertmib v1.4.2
#
#
#
EVENT cErrDisableInterfaceEvent .1.3.6.1.4.1.9.9.548.0.1.1 „Evenimente de stare” Normal
FORMAT cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1"
SDESC
cErrDisableInterfaceEvent este generat atunci când o interfață
sau {interfață, vlan} este dezactivată de eroare de funcție
specificat în cErrDisableIfStatusCause.
cErrDisableInterfaceEvent este depreciat și înlocuit cu 
cErrDisableInterfaceEventRev1.
Variabile:
  1: cErrDisableIfStatusCause
     Sintaxă="INTEGER"
       1: udld
       ...
       9: portSecurityViolation
     Descr="Acest obiect specifică caracteristica/evenimentul care a provocat
        {interfață, vlan} (sau întreaga interfață) să fie
        eroare dezactivată."
EDESC
#
#
#
EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 „Evenimente de stare” Normal
FORMAT cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1"
SDESC
cErrDisableInterfaceEventRev1 este generat atunci când an
interfața sau {interfața, vlan} este dezactivată de eroare de 
caracteristică specificată în cErrDisableIfStatusCause.
cErrDisableInterfaceEventRev1 este depreciat 
cErrDisableInterfaceEvent pentru a-l face compatibil cu RFC 2578. 
Conform secțiunii 8.5 din RFC 2578, următorul
la ultimul subidentificator în numele oricărui nou definit
notificarea trebuie să aibă valoarea zero.
Variabile:
  1: cErrDisableIfStatusCause
     Sintaxă="INTEGER"
       1: udld
       ...
       9: portSecurityViolation
     Descr="Acest obiect specifică caracteristica/evenimentul care a provocat
        {interfață, vlan} (sau întreaga interfață) să fie
        eroare dezactivată."
EDESC

Există două capcane, mă interesează doar cErrDisableInterfaceEventRev1, dar nu și cErrDisableInterfaceEvent depreciat.

Acesta este send-errdisable.sh meu pe care îl folosesc pentru a genera un eveniment de testare errdisable:

TO_HOST=icinga.example.com
comunitate=abcabc

snmptrap -m ALL -v 2c -c $comunity $TO_HOST '' CISCO-ERR-DISABLE-MIB::cErrDisableInterfaceEventRev1 \
CISCO-ERR-DISABLE-MIB::cErrDisableIfStatusCause.2.0 i 1 \
2>/dev/null

Acum, când generez un eveniment errdisable, în ieșirea pluginului icinga pentru serviciul errdisable primesc următorul text: cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:udld
dar mă aștept ca interfața și vlan-ul să fie acolo, așa:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

De ce nu se arata? Și cum să remediez asta?

Puncte:0
drapel br

Nu știu exact De ce nu se arata. Bănuiesc că este ceva greșit făcut de convertorul net_snmp_perl.

Evenimentul OID 1.3.6.1.4.1.9.9.548.1.3.1.1.2.2.0 din acest caz constă din două lucruri: 1.3.6.1.4.1.9.9.548.1.3.1.1.2 și .2.0.

Se pare că net_snmp_perl omite partea de sfârșit a evenimentului OID ("".2.0") după ce a rezolvat prima parte a evenimentului OID (în acest caz este rezolvată la cErrDisableIfStatusCause).

Dar am gasit o solutie pentru reparare.

Ca urmare a acest articol, am aflat ce aș putea scrie în linia EXEC pentru a reproduce valorile originale.

Deschideți snmptt.conf generat și înlocuiți

EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 „Evenimente de stare” Normal
FORMAT cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1"

la

EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 „Evenimente de stare” Normal
FORMAT Pare neimportant ceea ce scrii aici
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1"

„$N” este numele evenimentului din fișierul de configurare, în acest caz „cErrDisableInterfaceEventRev1”
„$+1” este primul nume de variabilă și valoarea acesteia, în acest caz „cErrDisableIfStatusCause.2.0:udld”

Deci, trimiterea unei capcane de testare este afișată în icinga astfel:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

Și este ceea ce ne-am dorit. Acum, schimbarea .2.0 la, de exemplu, .3.1 în send-errdisable.sh este, de asemenea, afișată în mod corespunzător în icinga.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.