Mikrotik Script Execution 模板深度解析:基于 SNMP 自动发现并采集 RouterOS 自定义脚本执行结果
【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载导读本文围绕 Zabbix Community Templates 仓库中的Mikrotik Script Execution模板位于Network_Devices/Mikrotik/template_mikrotik_script_execution_via_snmp/完整讲解其基于 SNMP 的 LLDLow-Level Discovery设计思路模板会自动发现 RouterOS 路由器上名称以Get开头的自定义脚本将其动态注册为监控项并周期性采集执行结果进而可用于绘图、配置触发器与告警。读完本文你将掌握该模板的 OID 语义、发现规则与采集项的完整配置逻辑、过滤器定制方法以及 RouterOS 侧的脚本准备与 Zabbix 侧的导入验证流程。一、模板定位与设计动机RouterOSMikroTik 路由器操作系统内置/system script脚本引擎运维人员常通过脚本输出路由器状态、接口计数或自定义业务指标。常规 Zabbix 监控模板只能采集预定义 OID无法覆盖用户自定义的脚本指标。Mikrotik Script Execution模板正是为解决这一问题而设计它通过 RouterOS 的 MIKROTIK-MIB 脚本表自动发现路由器上已创建的、名称以Get开头的脚本并把每个脚本的执行结果映射为一个独立监控项。官方 README 的描述是This template will discover any scripts created in the router which names starts with Get (can be customized in the template discovery filter) and will make them available as an item to be plotted in graphics or create triggers and alarms.即脚本名称前缀Get可以在模板的发现过滤器discovery filter中自定义发现到的脚本会以监控项形式呈现可用于绘图或作为触发器与告警的数据源。模板作者为 Antonio Forster。模板在仓库中的版本结构该模板按 Zabbix 版本分目录存放仓库中提供三份导出文件内容语义一致、仅导出格式不同版本目录导出文件格式说明Network_Devices/Mikrotik/template_mikrotik_script_execution_via_snmp/5.0/template_mikrotik_script_execution_via_snmp.xmlZabbix 5.0 XML 导出Network_Devices/Mikrotik/template_mikrotik_script_execution_via_snmp/5.4/template_mikrotik_script_execution_via_snmp.yamlZabbix 5.4 YAML 导出Network_Devices/Mikrotik/template_mikrotik_script_execution_via_snmp/6.0/template_mikrotik_script_execution_via_snmp.yamlZabbix 6.0 YAML 导出以 6.0 版为例导出的 YAML 元信息表明该模板位于Templates组、模板名为Mikrotik Script Execution创建于2021-11-21。其结构非常精简仅包含 1 条发现规则Discovery rule和 1 个监控项原型Item prototype不包含宏、模板链接和触发器——这正是其轻量、可扩展的定位把脚本发现与采集做扎实告警逻辑交由使用者按需补充。二、工作原理脚本表与执行 OID整个模板的核心是 MikroTik 私有 MIB 根 OID1.3.6.1.4.1.14988。仓库中其他 MikroTik 模板如 template_mikrotik_os/7.4/template_mikrotik_os.yaml同样以该根 OID 访问 RouterOS 的无线、系统等信息印证了14988是访问 RouterOS 私有 MIB 的固定入口。在本模板中从 YAML 配置可见两条关键 OID 链路以 6.0 版 template_mikrotik_script_execution_via_snmp.yaml 为准发现阶段1.3.6.1.4.1.14988.1.1.8—— 依据 RouterOS 的 MIKROTIK-MIB 语义该子树对应系统脚本名称表可以枚举路由器上已存在的脚本及其索引采集阶段1.3.6.1.4.1.14988.1.1.18.{#SNMPINDEX}—— 对应脚本执行相关的叶子节点按脚本索引访问即向 RouterOS 请求执行该脚本并返回其输出结果。可以这样理解完整链路Zabbix SNMP agent └─ discovery[{#SNMPVALUE}, 1.3.6.1.4.1.14988.1.1.8] → 枚举脚本名 → {#SNMPINDEX}/{#SNMPVALUE} └─ 1.3.6.1.4.1.14988.1.1.18.{#SNMPINDEX} → 按索引触发/读取脚本执行结果 └─ item key: ExecScript.[{#SNMPINDEX}] → 每个脚本一个监控项该设计有一个显著优点新增脚本无需改动模板。只要在 RouterOS 上创建符合命名规则的脚本下一轮 LLD默认 30 秒即可自动发现并创建对应监控项。三、发现规则Discovery Rule逐项拆解模板唯一的发现规则名为Scripts类型为SNMP agent。完整配置如下取自 6.0 版 YAML 第 28–42 行discovery_rules: - uuid: 9693f599c31d499ba4172a94a55ab3d8 name: Scripts type: SNMP_AGENT snmp_oid: discovery[{#SNMPVALUE},1.3.6.1.4.1.14988.1.1.8] key: MikScript delay: 30 filter: evaltype: AND conditions: - macro: {#SNMPVALUE} value: ^Get formulaid: A各字段含义与实操要点配置项值说明nameScripts发现规则名称在 Zabbix 前端展示为 ScriptstypeSNMP_AGENT通过 SNMP agent 方式主动轮询需为设备配置 SNMP 凭据community / 版本snmp_oiddiscovery[{#SNMPVALUE},1.3.6.1.4.1.14988.1.1.8]Zabbix 6.0 起支持的discovery[]预处理式 OID 语法对指定子树做 walk将每个叶子节点的值存入{#SNMPVALUE}宏索引存入{#SNMPINDEX}keyMikScript发现规则的技术 key在 Zabbix 内部唯一标识该规则delay30每 30 秒执行一次 LLD及时感知 RouterOS 上新增/删除的脚本filter.evaltypeAND过滤器逻辑为 AND当前只有一个条件可扩展为多条件组合filter.conditionsmacro: {#SNMPVALUE}、value: ^Get正则过滤仅保留脚本名称以Get开头的条目^为正则锚点关键点如何定制匹配规则修改条件中的value即可例如只发现名称以Get开头的脚本默认^Get发现所有脚本将条件删除或改为空值发现其他前缀如以M_开头^M_精确匹配某脚本^GetUptime$$表示字符串结尾锚点。LLD 产生的宏中{#SNMPVALUE}承载脚本名称{#SNMPINDEX}承载该脚本在 OID 表中的索引序号二者共同驱动后续监控项原型。四、监控项原型Item Prototype与执行结果采集发现规则下挂载了一个监控项原型配置如下6.0 版 YAML 第 43–50 行item_prototypes: - uuid: ccd0bb713349448883896637f32f716f name: Execution of {#SNMPVALUE} type: SNMP_AGENT snmp_oid: 1.3.6.1.4.1.14988.1.1.18.{#SNMPINDEX} key: ExecScript.[{#SNMPINDEX}] delay: 300配置项值说明nameExecution of {#SNMPVALUE}监控项名称中嵌入{#SNMPVALUE}宏发现后每个脚本对应一个形如 Execution of GetUptime 的监控项typeSNMP_AGENT与发现规则一致走 SNMP 轮询snmp_oid1.3.6.1.4.1.14988.1.1.18.{#SNMPINDEX}拼接脚本索引指向该脚本的执行结果 OIDkeyExecScript.[{#SNMPINDEX}]唯一 key同样使用{#SNMPINDEX}保证每个脚本实例互不冲突delay300每 300 秒5 分钟采集一次执行结果该原型没有定义value_type预处理步骤即默认按采集到的原始值存储脚本输出通常为字符串如状态文本或数值若脚本输出的是数值型指标建议在导入后按需为该原型补充预处理如value_type调整为 Numeric、追加单位或正则提取以便直接用于触发器阈值判断和绘图。五、RouterOS 侧准备与脚本编写要让模板真正工作需要先在 RouterOS 上完成三件事此为通用 RouterOS 操作与模板版本无关开启 SNMP 服务/snmp set enabledyes contact... location...并设置 community如public同时配置 Zabbix 主机的访问 ACL保证 Zabbix server/proxy 可以 walk14988.1.1.8与读取14988.1.1.18.x。创建以Get开头的脚本/system script add nameGetUptime source:put [/system resource get uptime];脚本名必须以Get开头才能被模板默认过滤器发现脚本的source中建议用:put输出结果使脚本返回值可被 SNMP 采集到有意义的内容。验证 SNMP 可读性在 Zabbix server 上可用snmpwalk -v2c -c public router_ip 1.3.6.1.4.1.14988.1.1.8检查脚本名表是否可见该步骤用于排障属实际操作验证非模板内嵌内容。注意脚本执行本身的耗时与 RouterOS 版本对 SNMP 子代理的支持程度会影响采集稳定性建议在目标 RouterOS 版本上先用 snmpwalk/snmpget 实测后再批量上线。六、Zabbix 侧导入与使用验证导入模板在 Zabbix 前端依次进入Configuration → Templates → Import选择对应版本的导出文件Zabbix 6.0导入 6.0/template_mikrotik_script_execution_via_snmp.yamlZabbix 5.4导入 5.4/template_mikrotik_script_execution_via_snmp.yamlZabbix 5.0导入 5.0/template_mikrotik_script_execution_via_snmp.xml。导入成功后将模板链接到对应 MikroTik 主机的 Templates 标签页并在主机上正确配置 SNMP 接口IP、端口 161、community、SNMP 版本模板即开始工作。验证链路LLD 生效主机 →Discovery rules确认Scripts规则状态为 Enabled查看Latest data中MikScript返回的宏值应包含GetUptime等以Get开头的脚本名监控项生成进入Items应能看到按脚本名展开的Execution of GetUptime等监控项key 为ExecScript.[x]数据采集在Monitoring → Latest data中查看对应监控项最近一次采集值确认脚本输出被正确入库绘图与告警为监控项添加图形或基于其值创建触发器模板本身未内置触发器见下文。七、扩展建议从采集到告警模板本身不含触发器README 与 YAML 中 Triggers 均为空这意味着它只负责采数告警需要使用者自行补充。结合模板的监控项结构可以给出以下扩展方向基于模板既有数据属使用建议而非模板内事实数值型指标告警若脚本输出数值如在线用户数、信号强度可将对应监控项value_type调整为 Numeric然后创建触发器例如当last(/主机名/ExecScript.[1]) 阈值时告警状态型指标告警若脚本输出状态文本可利用 Zabbix 正则或预处理转换为数值后参与触发器表达式批量告警借助last_foreach()聚合函数Zabbix 5.4对ExecScript.*系列监控项统一判警避免逐项手写触发器宏参数化模板声明无宏如需统一调整轮询频率或 community可在模板级或主机级自行增加宏如{$SNMP_COMMUNITY}再在监控项中引用。八、已知限制与注意事项基于模板结构与仓库事实使用中需留意以下几点脚本命名强约束默认过滤器^Get决定了只有Get前缀脚本会被发现改名前需同步调整模板过滤器否则新脚本不会出现在 LLD 结果中轮询频率固定LLD 为 30 秒、采集为 300 秒属模板写死的默认值若脚本执行代价高或指标时效性要求强可在导入后调整 delay无内置告警模板不提供触发器开箱即用只能实现发现与采集告警需自行配置版本差异5.0 版为 XML 导出5.4/6.0 版为 YAML 导出导入时请选择与 Zabbix 版本匹配的文件模板主体逻辑在三版间一致可交叉对照 5.4 YAML 与 5.0 XML 验证执行语义依赖 RouterOS采集 OID14988.1.1.18的读写行为与 RouterOS 版本相关建议在目标固件上先做 SNMP 读写实测确认脚本可被触发并返回结果后再规模化部署。结语Mikrotik Script Execution是一个小而精的 SNMP LLD 模板用一条发现规则 一个监控项原型就把 RouterOS 上任意符合命名规则的自定义脚本变成 Zabbix 的可绘图、可告警监控指标且对脚本增删完全动态适配。对于依赖 RouterOS 脚本输出业务指标的运维场景它提供了一个低成本、高扩展的采集骨架——将精力集中在脚本本身的质量与告警策略上即可。模板完整定义见 6.0 版 YAML 导出其 LLD 与 OID 设计也可作为同类脚本型 SNMP 模板的参考范式。赞分享【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载相关推荐Zabbix 模板「Sinal SFP Mikrotik」实战基于 SNMP 自动发现并监控 MikroTik SFP 光模块 RX/TX 光功率Zabbix 模板「Sinal SFP Mikrotik」实战基于 SNMP 自动发现并监控 MikroTik SFP 光模块 RX/TX 光功率 导读 「SZabbix 社区模板实战基于 SNMP 的 Mikrotik RouterOS 全维度监控模板解析与部署指南Zabbix 社区模板实战基于 SNMP 的 Mikrotik RouterOS 全维度监控模板解析与部署指南 导读 本文围绕 Zabbix CommunitZabbix 监控 Mikrotik RouterOS6.0 模板的 SNMP 采集架构与配置实战Zabbix 监控 Mikrotik RouterOS6.0 模板的 SNMP 采集架构与配置实战 本文以 Zabbix Community Template上一篇SmartRefreshLayout版本迭代史从v1.0到v2.0的技术演进之路下一篇vim-dadbod-ui生产环境部署指南安全配置与最佳实践 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Ubuntu 20.04安装NVIDIA 460驱动与CUDA 11.2完整指南

Ubuntu 20.04安装NVIDIA 460驱动与CUDA 11.2完整指南

1. 项目概述:为什么这个组合至今仍有大量真实需求“NVIDIA Ubuntu 20.04 安装 nvidia-460 cuda-11.2”——这行标题看似平淡,实则浓缩了过去三年里无数嵌入式AI开发者、边缘计算部署工程师、高校实验室研究员和老款工作站用户的真实困境。它不是“最新版…

2026/10/18 2:45:03 阅读更多 →
YOLOv5到YOLOv10动物识别实战:版本演进、训练调参与边缘部署全攻略

YOLOv5到YOLOv10动物识别实战:版本演进、训练调参与边缘部署全攻略

这两年做动物识别相关的项目,绕不开的一个事实是:YOLO系列几乎成了目标检测落地的默认选项。不管你是做野生动物监测、牧场牲畜盘点,还是养殖场的个体行为分析,YOLO那套“输入端-骨干网络-颈部-检测头”的流水线,总有一…

2026/10/18 2:44:02 阅读更多 →
SecureCRT会话管理与SSH自动化:连接、跳板机、脚本与避坑实操

SecureCRT会话管理与SSH自动化:连接、跳板机、脚本与避坑实操

简介:SecureCRT作为一款经典的远程连接客户端软件,主要面向需要登录Linux服务器、网络交换机或路由器执行命令行操作的中高级运维与开发人员,支持SSH、Telnet等常见协议,兼容多标签工作方式。压缩包提供中文汉化绿色版&#xff0c…

2026/10/18 2:44:02 阅读更多 →

最新新闻

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南

如何用 cs-self-learning 规划你的 CS 自学路线:5 分钟上手指南 【免费下载链接】cs-self-learning 计算机自学指南 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning 你打开 CMU 数据库名课 15-445 的页面,先看到的是一串先修…

2026/10/18 3:42:20 阅读更多 →
计算机总线详解:从数据线、地址线到带宽计算与常见误区

计算机总线详解:从数据线、地址线到带宽计算与常见误区

简介:这是一份围绕总线整理而成的计算机导论课件,聚焦第二章微型计算机系统的组成,适合计算机入门学习者、专升本备考者及需要复习硬件基础知识的读者使用。课件从系统概述讲起,依次介绍了硬件系统与软件系统的整体构成&#xff0…

2026/10/18 3:42:20 阅读更多 →
推荐系统评价指标详解:从准确率、召回率到NDCG的取舍与实践

推荐系统评价指标详解:从准确率、召回率到NDCG的取舍与实践

1. 推荐系统评价的这个根本命题做了几年推荐相关的工作,我越来越觉得评价指标这件事,表面上看是几个公式的事,实际上是你对整个推荐系统认知的浓缩。你选择用什么指标去衡量一个推荐模型,本质上就是在回答一个问题:你觉…

2026/10/18 3:42:20 阅读更多 →
高校行政PPT结构化表达工具:西工大主题模板实战指南

高校行政PPT结构化表达工具:西工大主题模板实战指南

简介:本资源是专为西北工业大学师生及行政人员设计的工作总结报告PPT模板合集,聚焦高校场景下的成果汇报、年度述职与项目复盘等实际需求,解决定制化校风呈现与专业表达效率低的双重痛点。压缩包共4个文件(16.3MB)&…

2026/10/18 3:42:20 阅读更多 →
【VSCODE】把 Git Bash 设为默认终端:TaoToken 环境下的配置与验证

【VSCODE】把 Git Bash 设为默认终端:TaoToken 环境下的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 3:42:20 阅读更多 →
open-code-review:开源代码评审助手部署与规则调优实践

open-code-review:开源代码评审助手部署与规则调优实践

1. 从"人工盯代码"到"机器先过一遍"的设计思路转变代码评审这件事,大家嘴上都说重要,实际上在大多数团队里却是优先级最低的环节。需求排期紧张的时候,评审被压缩成"你帮我看看有没有问题",稍微正规…

2026/10/18 3:41:20 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →