最近在研究zabbix,但是发现官方监控模板中没有我工作中常用的山石网科的防火墙,so,自己尝试写了一下。过程中遇见了不少的问题,遂做个记录,以便后期查询。
- 创建模板
在数据采集-模板中,点击“创建模板”
模板名称:Hillstone StoneOS 5.5
模板组:Templates/Network devices
- 创建监控项
本次共用到三种类型的监控项,分别是SNMP代理、简单检查、可计算的。下面分别举例配置。
- SNMP代理,以系统运行时长为例。
名称:系统运行时长
类型:SNMP代理
键值:system.uptime
信息类型:数字(无正负)
SNMP OID:1.3.6.1.6.3.10.2.1.3.0
单位:s
历史数据保留期:7d
snmp可以通过两个OID值获取到系统启动时间,分别是1.3.6.1.6.3.10.2.1.3以及1.3.6.1.2.1.1.3。其中1.3.6.1.2.1.1.3的单位为百分之一秒,且为32位整形计数,所以到497天就会从0开始重新计数,而1.3.6.1.6.3.10.2.1.3的单位为秒,虽同为32位整形计数,却能计数到49600天,即为135年。所以建议使用1.3.6.1.6.3.10.2.1.3值去获取时间。
在确定好OID值后,可以使用snmpwalk命令或者其他软件找到具体的实例化的值为1.3.6.1.6.3.10.2.1.3.0
如果设置了单位,Zabbix在接收到数据后会进行处理,使其匹配设置的单位。例如,如果收到的值为881764(秒),则显示为“10d 4h 56m”。
- 简单检查,以ping为例
名称:ICMP Ping
类型:简单检查
键值:icmpping
信息类型:数字(无正负)
历史数据保留期:7d
icmpping,通过ICMP ping 检测主机的可访问性。输出0或者1,0为ping失败,1为成功。
- 可计算的,以会话利用率为例
可以根据其他监控项的值进行计算,所有的计算由zabbix server完成,结果数据与任何其它监控项一样存储在 Zabbix 数据库中;历史和趋势值都被存储并且可以生成图形。
由于山石的私有mib中没有关于会话利用率的值,那我们可以通过获取系统的当前会话数以及系统支持的最大会话数来计算,迂回的获取到会话利用率。
首先,创建系统当前会话数以及系统支持的最大会话数的监控项,
然后,创建可计算的监控项,使用前两者的值做计算
名称:会话利用率
类型:可计算的
键值:system.session.util
信息类型:浮点数
公式:last(//system.session.now)/last(//system.session.all)*100
单位:%
历史数据保留期:7d
因为单位为%,公式即为,当前建立的会话数的最新值÷系统支持的最大的会话数的最新值×100,last(//system.session.now)÷last(//system.session.all)×100。last函数用来获取键值的最新数值,system.session.now为当前建立的会话数监控项的键值,system.session.all为系统支持的最大会话数的键值。