众所周知,Zabbix监控的表面逻辑很简单,分为三个动作,采集数据(监控项),判断是否采集到数据超过定义的阈值(触发设备),生成警报(电子邮件、短信等)。当然这只是表面,一些内部函数判断其实非常复杂,不是我们讨论的重点。如果您的监控设备种类繁多,监控指标复杂,只能通过自制模板来实现您的监控工作。Zabbix的监控项有很多种文本。由于今天讨论的重点是网络设备,自然选择了SNMP类型。相信大家对SNMP都或多或少有所了解。如果你不明白,没关系。大家可以找其他优质的文章里面也有介绍,也可以等我下一篇。监控项组成名称键值类型信息类型更新时间制作流程思路1.找到监控项的OID2.使用snmpwalk工具查看OID是否存在3.制作监控项前的准备工作1.如果报错出现下图,需要安装net-snmp-utils,以CentOS8为例dnf-yinstallnet-snmp-utils2。打开设备snmp配置(以华为为例,其他自查)snmp-agentsnmp-agentsys-infoversionv2csnmp-agentcommunityreadcipherHuawei@1233.snmpwalk用法snmpwalk在ZabbixServer端使用,主要语法为(斜体为变量,根据修改)到自己的环境):snmpwalk-v2c-cHuawei@12310.0.0.10OID制作案例案例的主题是监控华为CE58系列交换机的CPU利用率。1、通过官网查看CPU相关的OID或者下载相关的mib用mib浏览器查看。推荐使用mib浏览器。mib文件可以在官网下载,也可以向相关厂商索取。下面是查询到的相关OID,实用hwEntityCpuUsage就可以了,但是如果有framedevice就不一样了。有些主板有自己的CPU。我会在文末放出frame设备的CPU使用率。entPhysicalName1.3.6.1.2.1.47.1.1.1.1.7entPhysicalClass1.3.6.1.2.1.47.1.1.1.1.5hwEntityCpuUsage1.3.6.1.4.1.2011.5.25.31.1.1.1.1.52。查询每个OID代表的含义。snmpwalk-v2c-chuawei@12310.240.255.101.3.6.1.2.1.47.1.1.1.1.7可以看作是实体名称。snmpwalk-v2c-chuawei@12310.240.255.101.3.6.1.2.1.47.1.1.1.1.5查询物理实体的通用类型。不知道这个值是什么意思?看看下面图2中OID的详细解释。snmpwalk-v2c-chuawei@12310.240.255.101.3.6.1.4.1.2011.5.25.31.1.1.1.1.5查询CPU利用率,字面理解3.通过查询对比分析。先查询CPU利用率,只有一个值有数据,如下,但是由于看不到得到的结果,只有索引值为16842753的实体的CPU利用率为23%,需要进一步分析。SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1.5.16842753=INTEGER:23OID引入查询实体名称,通过以下命令查询结果为“CE5855-48T4S2Q-EI1”。这是实体名称,boxtype设备的CPU利用率一般是设备本身,所以可以理解为CE5885的CPU利用率的OID是SNMPv2-SMI::enterprises.2011.5.25.31.1.1.1.1。5.16842753。如果是栈环境,有两个,另一个是“CE5855-48T4S2Q-EI2”。snmpwalk-v2c-chuawei@12310.240.255.101.3.6.1.2.1.47.1.1.1.1.7.16842753获取结果创建主机并测试创建主机修改社区字(读或写)创建监控项写入后确认查看latest数据正常,点图下一步正常附录mib浏览器截图使用mib浏览器查看mib文件一个CPU卡住了,所以如果不判断哪个实体的CPU是你想要的,很容易犯错误。这就是您需要进行相关性分析的原因。其次,关联分析得出的另外一个内容就是自动发现规则,如果每次都这样,添加起来比较麻烦,而且每个设备的索引值可能都不一样,所以这些变化比较大,CPU,内存,接口等是否适合自动发现,我会在下一篇文章中写到。所得结果的常用OID值汇总。如果不了解SNMP相关知识的朋友需要自行测试,加深理解,灵活运用。如果要查找某个端口的流量,首先应该查找该端口的名称主题索引,然后寻找流量值。在后面的snmptrap中会遇到mib的使用。其实这个内容的难点在于找到MIB。找mib需要花很多时间验证OID是否合适。另外,mib文件需要专门的软件才能查看。最后不得不说,监控领域任重而道远,绝非一蹴而就。大量的测试和验证是这个道理。
