Score:0

ทำไมกับดัก CISCO-ERR-DISABLE-MIB ไม่แสดงอินเทอร์เฟซและข้อมูล vlan ใน Icinga

ธง br

ฉันมี cisco และเซิร์ฟเวอร์ตรวจสอบที่มี icinga (a.k.a. nagios, thruk) ฉันต้องการรับกับดักจาก cisco และแสดงในไอซิ่งก้าแต่ฉันไม่เห็นอินเทอร์เฟซและ vlan สำหรับกับดักที่ผิดพลาดได้

ฉันได้ดาวน์โหลด mibs จาก cisco ซึ่งรวมถึง CISCO-ERR-DISABLE-MIB.my จากนั้นฉันแปลงเป็น snmpt ด้วยคำสั่งนี้:

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 - -รูปแบบ=4

ซึ่งสร้างการกำหนดค่าต่อไปนี้ (ฉันแทนที่เส้นทางสัมบูรณ์เพื่อ mib ด้วย ... และค่าตัวแปรด้วย ...):

#
#
#
#
MIB: CISCO-ERR-DISABLE-MIB (ไฟล์:/.../CISCO-ERR-DISABLE-MIB.my) แปลงเมื่อวันพุธที่ 8 กันยายน 16:49:53 น. 2564 โดยใช้ snmpttconvertmib v1.4.2
#
#
#
EVENT cErrDisableInterfaceEvent .1.3.6.1.4.1.9.9.548.0.1.1 "สถานะเหตุการณ์" ปกติ
รูปแบบ cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1"
สพป
cErrDisableInterfaceEvent ถูกสร้างขึ้นเมื่ออินเทอร์เฟซ
หรือ {interface, vlan} ถูกปิดใช้งานข้อผิดพลาดโดยคุณสมบัติ
ระบุไว้ในcErrDisableIfStatusCause
cErrDisableInterfaceEvent เลิกใช้แล้วและแทนที่ด้วย 
cErrDisableInterfaceEventRev1.
ตัวแปร:
  1: cErrDisableIfStatusCause
     ไวยากรณ์ = "จำนวนเต็ม"
       1: อู๊ด
       ...
       9: portSecurityViolation
     Descr="วัตถุนี้ระบุคุณสมบัติ/เหตุการณ์ที่ทำให้เกิด
        {interface, vlan} (หรือทั้ง interface) ให้เป็น
        ปิดใช้งานข้อผิดพลาด"
สพป
#
#
#
EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "เหตุการณ์สถานะ" ปกติ
รูปแบบ cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1"
สพป
cErrDisableInterfaceEventRev1 ถูกสร้างขึ้นเมื่อ
อินเทอร์เฟซหรือ {interface, vlan} ถูกปิดใช้งานโดยข้อผิดพลาด 
คุณลักษณะที่ระบุใน cErrDisableIfStatusCause
cErrDisableInterfaceEventRev1 เลิกใช้แล้ว 
cErrDisableInterfaceEvent เพื่อให้สอดคล้องกับ RFC 2578 
ตามมาตรา 8.5 ของ RFC 2578 ต่อไป
เป็นตัวระบุย่อยตัวสุดท้ายในชื่อที่กำหนดขึ้นใหม่
การแจ้งเตือนต้องมีค่าเป็นศูนย์
ตัวแปร:
  1: cErrDisableIfStatusCause
     ไวยากรณ์ = "จำนวนเต็ม"
       1: อู๊ด
       ...
       9: portSecurityViolation
     Descr="วัตถุนี้ระบุคุณสมบัติ/เหตุการณ์ที่ทำให้เกิด
        {interface, vlan} (หรือทั้ง interface) ให้เป็น
        ปิดใช้งานข้อผิดพลาด"
สพป

มีสองกับดัก ฉันสนใจเฉพาะ cErrDisableInterfaceEventRev1 แต่ไม่ได้อยู่ใน cErrDisableInterfaceEvent ที่เลิกใช้แล้ว

นี่คือ send-errdisable.sh ของฉันซึ่งฉันใช้เพื่อสร้างเหตุการณ์การทดสอบที่ผิดพลาดได้:

TO_HOST=icinga.example.com
ชุมชน = abcabc

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

ตอนนี้เมื่อฉันสร้างเหตุการณ์ที่ผิดพลาดได้ ในเอาต์พุตปลั๊กอิน icinga สำหรับบริการที่ผิดพลาดได้ ฉันได้รับข้อความต่อไปนี้: cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:udld
แต่ฉันคาดว่าอินเทอร์เฟซและ vlan จะอยู่ที่นั่นเช่นนี้:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

ทำไมมันไม่แสดง? และจะแก้ไขได้อย่างไร?

Score:0
ธง br

ผมไม่ทราบว่า ทำไม มันไม่แสดง ฉันสงสัยว่าตัวแปลง net_snmp_perl มีบางอย่างผิดปกติ

เหตุการณ์ OID 1.3.6.1.4.1.9.9.548.1.3.1.1.2.2.0 ของคดีนี้ประกอบด้วยสองประการคือ 1.3.6.1.4.1.9.9.548.1.3.1.1.2 และ .2.0.

ดูเหมือนว่า net_snmp_perl จะละเว้นส่วนต่อท้ายของเหตุการณ์ OID (".2.0") หลังจากที่แก้ไขส่วนแรกของเหตุการณ์ OID แล้ว (ในกรณีนี้ จะแก้ไขเป็น cErrDisableIfStatusCause)

แต่ฉันได้พบวิธีแก้ปัญหาสำหรับการแก้ไข

กำลังติดตาม นี้ บทความ ฉันได้พบสิ่งที่ฉันสามารถเขียนในบรรทัด EXEC เพื่อทำซ้ำค่าเดิม

เปิด snmptt.conf ที่สร้างขึ้นและแทนที่

EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "เหตุการณ์สถานะ" ปกติ
รูปแบบ cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1"

ถึง

EVENT cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "เหตุการณ์สถานะ" ปกติ
FORMAT ดูไม่สำคัญว่าคุณเขียนอะไรที่นี่
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1"

"$N" คือชื่อเหตุการณ์จากไฟล์ปรับแต่ง ในกรณีนี้คือ "cErrDisableInterfaceEventRev1"
"$+1" คือชื่อตัวแปรแรกและค่าของตัวแปร ในกรณีนี้คือ "cErrDisableIfStatusCause.2.0:udld"

ตอนนี้การส่งกับดักทดสอบจะแสดงใน icinga ดังนี้:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

และเป็นสิ่งที่เราต้องการ ตอนนี้การเปลี่ยน .2.0 เป็นตัวอย่าง .3.1 ใน send-errdisable.sh ก็แสดงใน icinga ด้วยเช่นกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา