Zabbix 能够监控支持 SNMP 的设备,甚至在其 Web 界面中显示其状态:
绿色图标表示Zabbix正在接收数据。
红色图标表示 Zabbix 没有接收数据。
但是,我找不到任何明显的方法让 Zabbix 在 SNMP 设备不可用时通知我。
今天我发现我的一台服务器磁盘空间不足;该磁盘由 SNMP 监控,但 Zabbix 自 12 月 15 日以来没有收到任何数据!这段时间它一直显示这个红色图标,但我当时没有理由查看主机列表,因此我错过了它。直到今天,服务器因磁盘空间不足而死机,我的电话在晚餐时响了……
当然,经过调查,我发现snmpd is stopped
。我希望两个月前就收到通知!
发生这种情况时,Zabbix 不应该生成事件吗?Zabbix 手册对此只字未提。Google 只想告诉我如何监控特定的 OID。当 SNMP 设备没有响应时,我如何收到通知?
显而易见的方法是创建一个触发器,尽管我不知道这个数据点可能有什么项目名称(同样,它不在手册中或在谷歌上显而易见)。
服务器是 Zabbix 2.0.9,我正在使用其内置的模板 SNMP 磁盘模板。
答案1
您可以使用以下方式设置触发器原型“nodata”函数。
您需要选择一个包含在所有受监控系统中的项目。
使用设备名称(OID:SNMPv2-MIB::sysName.0,键:sysName)模板 SNMP 通用例如,你可以创建一个带有如下表达式的触发器:
{Template SNMP Generic:sysName.nodata(5m)}=1
如果五分钟内无人对此项目作出回应,则将触发此事件。
答案2
自 Zabbix 2.4 起,您可以使用内部检查
对于你的情况,你应该使用这个:zabbix[host,,available]
更改为 snmp。
向您的主机或模板添加一个内部检查项目,以及一个触发器来检查它是否不可用(0)或可用(1)。