【免费下载链接】community-templates
Zabbix Community Templates repository
导读
本文围绕 Zabbix Community Templates 仓库(community-templates)中的Mobotix Camera模板,讲解如何通过 SNMP 协议采集 Mobotix 网络摄像头的设备信息、软件版本与存储健康状态,并据此建立完整的告警体系。读完本文,你将掌握该模板的全部 10 个监控项、5 类触发器的含义与配置细节,能够独立完成模板导入、宏调整、主机绑定与存储/闪存寿命告警的调优。
一、模板定位:它能为 Mobotix 摄像头监控什么
Mobotix Camera模板位于仓库的 Network_Appliances/template_mobotix_security_camera 目录下,面向 Mobotix IP 安防摄像头设计,全部数据通过SNMP agent类型监控项采集。根据模板自带的 6.0 README 概述,它可以从摄像头获取以下信息:
- 型号(Model Name)
- 设备名称(Name)
- 序列号(Serial Number)
- 运行时长(Uptime)
- 存储类型(Storage Type)
- 存储已用空间(Storage Used Space)
- 闪存磨损(Flash Wear)
- 剩余可保存时间(Remaining Time to save)
- 软件版本(Software Version)
- 软件版本时间戳(Software Version Timestamp)
同时,模板内置了以下告警规则:
- 存储已用空间超过 80%(High)
- 闪存磨损超过 65%(Warning)
- 闪存磨损超过 80%(High,README 概览中表述为 80%,实际实现为 85%,下文详述)
- 存储剩余时间不足(High)
- 存储失效(Storage Failed,High)
从模板分组看,它被归入Templates与Templates/Network devices两个模板组(见 6.0 YAML 中的groups定义),在 Zabbix 前端导入后会直接出现在网络设备模板分类下,便于与其他网络设备模板统一管理。
二、部署前的准备:SNMP 宏与导入方式
该模板是典型的"零依赖"模板:README 明确说明模板没有 Template links(无模板链接)、没有 Discovery rules(无自动发现规则),所有监控项都是静态定义的,因此部署链路非常简洁。
2.1 唯一的宏:{$SNMP_COMMUNITY}
模板仅定义了一个文本型宏(见 README 与 YAML 源码):
| 名称 | 描述 | 默认值 | 类型 |
|---|---|---|---|
| {$SNMP_COMMUNITY} | SNMP 读写团体名 | nriedaedc | Text macro |
需要注意两点:
- 默认值
nriedaedc是模板作者为示例/测试环境预留的团体名,并非所有 Mobotix 摄像头的出厂值。在生产环境接入前,务必在主机层级覆盖该宏为实际部署的 SNMP community 字符串,否则 SNMP 轮询将无法通过认证。 - 由于模板自身不包含主机级连接配置,宏的覆盖方式是在 Zabbix 前端将该模板关联到具体主机后,于主机「宏」页面或「模板」页面重新定义
{$SNMP_COMMUNITY},其作用域会优先生效。
2.2 导入与绑定流程
按照仓库根目录 README.md 给出的社区模板通用使用方式,推荐的操作步骤为:
- 从仓库下载对应 Zabbix 版本的模板文件(本文对应
6.0目录下的 YAML 文件,5.0 版本为 XML,5.4/6.0 为 YAML); - 在 Zabbix 前端「数据采集 → 模板」中点击「导入」,选择下载的模板文件;
- 根据实际环境调整宏
{$SNMP_COMMUNITY}; - 创建或选择目标主机,在主机「模板」页签中链接
Mobotix Camera模板; - 确认主机上配置了 SNMP 接口(IP/端口 161),等待若干轮询周期后查看最新数据。
三、监控项全解析:10 个 SNMP 采集点
模板共定义 10 个监控项,全部为SNMP agent类型。下表完整汇总了 README 与 YAML 实现 中的关键信息(OID 取自 YAML 的snmp_oid字段):
| 监控项名称 | 数据键(key) | SNMP OID | MIB 对象 | 更新间隔 | 值类型/单位 |
|---|---|---|---|---|---|
| Camera Model | camera.model | 1.3.6.1.4.1.21701.2.1.1.0 | cameraModel | 6h | CHAR |
| Camera Name | camera.name | 1.3.6.1.4.1.21701.2.1.3.0 | cameraName | 6h | CHAR |
| Camera Serial Number | camera.serialnumber | 1.3.6.1.4.1.21701.2.1.2.0 | cameraSerialNumber | 6h | CHAR |
| Software Version | camera.software.version | 1.3.6.1.4.1.21701.2.4.1.1.0 | softwareVersion | 1h | CHAR |
| Software Version Timestamp | camera.software.version.timestamp | 1.3.6.1.4.1.21701.2.4.1.2.0 | softwareVersionTimestamp | 1h | CHAR |
| Storage Remaining Time | camera.storage.remainingtime | 1.3.6.1.4.1.21701.2.3.9.0 | storageArchiveBufferRemainingTime | 10m | 数值,单位 minutes |
| Storage Type | camera.storage.type | 1.3.6.1.4.1.21701.2.3.3.0 | storageType | 6h | CHAR |
| Storage Percent Used Space | camera.storage.usedspace | 1.3.6.1.4.1.21701.2.3.8.0 | storageArchiveBufferFillLevel | 10m | FLOAT |
| Storage FlashWear | camera.storage.wear | 1.3.6.1.4.1.21701.2.3.5.0 | storageFlashWear | 10m | 数值,单位 % |
| Camera Uptime | camera.uptime | 1.3.6.1.4.1.21701.2.7.1.2.0 | statusCurrentUptime | 10m | 数值,单位 uptime |
所有 OID 均位于私有企业号1.3.6.1.4.1.21701(MOBOTIX)下,MIB 对象名与 README 中标注的名称一一对应,说明模板直接对 Mobotix 官方 MIB 的叶子节点进行轮询,未做二次计算。
3.1 设备信息类(6h 低频采集)
camera.model、camera.name、camera.serialnumber、camera.storage.type四个监控项以 6 小时为间隔采集,均为字符型。这类数据变化频率极低(型号、序列号终身不变),6h 的轮询间隔既能保证数据新鲜度,又不会对摄像头造成不必要的 SNMP 查询压力。其中:
camera.name的 MIB 描述明确指出其取值来源为"Quick Installation 向导或 Ethernet Interface 对话框中 Camera name 字段设置的名字",即摄像头 Web 管理界面中的设备名;- 四个监控项在 YAML 中均带有
Application: Device标签,可在前端按应用分类筛选。
3.2 软件版本类(1h 采集)
camera.software.version与camera.software.version.timestamp以 1 小时为间隔采集。前者为固件版本号,后者为固件构建/发布时间戳。两者都带有Application: Software标签。在实际运维中,可以通过对camera.software.version设置变更触发器或在 Zabbix 中开启趋势/历史记录,实现"固件升级自动留痕"的审计效果。
3.3 存储健康类(10m 高频采集)
存储相关监控项是整个模板的核心,也是告警体系最密集的部分,均以 10 分钟为间隔高频轮询:
camera.storage.usedspace:对应 MIB 对象storageArchiveBufferFillLevel,表示 SD 卡作为归档中间缓冲区时的填充百分比。MIB 描述特别提示:当数值达到 100% 时存在数据丢失威胁;数据不可用时会返回-1。camera.storage.wear:对应storageFlashWear,返回闪存磨损百分比。这是 SD 卡/闪存寿命的核心指标,直接决定触发器的分级告警。camera.storage.remainingtime:对应storageArchiveBufferRemainingTime,估算缓冲区溢出前的剩余可录像时间(分钟),不可用同样返回-1。
从 YAML 源码还可以看到三个细节:
camera.storage.usedspace的值类型被显式定义为FLOAT(浮点),用于容纳百分比的小数部分;camera.storage.wear的单位声明为%,camera.storage.remainingtime的单位声明为minutes,camera.uptime的单位为uptime(Zabbix 会自动换算为可读的时长格式);- 存储类监控项统一带有
Application: Storage标签; - 三个存储监控项都关闭了趋势存储(
trends: '0'),仅保留历史数据,以降低数据库开销——因为 10 分钟一条的采样对短期排障已经足够。
3.4 运行时长
camera.uptime对应statusCurrentUptime,返回摄像头开机运行秒数,Zabbix 以uptime单位自动格式化显示。这是判断设备是否频繁重启、是否发生异常断电的基础数据,可与设备告警事件对照分析。
四、触发器体系:存储风险的五级防线
模板内置的触发器可分为两类:依附于监控项的 item 级触发器(YAML 中items[].triggers)与模板级独立触发器(YAML 顶层triggers)。README 的「Triggers」小节虽然显示为空,但 6.0 YAML 源码 中实际定义了 5 个触发器,文档与实现存在差异,以下以源码实现为准。
4.1 Storage Low Free Space(High)
- 表达式:
last(/Mobotix Camera/camera.storage.usedspace,#2)>80 - 恢复表达式:
last(/Mobotix Camera/camera.storage.usedspace,#3)<75
当最近两次采样中 SD 卡填充率高于 80% 时触发 High 告警;采用RECOVERY_EXPRESSION恢复模式,只有连续三次采样低于 75% 才自动恢复,形成 80% 触发、75% 恢复的滞回区间,可有效避免填充率在阈值附近震荡时告警反复抖动。
4.2 Storage Flash Wear 双阈值(Warning + High)
- 65% 阈值:表达式
last(/Mobotix Camera/camera.storage.wear,#2)>65,恢复表达式last(/Mobotix Camera/camera.storage.wear,#2)<25,优先级WARNING; - 85% 阈值:表达式
last(/Mobotix Camera/camera.storage.wear,#2)>85,恢复表达式last(/Mobotix Camera/camera.storage.wear,#2)<25,优先级HIGH。
注意 README 概览中写的是"Flash Wear above 80% (High)",而源码实际实现为85%,这是文档与实现不一致的又一例证,配置告警时应以 YAML 为准。两条规则共享<25的恢复条件,意味着闪存磨损只有回落到 25% 以下(例如更换 SD 卡后)告警才会自动清除,避免磨损持续高位时反复告警。
4.3 Storage Low Time Remaining(INFO)
- 表达式:
last(/Mobotix Camera/camera.storage.remainingtime,#2)<1440
剩余可录像时间低于1440 分钟(24 小时)时触发 INFO 级通知。这是"还能录多久"的倒数提示,适合作为运维排班、准备更换存储的提前量。
4.4 Storage Failed(High)
这是唯一的模板级独立触发器:
last(/Mobotix Camera/camera.storage.usedspace,#2)=-1 or last(/Mobotix Camera/camera.storage.remainingtime,#2)=-1当填充率或剩余时间任一指标返回-1(即数据不可用,对应 MIB 中"Returns -1 if this data is not available"的语义)时,判定为存储失效并触发 High 告警。这一设计把"读不到数据"这一异常状态也纳入监控闭环,与填充率、磨损、剩余时间共同构成完整的存储风险防线。
4.5 触发器表达式速查表
| 触发器名称 | 优先级 | 触发条件 | 恢复条件 |
|---|---|---|---|
| Storage Low Free Space | HIGH | usedspace最近 2 次采样 > 80% | 最近 3 次采样 < 75% |
| Storage Flash Wear at 65% | WARNING | wear最近 2 次采样 > 65% | 最近 2 次采样 < 25% |
| Storage Flash Wear at 85% | HIGH | wear最近 2 次采样 > 85% | 最近 2 次采样 < 25% |
| Storage Low Time Remaining | INFO | remainingtime最近 2 次采样 < 1440(分钟) | 无(条件不满足即恢复) |
| Storage Failed | HIGH | usedspace或remainingtime最近 2 次采样为 -1 | 无 |
五、可视化:预置的存储占用图
模板附带一张名为Storage Used Space的预置图形(graph),见 YAML 源码:
- 图形数据源:
camera.storage.usedspace(存储填充率); - 绘制颜色:
2E7D32(深绿色),在深色监控面板上辨识度较好。
导入模板后,在主机监控 → 图形中即可直接看到 SD 卡填充率随时间的变化曲线,无需手动创建图形。由于模板没有定义 screen/dashboard,如需将camera.storage.wear(闪存磨损)等更多指标纳入同一视图,可在前端「图形」中手动追加数据系列。
六、从源码看实现:多版本差异与文档一致性
仓库为同一模板维护了三个版本目录,是观察 Zabbix 模板演进与社区模板组织规范的典型样本:
| 目录 | 文件格式 | 说明 |
|---|---|---|
| 5.0 | template_mobotix_security_camera.xml | Zabbix 5.0 XML 导出格式,导出时间 2021-11-21 |
| 5.4 | template_mobotix_security_camera.yaml | Zabbix 5.4 YAML 导出格式 |
| 6.0 | template_mobotix_security_camera.yaml | Zabbix 6.0 YAML 导出格式 |
对比 5.0 XML 与 6.0 YAML 可以发现:
- 监控项、OID、宏、触发器、图形完全一致:10 个监控项、
{$SNMP_COMMUNITY}宏、5 个触发器(含恢复表达式)和 1 张图形从 5.0 到 6.0 无任何变化,说明这是一个成熟稳定、跨版本兼容的模板; - 表达式语法随版本演进:5.0 XML 中使用简写
{last(#2)}>80,而 5.4/6.0 YAML 使用完整函数语法last(/Mobotix Camera/camera.storage.usedspace,#2)>80——这是 Zabbix 5.4 引入的/host/key新式引用规范; - 5.0 XML 显式定义了
Device、Software、Storage三个 Application(应用集),而 5.4/6.0 的 YAML 则将其转换为Application: xxx标签(tags),反映了 Zabbix 5.4 起以标签体系替代应用集的设计变迁; - 导出时间戳:5.0 与 5.4/6.0 的导出日期分别为 2021-11-21T22:05:14Z 与 22:05:16Z,仅相隔两秒,可推断三个版本由同一份模板定义批量转换生成,这也是仓库内社区模板"多版本同步维护"的常见做法。
上述差异可以帮助读者理解:从 XML 时代迁移到 YAML 时代的模板,其语义(监控什么、告警什么)保持不变,变化的只是表达载体。若你的 Zabbix 是 5.0 版本,请使用 5.0 目录下的 XML 文件;5.4 及以上版本则使用对应 5.4 / 6.0 的 YAML 文件,避免跨大版本导入出现兼容问题。
七、实战调优建议
- 替换 SNMP community:部署前务必在主机层级将
{$SNMP_COMMUNITY}从默认的nriedaedc改为实际值,并确认 Mobotix 摄像头已开启 SNMP 服务、允许 Zabbix 服务器 IP 访问; - 校准阈值:如果现场 SD 卡容量大、录像码率低,1440 分钟的剩余时间告警可能过于敏感;反之若担心闪存寿命,可将 65% 的 Warning 阈值下调。修改时建议同步调整恢复表达式,保持滞回逻辑;
- 结合容量规划:
camera.storage.remainingtime的长期趋势可直接用于估算"还能支撑多少天",配合camera.storage.usedspace可推算每日写入量,为扩容/换卡提供数据支撑; - 多摄像头规模化接入:模板无自动发现规则,若需批量监控多台摄像头,可在 Zabbix 中为每台设备创建主机并链接本模板,通过主机级宏统一管理 SNMP 团体名;
- 留意文档与实现差异:本模板 README 的概览与实际触发器阈值(80% vs 85%)及空白的 Triggers 小节存在出入,排查告警行为时以仓库内 YAML/XML 源码为准。
结语
Mobotix Camera模板是 community-templates 仓库中一个典型的"小而精"的 SNMP 设备模板:10 个静态监控项覆盖设备身份、固件版本与存储健康三大维度,5 个触发器围绕 SD 卡填充率、闪存磨损、剩余时间与数据不可用状态构建了完整的告警防线,并预置了可视化图形。通过本文对 README 与 YAML/XML 源码 的交叉解读,你可以快速将该模板落地到生产环境,并理解其告警设计思路,为同类网络设备监控模板的定制提供参考。
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
使用 Zabbix 监控 MOBOTIX 网络摄像机:Mobotix Camera SNMP 模板深度解析
使用 Zabbix 监控 MOBOTIX 网络摄像机:Mobotix Camera SNMP 模板深度解析 本篇技术指南以 Zabbix Community T
Zabbix 监控 Fortinet FortiMail 60D 邮件安全网关:community-templates SNMP 模板深度解析
Zabbix 监控 Fortinet FortiMail 60D 邮件安全网关:community templates SNMP 模板深度解析 Fortinet
Kaspersky Security Center 11 的 Zabbix SNMP 监控模板解析(community-templates)
Kaspersky Security Center 11 的 Zabbix SNMP 监控模板解析(community templates) 本文基于 comm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考