要监控交换机的CPU、内存关键在于找到正确的OID,关于怎么寻找OID请参考以下博文。
http://tryrus.blog.51cto.com/10914693/1788833
看这篇博文之前请确定已对zabbix的基本操作已有了解,有不明白的地方可以看我之前写的博文。
http://tryrus.blog.51cto.com/10914693/1772271
http://tryrus.blog.51cto.com/10914693/1782062
一、配置环境
CentOS 7 Linux version 3.10.0-229.el7.x86_64
Zabbix-3.0.1
c2960s-universalk9-mz.122-55.SE5.bin
c2960s-universalk9-mz.122-55.SE3.bin
c2960-lanbasek9-mz.122-50.SE5.bin
c3750e-universalk9-mz.122-55.SE5.bin
二、CPU监控及配置trigger
2.1 要用到的OID
1.3.6.1.4.1.9.2.1.57.0 CPU utilization for one minute
1.3.6.1.4.1.9.2.1.58.0 CPU utilization for five minutes
1.3.6.1.4.1.9.2.1.56.0 CPU utilization for five seconds
2.2 创建Item
由于cisco各版本的CPU OID是一致的,所以可以新建一个模板Cisco CPU Utilization,将要监控的项在这个模板里面建立item,最后将模板Cisco CPU Utilization加入到各类型交换机的模板中即可,这样所有的交换机都会自动监控CPU的使用率了。
在Cisco CPU Utilization模板下建立CPU相关的三个item,CPU utilization for one minute,CPU utilization for five minutes,CPU utilization for five seconds,如下图所示。
Name,Key 这两项的值可以随便填写,但最好是像我这样,可以很直观的知道这个item所监控的内容
Type:SNMP v2版本
SNMP OID:相对应的OID
SNMP community:相对应的SNMP读团体字
Units:CPU使用率,填写百分号%
其它选项默认即可,最后的item Description填写在思科网站上查找OID时的Description。点击Add,完成item的创建。
创建cpu使用率的三个监控项后如下图所示
2.3 创建Graph
在模板Cisco CPU Utilization中,创建Graph,如下图所示。
填写Graph的Name,在Items选项中将刚刚创建好的三个items添加进来,点击最后的Add,完成Graph的创建。
2.4 验证Graph
将创建好的模板Cisco CPU Utilization加入到交换机的模板中,然后可以在Monitoring-->Graphs中选择一台交换机,查看CPU Utilization,如下图所示。
2.5 创建Trigger
还在是模板Cisco CPU Utilization中创建Trigger,因为所有交换机都要用到。
创建Trigger,如下图所示。
这里比较重要的是表达式,即zabbix应该在什么情况下使用触发器(Trigger)向用户报警,让用户知道CPU使用率异常。点击Expression后面的Add增加表达式,如下图所示。
Item:这里选CPU utilization for five seconds。 CPU的实时使用率超过报警的阀值,zabbix就通过邮件报警,所以要知道CPU实时的使用率,这个是最合适的。
Function:指的是函数,有下拉列表,从下拉列表中选择平均值大于N。
Last of(T):#3,最近三次的值
N:20 这里填写20,表示20%,百分号可以不用写。这里为方便测试才填写的20.
最后的表达式为{Cisco CPU Utilization:cpuUtilization5sec.avg(#3)}>20
创建完成的trigger,如下图所示
关于表达式的详细用法及函数功能,可以参考以下两个文档。
https://www.zabbix.com/documentation/3.0/manual/config/triggers/expression
https://www.zabbix.com/documentation/3.0/manual/appendix/triggers/functions
2.6 验证trigger
因为我上面设置交换机的CPU使用率只要超过20%就会触发trigger报警,所以在创建trigger完成后,过一分钟左右,我的邮件就收到了下图所示的problem邮件,说明配置已经生效。
然后将阀值20%调整为80%,过一分钟左右后,我的邮件就收到了下图所示的OK邮件,说明配置已重新生效。
三、内存监控及配置trigger
3.1要用到的OID
.1.3.6.1.4.1.9.9.48.1.1.1.6.1 ciscoMemoryPoolFree
.1.3.6.1.4.1.9.9.48.1.1.1.5.1 ciscoMemoryPoolUsed
3.2 创建Item
同CPU使用率一样,创建模板Cisco Memory Statistics后,在模板中创建Item ciscoMemoryPoolFree与ciscoMemoryPoolUsed,创建方法是一样,只是内存的item不需要填写单位。其它选项默认即可,最后的item Description填写在思科网站上查找OID时的Description。点击Add,完成item的创建。
创建内存的两个监控项后如下图所示
3.3 创建Graph
在模板Cisco Memory Statistics中,创建Graph,如下图所示。
填写Graph的Name,在Items选项中将刚刚创建好的两个items添加进来,点击最后的Add,完成Graph的创建。
3.4 验证Graph
将创建好的模板Cisco Memory Statistics加入到交换机的模板中,然后可以在Monitoring-->Graphs中选择一台交换机,查看Memory Statistics,如下图所示。由于memory很少发生变化,所以在graph中表现为一条横线。
3.5创建Trigger
还在是模板Cisco Memory Statistics中创建Trigger,因为所有交换机都要用到。
创建Trigger,点击Expression后面的Add增加表达式,如下图所示。
这里我设置阀值为20%,首先按上图所示的配置,添加两个表达式。
{Cisco Memory Statistics:ciscoMemoryPoolFree.last()}=0
{Cisco Memory Statistics:ciscoMemoryPoolUsed.last()}=0
添加完成后如下图所示。
修改上述表达式为{Cisco Memory Statistics:ciscoMemoryPoolFree.last()}*0.8<{Cisco Memory Statistics:ciscoMemoryPoolUsed.last()}*0.2,如下图所示,表示空闲使用量少于20%时将触发报警。
即A<(A+B)*0.2转化为A*0.8
点击最底下的Add,完成trigger的创建,完成后如下图所示。
3.6验证trigger
Trigger配置完成后,zabbix就会对运行配置。所以在创建trigger完成后,过一分钟左右,我的邮件就收到了下图所示的OK邮件,说明配置已经生效。
至于配置阀值为多大时会产生PROBLEM的邮件,就留给各位看观去测试啦~~
谢谢你打开这篇博文,并一直坚持看到了这里,如果觉得对你有帮助,请不要吝啬点一下右下角的赞。