在线答疑:乐维社区
前提准备:
假设你现在有一台交换机(IP是 10.0.0.1),你想监控它所有网口的流量。这台交换机已经在 Zabbix 里加好了,SNMP 也是通的。
第一步:找到正确的 OID
不要瞎找,网口流量的标准 OID 永远是这两个:
- 端口描述(名字):1.3.6.1.2.1.2.2.1.2 (用来给网口起名,比如 GE1/0/1)
- 端口流入流量:1.3.6.1.2.1.2.2.1.10 (后面真正要监控的数值)
第二步:进入主机配置页
- 点顶部菜单的 配置 -> 主机。
- 在列表里搜到你的交换机 10.0.0.1,点一下它的名字进去。
- 往下滑,找到 自动发现规则 这一栏,点右上角的 创建发现规则。
第三步:填"发现规则"的本体(告诉 Zabbix 去哪找名字)
弹出来的大框最上面,这样填:
- 名称:随便写,比如 网口发现。
- 类型:选 SNMP agent。
- 键值:随便写个英文,比如 net.if.discovery(注意别跟系统自带的重复就行)。
- SNMP OID:把准备好的名字 OID 填进去:1.3.6.1.2.1.2.2.1.2
往下拉有个 SNMP OIDs 格式选项 这个配置,注意这里是个大坑,很多老模板没配这个:
- 如果你选了 不使用:Zabbix 会把 OID 结果当成一坨纯文本,你要自己写复杂的正则去切分。
- 强烈建议选:发现(LLD 宏与值)。选这个之后,Zabbix 会自动把网口名字存到 {#SNMPVALUE} 这个变量里,省事很多。
其他选项别动,直接点最下面的 更新。
这时候规则建好了,Zabbix 已经开始去交换机上"摸底"了。
第四步:加一个"监控项原型"(把名字变成真正的监控项)
还在当前页面,不要退出去。在下面有个 监控项原型 的小标签页,点进去,点 创建监控项原型。
这样填:
- 名称:写 网卡 {#SNMPVALUE} 入流量。(这里的 {#SNMPVALUE} 就是第三步让 Zabbix 自动抓的网口名字,比如它会自动变成"网卡 GE1/0/1 入流量")。
- 类型:SNMP agent。
- 键值:必须写唯一点的,比如 net.if.in[{#SNMPVALUE}]。
- SNMP OID:填准备好的流量 OID:1.3.6.1.2.1.2.2.1.10。
- 信息类型:因为流量是数字,这里选 数值(整型) 或者 Numeric (unsigned)。
- 单位:填个 bps(如果是字节就填 Bps)。
点 更新。
第五步:看结果
- 退回到这台交换机的配置主页,也就是 自动发现规则 列表那。
- 你会看到刚建的 网口发现 规则,最右侧有个 已发现 的数字(比如显示 24)。
- 点一下这个数字,进去看看,如果里面列出了 网卡 GE1/0/1 入流量、网卡 GE1/0/2 入流量 等等一长串,而且右上角的状态灯是绿的,那就成了。
- 点顶部菜单的 监测 -> 最新数据,选这台交换机,就能看到自动刷出来的网口流量图了。
遇到点不开或者报错怎么办?
- "已发现"那里是个叉号或者 0:说明第三步里的 OID 填错了,或者 SNMP community 不对,Zabbix 没抓到数据。
- 有发现,但监控项全是灰色的"不支持":点进去那个灰色的项看"信息",大概率是第四步的"信息类型"选错了(比如把数字当成了字符),或者第四步的 OID 本身就不支持查询流量。去服务器上敲个 snmpwalk -v2c -c public 10.0.0.1 1.3.6.1.2.1.2.2.1.10,看看能不能出数字,出不来就是设备的问题。