看到这个话题,很多人都会有疑问,官方不是提供华为相关的模板么?为什么还需要做?其实从Zabbix官方的这个模板使用效果来看并不是太好,虽说可以满足大部分需求,但是随着量的增长,那么无用的指标就会越来越多,如何更加适合的去监控的你交换机,是我们今天的主题
官方模板
正文
官方模板和优化过后的模板对比
下图为对比图,这仅仅只是端口级监控项数量已经相差了50倍
目标
在监控之前,需要弄明白一件事情,你到底想监控什么?由于这里是数据中心的盒式交换机,所以我的目标是监控端口、CPU、内存、温度等指标。
思路
确定了目标,我们就得思考怎么做,首先确定相对应的OID,这个是必备的,其次创建模板、监控项、触发器、图形等等,最后优化。
确定OID
由于华为官方提供了相对应的说明,所以很方便,此次模板使用了以下3个mib库,也就意味着OID都可以在下面3个mib库找到
必备条件
- Zabbix Server具备snmpwalk工具或图形化Mib浏览器(推荐MIB Browser)
- 交换机SNMP相关设备已经配置好
查询CPU利用率
1.查询出所需要的OID
2.用hwEntityCpuUsage查询交换机CPU利用率,会发现很多值,而且很多值,仅仅只有一个值不为0.
查询CPU利用率
- SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.16842753 = INTEGER: 20
3.查询这些索引背后代表的监控实体名称,通过entPhysicalName,需要注意的是,这些索引是一一对应的,因为MIB是一个树状结构,所以同一个实体都有CPU、内存等数据。
获取到名称
- SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.16842753 = INTEGER: 20
- SNMPv2-SMI::mib-2.47.1.1.1.1.7.16842753 = STRING: "CE6855-48S6Q-HI 1"
4.通过上述很轻松就能找到该盒式设备的CPU利用率,但对于新人来讲依然觉得会有点难理解,怎么找到的?怎么判断它是需要被监控的实体,entPhysicalClass给出了答案,9代表设备本身,我们看看结果就清楚了。
entPhysicalClass
只有一个9
到这里大家是否都能明白了?其实监控网络设备的逻辑就这样的,获取到相对应的取值都是通过计算得来的。
创建主机组和模板
创建过程略
创建CPU监控项
通过上一节内容发现,CPU利用率的OID会得出多个值,所以采用自动发现规则的方式去实现监控项。
1.创建自动发现规则
暂时不做任何过滤
2.创建监控项原型
监控项原型
3.创建触发器原型
触发器原型
4.创建图形原型
图形原型
5调用模板
6.效果
此时会发现有很多没用的设备,需要添加过滤器
效果图
7.添加过滤器,添加一个过滤条件{#ENTTYPE},条件为符合9
创建一个过滤值
添加过滤条件,符合为真发,放入监控列表
过滤完剩下一个选项
内存部分
温度部分
端口部分
端口部分需要注意的是ifHCInOctets和ifInOctets的区别,当流量超过4G时,会出现断流情况,所以建议采用HC 64位版本即可。其次采集流量的时候,是采集当前端口的累计流量,如果监控流量情况,需要采用预处理动作。
过滤器详情
自动发现规则详情
预处理
最终效果
最终效果
出图正常
写在最后
由于篇幅有限,无法输出全部过程,但每一个监控过程基本一致,我会在视频里详解,官方的模板其实还是有很多不合理的,特别的超限告警容易出现问题,另外端口UP过滤的在最新的模板已经调整过来了,整个过程需要有耐心去操作,文末是华为官方的查询工具,可以自行查阅。
尚未完全做好,敬请期待