☰
Zabbix 监控 MikroTik PPPoE 在线客户端数:「1 Check Active Client PPPoE」模板实战指南
2026/10/18 4:42:48 网站建设 项目流程

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载

本文围绕 community-templates 仓库中「1 Check Active Client PPPoE」模板,讲解如何用 Zabbix 通过 SNMP 实时统计 MikroTik RouterOS 上当前在线的 PPPoE 客户端数量,并利用模板内置触发器在用户数异常时自动告警。读完本文,你将掌握该模板的监控项、OID、触发器与图形配置细节,以及从导入、关联主机到阈值调优的完整落地方法。

模板概览:面向 ISP/宽带接入场景的轻量监控方案

该模板由作者 Renato Severino 贡献,官方定位描述(葡萄牙语原文)为:

Nesse modelo, você irá verificar quantidade de clientes conectado no seu mikrotik, com uma trigger já criada

即「在本模型中,你将能够查看 MikroTik 上已连接的客户端数量,并已预置触发器」。其典型应用场景是 ISP、社区宽带或 PPPoE 拨号接入服务商:运维人员需要随时掌握核心网关(MikroTik)上正在拨号上网的用户规模,判断「在线用户数是否异常激增或骤降」——例如大规模断网、认证故障或非法并发接入。

从模板结构看,它刻意保持轻量:README 明确声明该模板不包含宏(Macros)、不关联其他模板(Template links)、也没有自动发现规则(Discovery rules),全模板只由 1 个监控项、2 个触发器与 1 个图形构成,导入后即可直接使用,无需额外依赖。

模板文件与版本对应关系

仓库在 Network_Devices/Mikrotik/template_quantidade_de_clientes_pppoe 目录下按 Zabbix 版本提供了三种导出格式:

Zabbix 版本导出文件格式
5.0template_quantidade_de_clientes_pppoe.xmlXML
5.4template_quantidade_de_clientes_pppoe.yamlYAML
6.0template_quantidade_de_clientes_pppoe.yamlYAML

三个版本导出日期均为 2021-11-21,内容一致(仅随版本语法差异,例如 5.0 XML 使用<applications>定义应用「Verifica Conexões Ativas」,而 5.4/6.0 YAML 使用tags承载同样的标签信息)。导入时请按你的 Zabbix Server 主版本选择对应目录下的文件。仓库根目录 README.md 的模板索引中也收录了该模板(条目名「1 Check Active Client PPPoE」)。

核心监控项「Clientes Online」深度解析

监控项定义

根据 6.0 模板 YAML 第 34-47 行,模板定义的监控项如下:

items: - uuid: 3c3bb535cd9a465398555938579d255d name: 'Clientes Online' type: SNMP_AGENT snmp_oid: 1.3.6.1.4.1.9.9.150.1.1.1.0 key: PPPoE delay: 30s history: 7d trends: 30d tags: - tag: Application value: 'Verifica Conexões Ativas'

对应 README 中「Items collected」表的记录:

NameDescriptionTypeKey and additional info
Clientes Online-SNMP agentPPPoE,Update: 30s

各配置项含义如下:

  • name(监控项名称):Clientes Online,葡萄牙语「在线客户端」。
  • type(类型):SNMP_AGENT,即 Zabbix 主动向设备发起 SNMP 轮询,属于被动型(passive)采集,无需在被监控设备上安装任何 Agent。
  • snmp_oid:1.3.6.1.4.1.9.9.150.1.1.1.0,这是模板的灵魂——它返回路由器当前活跃 PPPoE 会话总数。
  • key:PPPoE,Zabbix 内部唯一标识,触发器与图形均通过该 key 引用数据。
  • delay(更新间隔):30s,每 30 秒轮询一次 OID,保证在线用户数近乎实时。
  • history(历史数据保留):7d,原始采样值保留 7 天。
  • trends(趋势数据保留):30d,聚合趋势数据保留 30 天。
  • tags:标签Application = Verifica Conexões Ativas(「验证活跃连接」),便于在 Zabbix 中按业务维度筛选过滤监控项。

OID 与采集原理

OID1.3.6.1.4.1.9.9.150.1.1.1.0位于1.3.6.1.4.1.9(enterprise 私有 MIB 空间)之下,其数字结构9.9.150对应 PPP over Ethernet(PPPoE)会话统计相关的 MIB 区域,末位.0表示这是一个标量对象。模板正是以「单次 SNMP GET 一个标量值」的方式拿到当前 PPPoE 活跃会话数——采集逻辑极简,对设备与 Zabbix Server 的开销都很小,这也是该模板适合大规模接入场景的原因。

同仓库作者的另一模板 template_templete_ubiquiti 的 6.0 版本 中,也以完全相同的 OID.1.3.6.1.4.1.9.9.150.1.1.1.0定义了名为PPPOE ATIVOS的监控项(key 为pppoe.ativos,同样 30s 轮询),两条独立模板使用同一 OID 可相互印证:该 OID 在 MikroTik 上即用于返回当前活跃 PPPoE 会话数量。

内置触发器:在线用户数异常告警

虽然 README 的「Triggers」一节写的是 "There are no triggers in this template"(模板中没有触发器),但实际导出的 YAML 模板文件 第 48-60 行中明确包含2 个 HIGH 优先级触发器。README 的描述与模板实体存在出入,这一点在导入后请以实际导入的触发器为准(5.0 的 XML 版本 中同样存在这两个触发器)。

触发器定义

