通過 snmp 從瞻博網路交換機堆棧獲取詳細資訊以進行監控
我嘗試從交換機堆棧中獲取以下資訊以進行監控。以下是通過 ssh 登錄直接在交換機堆棧上執行的命令及其輸出:
root@stack> show virtual-chassis Preprovisioned Virtual Chassis Virtual Chassis ID: cf44.0df5.1234 Virtual Chassis Mode: Enabled Mstr Mixed Neighbor List Member ID Status Serial No Model prio Role Mode ID Interface 0 (FPC 0) Prsnt GAxxxxxxx8 ex3300-48t 129 Master* NA 2 vcp-255/1/2 3 vcp-255/1/3 1 vcp-255/1/1 1 (FPC 1) Prsnt GAxxxxxxx2 ex3300-48t 0 Linecard NA 0 vcp-255/1/2 5 vcp-255/1/3 2 vcp-255/1/1 2 (FPC 2) Prsnt GAxxxxxxx3 ex3300-48t 0 Linecard NA 1 vcp-255/1/2 3 vcp-255/1/3 0 vcp-255/1/1 3 (FPC 3) Prsnt GAxxxxxxx1 ex3300-48t 0 Linecard NA 4 vcp-255/1/2 2 vcp-255/1/3 0 vcp-255/1/1 4 (FPC 4) Prsnt GAxxxxxxx7 ex3300-48t 129 Backup NA 5 vcp-255/1/2 6 vcp-255/1/3 3 vcp-255/1/1 5 (FPC 5) Prsnt GAxxxxxxx5 ex3300-48t 0 Linecard NA 4 vcp-255/1/2 6 vcp-255/1/3 1 vcp-255/1/1 6 (FPC 6) Prsnt GAxxxxxxx3 ex3300-48t 0 Linecard NA 4 vcp-255/1/0 5 vcp-255/1/1
最後,我想檢查成員的數量和/或狀態(Prsnt/NotPrsnt),以及是否有角色更改(例如備份-> 主)。
使用 snmpwalk 我得到了一個巨大的條目列表,但沒有與上述任何值匹配。
那麼這是否意味著不可能從堆棧中獲取此資訊?
好吧,這是一個載入的…打破它
會員人數
考慮到通過 SNMP 描述 VC 的方式,您很可能不會明白這一點。OID 樹中沒有目前的“成員計數”值。您最好的選擇是步行
.1.3.6.1.4.1.2636.3.40.1.4.1.1.1.2
併計算返回的序列號(或使用成員 ID、MAC 或其他)。看起來您正在使用 Icinga,因此您可能需要使用腳本來獲取該 OID 併計算結果,因為 Icinga 不會為您執行此操作。我在 Nagios 的其他幾十種情況下也做類似的事情。(我根據其中一些情況編寫了一個快速腳本;使用它,或以它為例來做你想做的事:https ://gist.github.com/peelman/ef7b682de3af579c2896585385e18e7c )。會員身份
我看不到(簡單的)方法可以獲取目前/不存在狀態。您可能只需要使用它,或者一個接一個地監控 VCP 介面。
角色變化
這將是使用陷阱的好方法;但是,如果您設置使用輪詢並且您正在靜態設置優先級,以便您知道您的主/備份大部分時間是什麼,那麼您可以查看下面的值
.1.3.6.1.4.1.2636.3.40.1.4.1.1.1.3
;節點 .0 將成為成員 0,節點 .1 將成為成員 1,依此類推。值 1 是 Master,2 是 Backup,3 是 Linecard(在MIB本身中可用)。問題是,如果您將所有這些都留給預設虛擬機箱設置的動態,而不設置主控優先級靜態成員 ID(基於序列號)等,這些值可能會改變。
npeelman@nagios:~$ snmpwalk -v2c -c community ex3300-test.domain.tld .1.3.6.1.4.1.2636.3.40.1.4.1.1.1.3 JUNIPER-VIRTUALCHASSIS-MIB::jnxVirtualChassisMemberRole.0 = INTEGER: master(1) JUNIPER-VIRTUALCHASSIS-MIB::jnxVirtualChassisMemberRole.1 = INTEGER: backup(2)
參考