【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载本指南以 community-templates 仓库中的SNMP Arista BGP4模板为对象系统讲解如何借助 SNMPv2 低级别发现LLD自动发现 Arista 设备上的全部 BGP 对等体并持续采集其管理状态、操作状态以及接收/接受/通告的前缀数量最终在管理上启用但会话未建立时触发告警。读完本文你将掌握该模板的完整结构、OID 与宏机制、触发器表达式语义以及从导入到验证的完整部署流程。模板概览面向 BGP 会话健康度的极简方案SNMP Arista BGP4是一个定位明确、刻意保持精简Minimalistic的 SNMP 模板其设计目标非常聚焦只关注 BGP4 会话的健康状态与对等体前缀交换情况不采集 CPU、内存、接口流量等其他指标。根据模板描述与 5.4 版 README它提供三项核心能力通过 SNMPv2 发现规则自动枚举设备上的所有 BGP 对等体无需手工逐个配置为每个对等体采集AdminStatus管理状态、OperStatus操作状态以及 Received / Accepted / Announced 三类前缀数量当某个会话处于Admin UP管理启用但 Oper 状态不是 Established时产生disaster级别告警第一时间暴露配置了却没建立的异常会话。整个模板不依赖 Zabbix Agent也不依赖第三方脚本仅凭标准 SNMP GET 轮询即可工作因此对设备端的要求极低——只需要在 Arista 交换机/路由器上开启 SNMPv2 并配置好 community 字符串即可。模板结构总览从 5.4 版模板定义文件 可以看到该模板的完整定义。其基本结构如下结构要素内容模板名称SNMP Arista BGP4所属分组cdnnow-sw宏定义Macros used无显式宏定义README 注明 There are no macros links in this template模板链接Template links无发现规则1 条Arista BGP4SNMP agent 类型采集项原型5 个全部为 SNMP agent 类型触发器原型1 个disaster优先级标签Application: Arista-BGP需要特别说明的是虽然模板没有显式定义任何宏但其 SNMP 采集项在运行时依赖 Zabbix 内置的标准宏{$SNMP_COMMUNITY}来携带 community 字符串README 的 Overview 中明确写着 SNMPv2 Community via {$SNMP_COMMUNITY} Macro。该宏未在模板中定义时Zabbix 会使用其默认值public生产环境中应在主机级别覆盖为设备实际的 community 值。这也意味着模板可以原样导入、开箱即用无需修改任何内部定义。工作原理LLD 发现与 Arista 私有 MIB该模板之所以能做到极简关键在于一条精心构造的SNMP 低级别发现规则。在 5.4 YAML 定义 中发现规则使用了 Zabbix SNMP discovery 的多 OID 语法discovery[{#ASNUM}, .1.3.6.1.4.1.30065.4.1.1.2.1.10.1.1.4, {#PEERNAME}, .1.3.6.1.4.1.30065.4.1.1.2.1.14.1.1.4]这条规则的语义是对1.3.6.1.4.1.30065.4.1.1.2.1.10.1.1.4子树执行 walk并将每个实例的索引值写入宏{#ASNUM}对端 AS 号同时对1.3.6.1.4.1.30065.4.1.1.2.1.14.1.1.4子树执行 walk将对应实例的值写入宏{#PEERNAME}对端名称。每个发现出的 BGP 对等体实例还会附带 Zabbix 自动生成的{#SNMPINDEX}宏用于后续采集项的 OID 定位。从 OID 结构可以推断1.3.6.1.4.1.30065对应Arista Networks 的企业私有 MIB 根enterprise number 30065其中...4.1.1.2.1.10为对等体的远端 AS 号供{#ASNUM}使用...4.1.1.2.1.14为对等体的名称/描述供{#PEERNAME}使用...4.1.1.2.1.12与...4.1.1.2.1.13分别对应管理状态与操作状态...4.1.1.8.1.x对应每个对等体的前缀计数表.3接收、.4接受、.5通告。由于模板不使用标准的 BGP4-MIB1.3.6.1.2.1.15而是直取 Arista 私有 MIB因此该模板仅适用于 Arista 设备不能照搬到其他厂商的交换机上。这也是仓库将其归类在 Network_Devices/Arista 目录下的原因。发现规则详解README 中记录的发现规则信息如下名称描述类型Key 与补充信息Arista BGP4-SNMP agentarista-snmp-discovery更新周期1h对应到 YAML 中的完整定义discovery_rules: - name: Arista BGP4 type: SNMP_AGENT snmp_oid: discovery[{#ASNUM}, .1.3.6.1.4.1.30065.4.1.1.2.1.10.1.1.4, {#PEERNAME}, .1.3.6.1.4.1.30065.4.1.1.2.1.14.1.1.4] key: arista-snmp-discovery delay: 1h几个关键参数值得注意更新周期为 1 小时发现规则不会频繁执行因为 BGP 对等体集合通常比较稳定。若要更快感知新增/删除的对等体可在导入后自行下调delay例如 30m代价是 SNMP 轮询频率上升。{#ASNUM}/{#PEERNAME}是发现宏它们在发现阶段被填充随后被 5 个采集项原型和触发器原型引用从而让每个 BGP 会话都拥有独立的监控实体。发现规则本身不产生数据点它的职责是枚举对等体列表真正取数的是下面要讲的采集项原型。采集项Item Prototypes详解当发现规则枚举出对等体后5 个采集项原型会为每个对等体分别实例化出真实采集项。README 中记录的采集项如下名称描述类型Key 与补充信息Administrative status $2-SNMP agentarista-bgp-adminstatus[{#ASNUM}, {#PEERNAME}]更新1mLLDOper status $2-SNMP agentarista-bgp-operstatus[{#ASNUM}, {#PEERNAME}]更新1mLLDPeer accepted Prefixes $2-SNMP agentarista-bgp-prf-acc[{#ASNUM}, {#PEERNAME}]更新5mLLDPeer recieved Prefixes $2-SNMP agentarista-bgp-prf-rcv[{#ASNUM}, {#PEERNAME}]更新5mLLDPeer announced Prefixes $2-SNMP agentarista-bgp-prf-snd[{#ASNUM}, {#PEERNAME}]更新5mLLD名称中的$2是 Zabbix LLD 命名占位符按发现宏在规则中的顺序替换为实际值——$1对应{#ASNUM}$2对应{#PEERNAME}因此界面上最终会显示为类似 Oper status 65001 这样的对端名称。下表给出 YAML 中完整的 OID、轮询周期与历史保留期以 5.4 模板定义 为准5.0/6.0 版本一致采集项OID更新周期历史保留Administrative status $21.3.6.1.4.1.30065.4.1.1.2.1.12.1.1.4.{#SNMPINDEX}1m10dOper status $21.3.6.1.4.1.30065.4.1.1.2.1.13.1.1.4.{#SNMPINDEX}1m30dPeer accepted Prefixes $21.3.6.1.4.1.30065.4.1.1.8.1.4.1.1.4.{#SNMPINDEX}.1.15m31dPeer recieved Prefixes $21.3.6.1.4.1.30065.4.1.1.8.1.3.1.1.4.{#SNMPINDEX}.1.15m31dPeer announced Prefixes $21.3.6.1.4.1.30065.4.1.1.8.1.5.1.1.4.{#SNMPINDEX}.1.15m31d可以看到模板在两个维度上做了精细的取舍状态类指标Admin/Oper1 分钟采集一次因为告警依赖它们需要较高的时效性前缀计数类指标 5 分钟采集一次前缀数量的变化节奏较慢降低轮询频率可以显著减轻设备 SNMP 负担历史保留期差异化操作状态保留 30 天、前缀计数保留 31 天而管理状态只保留 10 天既保证告警追溯和趋势分析所需的数据量又避免无谓占用数据库空间。此外5 个采集项在 5.4/6.0 版中均带有标签Application: Arista-BGP5.0 版以同名的 application 组形式呈现便于在 Latest data 与仪表盘中按标签过滤定位。触发器与告警逻辑模板只设计了一条触发器原型但这条触发器的表达式精确地实现了 README 所述的目标Admin UP 且 Oper 未 Established 时告警。在 5.4/6.0 版中表达式为详见 5.4 YAMLlast(/SNMP Arista BGP4/arista-bgp-operstatus[{#ASNUM}, {#PEERNAME}])6 and last(/SNMP Arista BGP4/arista-bgp-adminstatus[{#ASNUM}, {#PEERNAME}])2逐段解读last(...arista-bgp-adminstatus[...])2管理状态等于2。遵循 BGP4-MIBRFC 1657的惯例bgpPeerAdminStatus取值为1(stop)/2(start)因此2表示该会话在配置上处于启用状态Admin UP。last(...arista-bgp-operstatus[...])6操作状态不等于 6。同样遵循 RFC 1657 的 BGP 状态机bgpPeerState取值1(idle)、2(connect)、3(active)、4(opensent)、5(openconfirm)、6(established)其中只有6表示会话真正建立。两个条件用and连接只有配置了Admin2但会话没建立Oper≠6同时成立才告警。这样设计有一个重要的防误报作用如果某个对等体被管理员主动停用Admin1/stop那么即使 Oper 状态不是 6触发器也不会触发——因为此时会话处于被管理意图关闭的状态属于正常情况。只有想让它建立却建立不起来才会进入disaster级别告警例如对端宕机、网络中断、BGP 配置错误等场景。README 中还同时列出了带(LLD)后缀的同名触发器条目这属于 README 生成时的展示形式实际模板定义YAML/XML中只包含一个触发器原型该原型会随 LLD 为每个对等体实例化出独立的触发器。触发器未设置显式的恢复表达式Recovery expression 为空恢复逻辑由 Zabbix 默认行为承担——当表达式条件不再成立Oper 回到 6或 Admin 变为非 2时自动恢复为 OK 状态。部署与配置步骤按照仓库根目录 README.md 的使用说明下载并导入模板 → 按配置要求配置 → 为主机关联模板结合该模板的特性完整部署流程如下获取模板文件从仓库 Network_Devices/Arista/template_arista_snmpv2_bgp4 目录按 Zabbix 版本选择文件Zabbix 5.05.0/template_arista_snmpv2_bgp4.xmlZabbix 5.45.4/template_arista_snmpv2_bgp4.yamlZabbix 6.06.0/template_arista_snmpv2_bgp4.yaml导入模板在 Zabbix 前端进入Data collection → Templates → Import选择上述文件导入。若目标主机上已有同名模板注意勾选更新策略以避免冲突。确认 Arista 设备 SNMP 配置在设备上启用 SNMPv2并记录 community 字符串建议设置只读 community避免安全隐患。配置主机 SNMP 接口在 Zabbix 主机配置中添加 SNMP 接口填写 Arista 设备的管理 IP 与端口默认 161。覆盖 community 宏在主机或模板的宏配置中设置{$SNMP_COMMUNITY}为实际 community 值。若保持默认public必须确保设备确实使用了该 community。关联模板将模板SNMP Arista BGP4链接到目标主机。等待发现与验证发现规则每 1 小时执行一次执行后会自动生成对应对等体的采集项与触发器。可在Data collection → Hosts → Latest data中筛选Application: Arista-BGP标签核对数据若发现规则长期未生成对等体可手动执行一次Execute now排查。故障排查建议导入前可以先在运维终端用 snmpwalk 验证设备可正常应答私有 MIB例如# 验证对等体表AS 号、名称所在子树可访问 snmpwalk -v2c -c community 设备IP 1.3.6.1.4.1.30065.4.1.1.2 # 验证前缀计数表可访问 snmpwalk -v2c -c community 设备IP 1.3.6.1.4.1.30065.4.1.1.8若 walk 无结果应优先检查设备 SNMP 配置与网络连通性而不是 Zabbix 侧配置。多版本支持与仓库文件指引该模板在仓库中同时提供 5.0、5.4、6.0 三个版本三者在 OID、采集项 key、轮询周期与触发器逻辑上完全一致仅存在以下形式差异差异点5.05.4 / 6.0模板文件格式XML5.0 模板定义YAML5.4 / 6.0应用/标签表达application: Arista-BGP标签Application: Arista-BGP触发器表达式语法旧式{SNMP Arista BGP4:key.last()}新式last(/SNMP Arista BGP4/key)各版本均附有与模板定义内容一致的 README 文档可作为离线查阅的速查表。若需要对比模板在Network_Devices目录体系中的位置可参考 Network_Devices/Arista 目录结构。扩展建议与注意事项补充可视化模板未内置图形Graphs。建议在 Zabbix 中为三个前缀计数采集项创建自定义图形观察每对等体的接收/接受/通告趋势可辅助判断路由震荡与收敛行为。适度调整轮询周期若设备对等体数量庞大数百个可将状态类采集项周期从 1m 调整为 2m5m降低 SNMP 负载反之若对会话收敛时效要求极高可下调周期并配合缩短历史保留期。告警升级策略disaster级别已是最高的触发器优先级建议在动作Actions中为disaster配置独立的通知渠道如短信、电话、即时消息确保会话未建立第一时间触达值班人员。适用边界该模板读取的是 Arista 私有 MIB1.3.6.1.4.1.30065仅适用于 Arista 设备对 Cisco、Juniper、华为等厂商的 BGP 监控应改用其对应的 BGP4-MIB 模板仓库 Network_Devices/Cisco 等目录下均有相关模板可参考。宏覆盖优先级{$SNMP_COMMUNITY}若在模板级与主机级同时设置主机级会覆盖模板级多台设备 community 各不相同时建议统一在主机级配置。综上SNMP Arista BGP4以一条发现规则、五个采集项原型和一条精准的触发器原型覆盖了 BGP 会话监控最核心的健康状态 前缀交换量两个维度是运维 Arista 设备时开箱即用的轻量监控方案。赞分享【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载相关推荐Zabbix 监控 Quagga BGP 对等会话基于 LLD 自动发现的模板实战指南Zabbix 监控 Quagga BGP 对等会话基于 LLD 自动发现的模板实战指南 本篇技术指南围绕 Zabbix Community Templates基于 BGP4-MIB 的 Zabbix BGPv4 会话监控模板实战指南BGPv4 SNMP基于 BGP4 MIB 的 Zabbix BGPv4 会话监控模板实战指南BGPv4 SNMP 本篇指南围绕 Zabbix Community TemplaZabbix 社区模板 BGPv4 SNMP基于 BGP4-MIB 的 BGP 会话监控实战指南Zabbix 社区模板 BGPv4 SNMP基于 BGP4 MIB 的 BGP 会话监控实战指南 导读 本文围绕 Zabbix 社区模板仓库communit上一篇Atmosphere 1.8.0 适配 19.0.0两阶段装好下一篇CodexBar数据同步功能多设备间共享使用统计的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?