zabbix,smnp 设备的发现规则不起作用

zabbix,smnp 设备的发现规则不起作用

也许你可以帮忙

我在现场有不少 mikrotik。它们都通过 l2pt 或 pptp 连接到我们数据中心的 one 1 have。

我使用 zabbix 来监控它们,它的网络接口发现规则很好用。但是它似乎对总部的那个不起作用。

我在日志中收到此消息:

主机“xxxx”上的 SNMP 代理项“ifDescr”失败:第一个网络错误,请等待 15 秒。

如果我执行 snmpwalk 我会得到这个结果

snmpwalk -v 2c -c public x.x.x.x IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: 1 - Internet
IF-MIB::ifDescr.2 = STRING: 2 - DMZ
IF-MIB::ifDescr.39 = STRING: <l2tp-kepjbn>
IF-MIB::ifDescr.215 = STRING: <l2tp-km-1>
IF-MIB::ifDescr.299 = STRING: <l2tp-ct>
IF-MIB::ifDescr.378 = STRING: <pptp-ke>
IF-MIB::ifDescr.381 = STRING: <l2tp-in>

因此它从路由器获取了结果。

为每个接口设置检查将花费很长时间,我宁愿尝试纠正发现规则。

有人可以帮忙吗?

答案1

直到 2.2.2 版本,Zabbix 使用 GetNextRequest-PDU 进行低级发现。

从 2.2.3 版本开始,Zabbix 使用 GetNextRequest-PDU 在 SNMPv1 设备上进行低级发现,使用 GetBulkRequest-PDU 在 SNMPv2 和 SNMPv3 设备上进行发现,因为 GetBulkRequest-PDU 是在 SNMPv2 中引入的。

您的问题似乎是设备不支持 GetBulkRequest-PDU,即使它是通过 SNMPv2 进行监控的。

作为一种解决方法,您可以尝试使用 SNMPv1 在该设备上进行低级发现(除具有动态索引的项目外,其余项目可以保留为 SNMPv2)。

同时,我也会将您的案例添加到ZBXNEXT-2301,其中谈到能够禁用每个接口的 SNMP 批量功能。

答案2

mib2zabbix

Perl 脚本将从 SNMP MIB 文件中的 OID 树生成 XML 格式的 Zabbix v3 模板。

更多详情请阅读: https://github.com/cavaliercoder/mib2zabbix

相关内容