Điểm:0

Tại sao bẫy CISCO-ERR-DISABLE-MIB không hiển thị thông tin giao diện và vlan trong Icinga?

lá cờ br

Tôi có một cisco và một máy chủ giám sát với icinga (còn gọi là nagios, thruk). Tôi muốn nhận bẫy từ cisco và hiển thị chúng trong icinga.Nhưng tôi không thể nhìn thấy giao diện và vlan cho cái bẫy có thể xóa được.

Tôi đã tải xuống mib từ cisco, bao gồm CISCO-ERR-DISABLE-MIB.my. Sau đó, tôi đã chuyển đổi nó cho snmptt bằng lệnh này:

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 - -định dạng=4

đã tạo ra cấu hình sau (Tôi đã thay thế đường dẫn tuyệt đối đến mib bằng ... và các giá trị biến bằng ...):

#
#
#
#
MIB: CISCO-ERR-DISABLE-MIB (tệp:/.../CISCO-ERR-DISABLE-MIB.my) được chuyển đổi vào Thứ Tư ngày 8 tháng 9 16:49:53 năm 2021 bằng cách sử dụng snmpttconvertmib v1.4.2
#
#
#
SỰ KIỆN cErrDisableInterfaceEvent .1.3.6.1.4.1.9.9.548.0.1.1 "Sự kiện Trạng thái" Bình thường
ĐỊNH DẠNG cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1"
SDESC
Sự kiện cErrDisableInterfaceEvent được tạo khi một giao diện
hoặc {giao diện, vlan} bị vô hiệu hóa do tính năng
được chỉ định trong cErrDisableIfStatusCause.
cErrDisableInterfaceEvent không được dùng nữa và được thay thế bằng 
cErrDisableInterfaceEventRev1.
Biến:
  1: cErrDisableIfStatusCause
     Cú pháp="INTEGER"
       1: không
       ...
       9: portSecurityVi phạm
     Descr="Đối tượng này chỉ định tính năng/sự kiện gây ra sự cố
        {giao diện, vlan} (hoặc toàn bộ giao diện) thành
        vô hiệu hóa lỗi."
EDESC
#
#
#
SỰ KIỆN cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "Sự kiện Trạng thái" Bình thường
ĐỊNH DẠNG cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1 "
SDESC
cErrDisableInterfaceEventRev1 được tạo khi một
giao diện hoặc {giao diện, vlan} bị vô hiệu hóa do lỗi 
tính năng được chỉ định trong cErrDisableIfStatusCause.
cErrDisableInterfaceEventRev1 không dùng nữa 
cErrDisableInterfaceEvent để làm cho nó tuân thủ RFC 2578. 
Theo mục 8.5 của RFC 2578, phần tiếp theo
đến định danh phụ cuối cùng trong tên của bất kỳ mới được xác định
thông báo phải có giá trị bằng không.
Biến:
  1: cErrDisableIfStatusCause
     Cú pháp="INTEGER"
       1: không
       ...
       9: portSecurityVi phạm
     Descr="Đối tượng này chỉ định tính năng/sự kiện gây ra sự cố
        {giao diện, vlan} (hoặc toàn bộ giao diện) thành
        vô hiệu hóa lỗi."
EDESC

Có hai cái bẫy, tôi chỉ quan tâm đến cErrDisableInterfaceEventRev1 chứ không quan tâm đến cErrDisableInterfaceEvent không dùng nữa.

Đây là send-errdisable.sh của tôi mà tôi sử dụng để tạo sự kiện kiểm tra có thể xóa được:

TO_HOST=icinga.example.com
cộng đồng=abcabc

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

Bây giờ khi tôi tạo một sự kiện có thể xóa được, trong đầu ra plugin icinga cho dịch vụ có thể xóa được, tôi nhận được văn bản sau: cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:udld
nhưng tôi hy vọng giao diện và vlan sẽ ở đó, như thế này:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

Tại sao nó không được hiển thị? Và làm thế nào để khắc phục điều đó?

Điểm:0
lá cờ br

tôi không biết chính xác tại sao nó không được hiển thị. Tôi nghi ngờ đó là lỗi do trình chuyển đổi net_snmp_perl thực hiện.

sự kiện OIID 1.3.6.1.4.1.9.9.548.1.3.1.1.2.2.0 của trường hợp này bao gồm hai điều: 1.3.6.1.4.1.9.9.548.1.3.1.1.2.2.0.

Có vẻ như net_snmp_perl bỏ qua phần tiếp theo của sự kiện OID (".2.0") sau khi nó giải quyết phần đầu tiên của sự kiện OID (trong trường hợp này, nó được giải quyết thành cErrDisableIfStatusCause).

Nhưng tôi đã tìm ra giải pháp để khắc phục.

Tiếp theo cái này bài viết, tôi đã tìm ra những gì tôi có thể viết trong dòng EXEC để sao chép các giá trị ban đầu.

Mở snmptt.conf đã tạo và thay thế

SỰ KIỆN cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "Sự kiện Trạng thái" Bình thường
ĐỊNH DẠNG cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1 
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1"

đến

SỰ KIỆN cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 "Sự kiện Trạng thái" Bình thường
ĐỊNH DẠNG Có vẻ không quan trọng những gì bạn viết ở đây
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1 "

"$N" là tên sự kiện từ tệp cấu hình, trong trường hợp này là "cErrDisableInterfaceEventRev1"
"$+1" là tên biến đầu tiên và giá trị của nó, trong trường hợp này là "cErrDisableIfStatusCause.2.0:udld"

Vì vậy, bây giờ gửi một cái bẫy thử nghiệm được hiển thị trong icinga như thế này:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld

Và đó là những gì chúng tôi muốn. Bây giờ, việc thay đổi .2.0 thành .3.1 chẳng hạn trong send-errdisable.sh cũng được hiển thị tương ứng trong icinga.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.