触发器名称(葡萄牙语)含义表达式优先级手动关闭
Mais de 1000 clientes conectados超过 1000 个客户端在线last(/1 Check Active Client PPPoE/PPPoE)>1000HIGHYES
Menos de 100 clientes conectados在线客户端不足 100 个last(/1 Check Active Client PPPoE/PPPoE)<100HIGHYES

表达式解析

以 Zabbix 5.4+ 的函数语法为例:

  • last(/1 Check Active Client PPPoE/PPPoE):取模板/主机1 Check Active Client PPPoE下 key 为PPPoE的监控项最近一次采集值(即当前在线 PPPoE 会话数)。
  • >1000:当在线数超过 1000 时触发「Mais de 1000 clientes conectados」。该阈值通常对应异常并发激增场景,例如认证绕过、攻击或配置错误导致的接入风暴。
  • <100:当在线数跌破 100 时触发「Menos de 100 clientes conectados」。该阈值通常对应大面积掉线场景,例如上游链路中断、PPPoE 服务故障或认证服务器异常。
  • priority: HIGH:告警级别为高(HIGH),会直接进入 Zabbix 告警媒介通知链路。
  • manual_close: YES:允许运维人员在问题恢复前手动关闭告警,避免长时间挂起。

阈值是硬编码的,需要按规模调整

注意:1000与100这两个阈值是写死在模板里的常量,模板本身没有定义任何宏。不同接入规模的网络差异极大——小型社区可能在线数长期只有几十,大型 ISP 则可能常态过万。因此导入后必须根据自身业务规模修改触发器阈值,否则会出现大面积误报或漏报。修改方法:在 Zabbix 前端进入模板的「Triggers」页签,编辑对应触发器表达式中的数字即可,例如将上限改为last(/1 Check Active Client PPPoE/PPPoE)>5000。

图形「Ativos Online」

模板还自带一张名为Ativos Online(「在线活跃数」)的图形,用于可视化在线客户端数的历史趋势。根据 YAML 模板 第 61-70 行:

graphs: - uuid: cb787d8a34f54ed1838d0a41f3372200 name: 'Ativos Online' graph_items: - color: 00DD00 item: host: '1 Check Active Client PPPoE' key: PPPoE

图形仅含一个数据序列:key 为PPPoE的监控项,折线颜色00DD00(纯绿色,直观表示「在线/健康」语义)。结合 30 秒采集间隔,运维人员可以清晰观察一天中在线用户数的峰谷曲线,辅助容量规划与故障复盘。

导入与落地步骤

1. 在 MikroTik 上启用 SNMP

该模板依赖设备的 SNMP 服务,请在 RouterOS 上确保 SNMP 已开启并配置了读取用的 community:

/system snmp set enabled=yes community=public

(以上为 RouterOS 命令行示意,实际也可在 Winbox 的 IP → SNMP 菜单中操作;community 请替换为你自己的只读字符串,避免使用默认 public。)

2. 验证 OID 可采集

导入模板前,建议先从 Zabbix Server 所在机器上用 SNMP 工具验证 OID 能返回数值:

snmpwalk -v2c -c <community> <MikroTik_IP> 1.3.6.1.4.1.9.9.150.1.1.1.0

若返回一个整数(例如...150.1.1.1.0 = INTEGER: 356),说明采集通路正常,356 即当前在线 PPPoE 会话数。

3. 导入模板

进入 Zabbix 前端:Data collection → Templates → Import,按你的 Server 版本选择对应文件:

  • Zabbix 5.0:template_quantidade_de_clientes_pppoe.xml
  • Zabbix 5.4:template_quantidade_de_clientes_pppoe.yaml
  • Zabbix 6.0:template_quantidade_de_clientes_pppoe.yaml

4. 关联主机并配置 SNMP 接口

将模板链接到承载 PPPoE 业务的 MikroTik 主机(Host)上,然后为这台主机配置SNMP 接口:填写 MikroTik 的管理 IP、端口(默认 161)与 SNMP version(建议 v2c),并在宏中配置读取 community。Zabbix 的 SNMP 监控项默认引用{$SNMP_COMMUNITY}宏——虽然模板本身未定义宏,但你可以利用 Zabbix 内置的该宏在主机级指定 community,无需改动模板。配置完成后,「Latest data」中应能看到Clientes Online项开始以 30 秒周期产出数值。

5. 按规模调整触发器阈值

最后,根据你的网络规模修改「Mais de 1000 clientes conectados」与「Menos de 100 clientes conectados」两个触发器的阈值数字,使其贴合实际在线用户数基线,避免告警风暴。

从源码结构看模板的适用边界

结合 6.0 模板 YAML 与 README 可以总结出该模板的特点与局限:

  • 优点:单一标量 OID 轮询,采集开销小;开箱即用,自带 2 个告警触发器与 1 张图形;三个 Zabbix 版本文件齐备,覆盖 5.0 到 6.0 的迁移场景。
  • 局限:没有宏,阈值硬编码,需要人工按规模调整;没有 LLD 自动发现,无法区分单个 PPPoE 接口或单个会话明细(它只给出全局总数);README 中「无触发器」的描述与模板实际内容不一致,引用该模板文档时需以实际导出的触发器为准。

对于只需要「全局在线用户数 + 异常告警」的接入网运维场景,这是一个足够直接、可快速上手的社区模板;如需更细粒度的 PPPoE 会话级监控,则应在该模板基础上扩展 LLD 规则或结合 RouterOS 的其他 SNMP OID 自行定制。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:SkillOpt × GitHub Copilot:用 MCP 工具把验证门控的技能优化引擎接入 Copilot 指令体系
下一篇:Presto 会话信息函数 current_user 完全指南:查询执行用户获取的原理、用法与权限实践

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询