资讯动态

Zabbix 监控 DEVLINE 视频监控系统:Windows 摄像头图像可用性监控模板实战解析

发布时间:2026/10/16 6:01:35 来源:尧图企业网站定制
【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载本指南以 community-templates 仓库中的DEVLINE模板5.0 README为核心讲解如何通过 Zabbix Agent 与两个配套 Windows 工具自动发现 DEVLINE 视频监控系统中的全部摄像头并持续校验每路摄像头是否仍在产出图像。读完本文你将掌握该模板的 UserParameter 配置、LLD 发现机制、触发器告警逻辑以及 5.0/5.4/6.0 三个版本模板文件的差异与部署方法。模板定位与监控背景DEVLINE是一个面向 Windows 主机、用于监控来自监控摄像头的图像是否存在原文标题Мониторинг наличия изображений с камер наблюдения的 Zabbix 模板作者为 ssharypov。它解决的是一个典型的安防运维场景视频监控服务器的某一路摄像头因视频采集卡故障、线路中断等原因停止出图而监控系统本身仍在运行——此时仅靠服务存活无法发现问题必须逐路校验图像数据是否持续到达。在仓库中该模板被归类在 Applications/Security 分类下并在根 README.md 的模板索引中登记为DEVLINE说明其定位是安全/安防领域的一种应用监控方案。仓库中的模板文件与版本分布该模板在仓库中按 Zabbix 大版本分目录存放每个目录包含一份 README 与一份可导入的模板文件目录README模板文件导出格式5.0README.mdtemplate_devline._windows_mon_images_from_cameras.xmlXMLZabbix 5.05.4README.mdtemplate_devline._windows_mon_images_from_cameras.yamlYAMLZabbix 5.46.0README.mdtemplate_devline._windows_mon_images_from_cameras.yamlYAMLZabbix 6.0选择文件时请注意5.0 目录使用 XML 导入格式5.4 与 6.0 目录使用 YAML 导入格式。三个版本在监控逻辑上完全一致仅在导出语法与元数据组织上存在差异详见后文版本差异一节。核心原理两个 UserParameter 与配套工具模板本身并不采集视频流而是依赖两台配套的 Windows 可执行程序与 Zabbix Agent 的 UserParameter 机制协作完成探测。模板描述中给出了两条必须预先配置的 UserParameterUserParameterdevline.discovery,C:\Windows\zabbix\addons\devline-discovery.exe user password 127.0.0.1 UserParameterdevline.viewpic[*],C:\Windows\zabbix\addons\devline-check-picture.exe user password 127.0.0.1 $1逐条拆解devline.discovery摄像头自动发现调用devline-discovery.exe后跟三个固定参数——登录用户user、密码password与目标地址127.0.0.1即本机。该工具负责枚举 DEVLINE 服务器上的摄像头清单并输出包含{#NAME}与{#IMAGE_URI}两个宏的 JSON 数据供模板中的 LLD 规则消费。devline.viewpic[*]图像可用性探测调用devline-check-picture.exe同样携带user password 127.0.0.1三个固定参数但额外追加一个参数$1。模板描述明确注明$1 image-uri即该参数对应摄像头图像的 URI由 LLD 宏{#IMAGE_URI}在运行时填充。运行环境要求模板描述原文为俄语指出监控服务器所在主机必须安装 .NET Framework 3.5否则上述两个工具无法运行。从模板对返回值的使用方式可以推断devline-check-picture.exe在图像正常时输出数字1模板据此判断有图当某路视频采集卡故障时工具会改输出文本而非数字模板因此将监控项类型设为TEXT以便兼容这种异常输出详见已知问题与更新记录一节。部署与配置步骤放置工具程序将devline-discovery.exe与devline-check-picture.exe拷贝到被监控 Windows 主机的C:\Windows\zabbix\addons\目录与模板中 UserParameter 引用的路径保持一致。写入 UserParameter在 Zabbix Agent 配置文件中追加上述两条UserParameter并确保Include或主配置能加载它们如果密码中含有特殊字符注意按 Agent 配置语法转义。重启 Agent 服务使新的 UserParameter 生效可用zabbix_get -s host -k devline.discovery验证发现数据是否正常返回。导入模板根据 Zabbix 服务端版本选择对应的 XML5.0或 YAML5.4/6.0文件通过 Zabbix 前端数据采集 → 模板 → 导入完成导入。模板导入后位于CUSTOM主机组下模板名为DEVLINE。关联主机将模板链接到运行 DEVLINE 监控服务的 Windows 主机等待发现规则更新周期 1d首次执行即可看到按摄像头自动生成的监控项与触发器。核验效果观察CamList发现规则是否产出{#NAME}与{#IMAGE_URI}以及devline.viewpic[{#IMAGE_URI}]监控项是否持续返回1。模板内部结构拆解自动发现规则CamList模板只有一个发现规则定义如下与 README 中表格一致名称描述类型键值更新周期CamList-Zabbix agentdevline.discovery1d在导出文件中该规则还配置了过滤条件与生命周期过滤器要求{#NAME}与{#IMAGE_URI}两个宏均匹配.*即非空缺失任一宏的记录将被丢弃生命周期1d即超过 1 天未再发现的摄像头会被自动清理避免因摄像头下线导致监控项永久残留。监控项名称类型键值更新周期说明DEVLINE KERNELZabbix agentservice.info[SDevKernel,state]3m检查 DEVLINE 核心服务SDevKernel的 Windows 服务状态{#NAME}LLDZabbix agentdevline.viewpic[{#IMAGE_URI}]10m逐路摄像头图像可用性由发现规则自动生成两个监控项的关键属性来自 5.0 XMLDEVLINE KERNELservice.info[SDevKernel,state]返回 Windows 服务的数值状态0 表示运行中历史保留 7 天并通过值映射Windows service state将数值翻译为可读文本。{#NAME}LLD 监控项原型值类型为TEXT这正是为了兼容采集卡故障时工具输出文本的行为历史保留 7 天不保留趋势trends: 0在 5.4/6.0 版本中还带有一个标签Application: Cameras对应 5.0 中的应用集Cameras。值映射Windows service state模板内置值映射将SDevKernel服务状态数值转为可读含义| 值 | 含义 | | -- | ---- | | 0 | Running | | 1 | Paused | | 2 | Start pending | | 3 | Pause pending | | 4 | Continue pending | | 5 | Stop pending | | 6 | Stopped | | 7 | Unknown | | 255 | No such service |触发器README 列出的触发器中5.0 版使用{DEVLINE:...}旧式函数语法5.4/6.0 版使用last(/DEVLINE/...)新式函数语法逻辑完全相同名称表达式恢复表达式优先级Devline Kernel Service is not Runninglast(/DEVLINE/service.info[SDevKernel,state])0-Disaster{HOST.NAME}: no image from [{#NAME}]last(/DEVLINE/devline.viewpic[{#IMAGE_URI}],#3)1last(/DEVLINE/devline.viewpic[{#IMAGE_URI}])1Average{HOST.NAME}: no image from [{#NAME}] (LLD)同上一行触发器原型同上一行Average告警逻辑深入解析核心服务失联即灾难级告警DEVLINE KERNEL的触发器表达式为last(...)0结合值映射可知0 Running即只要SDevKernel服务不是运行状态停止、暂停、甚至服务不存在返回 255立即触发Disaster级告警。该触发器在模板导出文件中名为Devline Kernel Service is not Running。连续三次无图才告警图像监控项原型每 10 分钟采集一次触发器使用last(#3)1意味着最近连续 3 次采样约 30 分钟都不等于 1时才判定该摄像头无图像可有效过滤偶发抖动。恢复表达式为last()1即一旦最新采样恢复为 1 即自动恢复。依赖关系防风暴在 5.0 XML 的导出内容中可以看到no image from [{#NAME}]触发器原型声明了对Devline Kernel Service is not Running触发器的依赖——当核心服务整体宕机时所有摄像头的无图像告警会被抑制只保留根因告警避免告警风暴。同时该触发器原型设置了manual_close: YES仅手动关闭。联动入口no image触发器原型还配置了 URL 字段指向作者站点 snowbars.ru供告警处理时快速跳转参考此处不再展开。已知问题与更新记录模板描述中保留了作者的一条更新记录UPD 2019-13-02修复了模板。发现一个问题——当其中一块视频采集卡停止工作时工具会发送文本而不是数字。这条记录直接解释了模板的两个设计决策值类型选择 TEXT正常情况下devline-check-picture.exe输出数字1但采集卡故障时输出文本。若监控项值类型设为 NumericAgent 会把文本视为不支持的数据导致采集报错设为 TEXT 后文本同样进入监控项历史由触发器统一判断是否为 1从而让无图像状态可被正常触发告警。触发判断基于数值比较无论返回的是文本还是数字触发器一律以1作为异常判定兼容了两种输出形态。版本差异5.0 / 5.4 / 6.0三个版本虽监控逻辑一致但在导出格式与语法上有四处差异选择与排查时需注意文件格式5.0 为 XMLzabbix_exportversion5.0/version5.4/6.0 为 YAMLzabbix_export: version: 5.4 / 6.0应用集与标签5.0 使用传统applicationsCameras5.4/6.0 改为标签tags: Application Cameras触发器函数语法5.0 为{DEVLINE:devline.viewpic[{#IMAGE_URI}].last(#3)}15.4/6.0 为last(/DEVLINE/devline.viewpic[{#IMAGE_URI}],#3)15.0 XML 额外携带完整值映射Windows service state、触发器依赖关系、manual_close、URL 等细节均在 XML 中可见YAML 版本保留了等价结构。使用注意事项必须在监控服务器所在主机安装.NET Framework 3.5否则两个探测工具无法启动devline.discovery将无返回数据devline-discovery.exe与devline-check-picture.exe的路径、用户名与密码需要按实际环境替换且两条 UserParameter 中的路径必须与实际放置位置一致若密码包含引号或反斜杠注意在zabbix_agentd.conf中正确转义避免工具调用失败发现规则更新周期为 1 天、生命周期为 1 天新增摄像头最迟次日被发现临时下线超过 1 天的摄像头会被清理重新上线后需再次发现图像监控项不保留趋势trends: 0长周期图表与报表能力有限如需趋势数据可自行调整原型配置。通过上述配置你即可在 Zabbix 中实现 DEVLINE 视频监控系统的核心服务 逐路图像双层监控服务级异常即时触发 Disaster 告警单路无图在 30 分钟内被识别并告警同时借助触发器依赖避免告警风暴——这套LLD 发现 外部工具探测 依赖告警的组合思路同样适用于其他闭源安防系统的图像可用性监控场景。赞分享【免费下载链接】community-templatesZabbix Community Templates repository项目地址https://gitcode.com/gh_mirrors/co/community-templates点击查看免费下载相关推荐Zabbix DEVLINE 视频监控模板解析Windows 摄像头图像可用性监控实战Zabbix DEVLINE 视频监控模板解析Windows 摄像头图像可用性监控实战 本指南围绕 Zabbix 社区模板仓库中的 DEVLINE Windo如何3分钟完成3小时的文献收集CNKI-download自动化工具终极指南如何3分钟完成3小时的文献收集CNKI download自动化工具终极指南 你是否曾经为了收集学术文献而熬夜到凌晨手动在知网一篇篇查找、下载、整理文献不仅Eocortex 视频监控服务器 Zabbix 监控实战community-templates 中 Eocortex 模板的服务状态、API 摄像头统计与录像健康监控Eocortex 视频监控服务器 Zabbix 监控实战community templates 中 Eocortex 模板的服务状态、API 摄像头统计与录像上一篇WeChatExporter三步实现微信聊天记录永久备份的实用工具下一篇Stagewise Debug Skill 深度解析用本地日志采集服务器对用户代码进行结构化埋点调试创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