也许你可以帮忙
我在现场有很多 mikrotik。它们都通过 l2pt 或 pptp 连接到我们数据中心中的一个 1。
我使用 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>
所以它正在从路由器返回结果。
要为每个接口设置检查将花费一生,我宁愿尝试更正发现规则。
有人可以帮忙吗?
直到 2.2.2 版本,Zabbix 使用 GetNextRequest-PDU 进行低级发现。
从 2.2.3 版本开始,Zabbix 使用 GetNextRequest-PDU 用于 SNMPv1 设备上的低级发现,而 GetBulkRequest-PDU 用于 SNMPv2 和 SNMPv3 设备,因为在 SNMPv2 中引入了 GetBulkRequest-PDU。
您的问题似乎是设备不支持 GetBulkRequest-PDU,即使它是通过 SNMPv2 监控的。
作为一种解决方法,您可以尝试使用 SNMPv1 在该设备上进行低级发现(其余项目,除了具有动态索引的项目,可以保持 SNMPv2)。
同时,我还将为您添加案例ZBXNEXT-2301,它谈到能够为每个接口禁用 SNMP 批量。
mib2zabbix
Perl 脚本将从 SNMP MIB 文件中的 OID 树生成 XML 格式的 Zabbix v3 模板。
在这里阅读更多: https ://github.com/cavaliercoder/mib2zabbix