|
|
4 giorni fa | |
|---|---|---|
| README.md | 4 giorni fa | |
| zabbix-huawei-walk.yaml | 4 giorni fa |
版本: 7.4-walk-1 | 适用: Zabbix 7.4.x | 厂商: FlyingRome
结论: 不是设备单点问题,而是 poll 并发不足 × 逐 OID 轮询放大 的结构性问题。
1) 运维层:将 SNMP poller 由 1 提升到 30 并重启(ZBX_STARTSNMPPOLLERS=30)。
snmp poller 忙碌由 100% → ~9.5%,unreachable poller 由 42% → 0%。
2) 模板层:本模板用 “一次 bulk walk + 依赖项(dependent items)” 彻底替代逐 OID 轮询。walk[](GetBulk)取回接口多列 OID:
ifOperStatus, ifAdminStatus, ifDescr, ifName, ifAlias, ifHighSpeed, ifType, ifHCInOctets, ifHCOutOctets, 各类 errors / discards。SNMP_WALK_TO_JSON 把 walk 结果转 JSON,产出 {#SNMPINDEX} 等宏。SNMP_WALK_VALUE: <OID>.{#SNMPINDEX} 从 master 取值,master_item = net.if.walk。ifOperStatus=2,不再超时ifOperStatus 分布:77 up / 141 down(值正确,down 口不超时);net.if.speed[ifHighSpeed.100] = 10000000000(10 Gbps);snmp poller busy = 9.47%,unreachable poller = 0%。createMissing: true)。net.if.* 逐 OID 项 → 再链接本模板,让 LLD 重新生成“依赖项”;若已链接,删除旧项后执行一次 config_cache_reload 即可由 LLD 重建。net.if.walk 的 timeout 调大(如 30s) 以容忍慢速 bulk。SNMP engineId is not unique,导致该设备相关所有项采集失败(本模板排障中即遇到)。net.if.walk 的 value_type = TEXT,history 必须为 0(历史由依赖项承载);设为非 0 会导致主项不被调度。zabbix-huawei-walk.yaml — 模板导出文件README.md — 本说明