我尝试从交换机堆栈中获取以下信息以进行监控。以下是通过 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(基于序列号)等,这些值可能会改变。
参考