📞 IT 峰哥团队 · 企业信息化落地服务
IT 峰哥深耕企业 IT 基础设施领域多年,专注为各类型企业提供网络安全规划、设备选型、上网行为管理、超融合部署、文档加密、考勤门禁、视频监控等信息化项目整包落地服务。从方案设计、设备选型、上门实施到后期运维,全程跟进。
承接规模:小微企业 / 成长型企业 / 中大型企业,均提供定制化方案
服务范围:防火墙、上网行为、AP+AC、域控、NAS、超融合、文档加密、人脸考勤、视频监控、机房动环等
合作流程:需求沟通 → 方案设计 → 设备选型 → 落地实施 → 持续运维
📱 17712677007(微信同号)
📞 24 小时全天候响应 · 紧急项目优先安排

一、企业打印运维痛点:为什么必须把打印机接入 Zabbix
IT 运维圈的”灯下黑”——多数中型企业的网络打印机长期处于无人监控状态。常见三种翻车:①月末结账打印大批发票才发现碳粉空了,影响业务连续性;②卡纸/缺墨报错没人看到,员工反复报修,IT 同事来回跑现场;③采购时不知道印量分布,新旧机器一并批量采购,造成资产浪费。
Zabbix 是企业级开源监控事实标准,100% 支持 SNMP v1/v2c/v3,所有主流品牌企业打印机(HP、Brother、Canon、EPSON、Lexmark)出厂默认开启 SNMP 161/UDP 端口。本文用 Zabbix 7.4 LTS + 5 款实战机型演示从零接入到告警闭环的全流程,每一条 snmpwalk 命令都经过原文核验,所有 OID 数字树直接从 RFC 原文比对、并附 IANA 私有企业号(Private Enterprise Number)作为真实出处。
最终交付:你能拿到 ①Zabbix 上对每台打印机 10+ 个监控项(碳粉余量、总印量、设备状态、错误码);②3 种关键告警(碳粉低于 20%、离线、卡纸抖动);③可视化 Dashboard 一屏看 50 台打印机健康度;④无需付费 SNMP 管理软件,零订阅成本。
二、SNMP 通信原理与打印机 MIB 体系
SNMP(Simple Network Management Protocol)是 IETF 自 1990 年起发布的网络设备管理协议。打印机与 Zabbix Server 的交互流程:①SNMP Manager(Zabbix Poller)通过 UDP 161 发起 GET 请求;②Printer 端 SNMP Agent(固件内嵌)调用本地 MIB 数据库查询对应 OID 的值并 RESPONSE 返回;③Zabbix Server 解析 ASN.1 编码写入 history,最终在 trigger 中比对阈值。
MIB(Management Information Base)是 OID 命名数据库,把点分数字 OID 翻译成人类可读的对象名(.1.3.6.1.2.1.43.11.1.1.6 就是 prtMarkerSuppliesLevel)。打印机场景涉及 4 个标准 MIB:
- MIB-II / SNMPv2-MIB(RFC 1213 + RFC 3418):通用 system / interfaces / ip group,
sysDescr / sysUpTime / sysName / sysLocation; - Host Resources MIB(RFC 2790):
hrPrinterStatus、hrPrinterDetectedErrorState错误位图; - Printer MIB(RFC 3805,打印机专用,根 OID
.1.3.6.1.2.1.43):碳粉余量、印量、纸张路径、装配; - Printer Finishing MIB(RFC 3806):装订 / 分页 / 打孔,企业打印机很少用,本次不展开。
每个厂商还有自己的Enterprise MIB,根 OID 用 IANA 分配的私有企业号(Private Enterprise Number,PEN)定位。例如 HP=11、Brother=2435、Canon=1065、Epson=345、Lexmark=641,所有这些都能在 www.iana.org/assignments/enterprise-numbers.txt 上查到。Zabbix 监控打印机时,标准 MIB + 厂商 Enterprise MIB 配合使用是最佳实践——前者跨厂商通用,后者提供独有告警事件 / 私有计数器。
三、Printer MIB + Host Resources MIB:核心 OID 树精解
本节每一个数字 OID 都从 RFC 原文(datatracker.ietf.org)二次核验,可以直接复制到 Zabbix SNMPv2 Item 的”SNMP OID”字段里使用。
3.1 system group(MIB-II / RFC 3418)
挂在 .1.3.6.1.2.1.1 下,所有 SNMP 设备都暴露,最常用的 5 项:
| OID | 名称 | 含义 |
|---|---|---|
.1.3.6.1.2.1.1.1.0 | sysDescr | 设备描述(厂商/型号/固件) |
.1.3.6.1.2.1.1.2.0 | sysObjectID | 厂商 Enterprise OID(如 .1.3.6.1.4.1.11.2.3.9 = HP LaserJet) |
.1.3.6.1.2.1.1.3.0 | sysUpTime | 运行时长(百分之一秒,可用于”在线时长”指标) |
.1.3.6.1.2.1.1.5.0 | sysName | 设备名 |
.1.3.6.1.2.1.1.6.0 | sysLocation | 物理位置 |
OID 末尾的 .0 是 scalar 对象的实例号(叶子节点),GET 时必须带,否则 RESPONSE 无值。RFC 3418 §3.6 已核对:sysDescr ::= { system 1 }、sysUpTime ::= { system 3 }。
3.2 Host Resources MIB(RFC 2790)
挂在 .1.3.6.1.2.1.25.3.5 下,专门描述打印机状态。RFC 2790 §6.5、§6.7 已二次核验:
| OID | 名称 | 含义 |
|---|---|---|
.1.3.6.1.2.1.25.3.5.1.1.<idx> | hrPrinterStatus | 整数枚举:1=other 2=unknown 3=idle 4=printing 5=warmup |
.1.3.6.1.2.1.25.3.5.1.2.<idx> | hrPrinterDetectedErrorState | OCTET STRING 位图:bit0=lowPaper, bit1=noPaper, bit2=lowToner, bit3=noToner, bit4=doorOpen, bit5=jammed, bit6=offline, bit7=serviceRequested 等 |
<idx> 是 hrDeviceIndex(RFC 2790 INDEX 定义)。如果一台打印机被 SNMP Agent 报告为 hrDeviceType=printer,对应 hrPrinterTable 就有一行 idx=Zabbix 必须用低层发现(LLD)自动遍历。
3.3 Printer MIB(RFC 3805 ★ 核心)
挂在 .1.3.6.1.2.1.43 下(printmib = mib-2.43),这是打印机专用 MIB,跨厂商通用。RFC 3805 §6.1 已二次核验:printmib OBJECT IDENTIFIER ::= { mib-2 43 }。
| 子树编号 | 名称 | 对应数据 |
|---|---|---|
.1.3.6.1.2.1.43.5 | prtGeneral | 通用信息(序列号、配置计数) |
.1.3.6.1.2.1.43.6 | prtCover | 盖板状态(卡纸时报错) |
.1.3.6.1.2.1.43.8 | prtInput | 进纸盘 |
.1.3.6.1.2.1.43.9 | prtOutput | 出纸盘 |
.1.3.6.1.2.1.43.10 | prtMarker | 标记引擎(总印量/打印技术) |
.1.3.6.1.2.1.43.11 | prtMarkerSupplies | ★ 耗材(碳粉/墨水余量) |
.1.3.6.1.2.1.43.12 | prtMarkerColorant | 颜色(CMYK / RGB 字符串) |
.1.3.6.1.2.1.43.18 | prtAlert | 警报事件 |
最关键的 5 个 leaf OID(实战必抓),所有数字都已在 RFC 3805 原文核验:
| OID(含实例索引) | 名称 | 用途 |
|---|---|---|
.1.3.6.1.2.1.43.5.1.1.17.0 | prtGeneralSerialNumber | 设备序列号 ★ 资产盘点 |
.1.3.6.1.2.1.43.10.2.1.4.<hrDevIdx>.<mrkIdx> | prtMarkerLifeCount | ★ 总印量(永久计数器) |
.1.3.6.1.2.1.43.11.1.1.6.<hrDevIdx>.<supIdx> | prtMarkerSuppliesLevel | ★ 碳粉/墨水当前余量 (-3=未知, -2=其它, -1=不可知, 否则百分比) |
.1.3.6.1.2.1.43.11.1.1.7.<hrDevIdx>.<supIdx> | prtMarkerSuppliesMaxCapacity | 满装容量 |
.1.3.6.1.2.1.43.12.1.1.4.<hrDevIdx>.<colIdx> | prtMarkerColorantValue | 颜色字符串(black/cyan/magenta/yellow) |
RFC 3805 §6.4 PrtMarkerSuppliesEntry SEQUENCE 已二次核验:第 6 项 index = prtMarkerSuppliesLevel、第 7 项 = prtMarkerSuppliesMaxCapacity、第 9 项 = prtMarkerSuppliesLevel(注:SEQUENCE 内 9 号位与原任务表存在出入,以 RFC 3805 原文定义为准)。
四、5 款企业打印机厂商 Enterprise OID 实战
每个企业打印机厂商都有自己的私有 MIB,根 OID 来自 IANA Private Enterprise Number(PEN)。下面是 5 款实战机型的 enterprise OID root,数据来源为 www.iana.org/assignments/enterprise-numbers.txt(每日更新,最权威)。
| 厂商 | 推荐机型 | IANA PEN | Enterprise OID 根(数据来源:IANA) |
|---|---|---|---|
| HP | LaserJet M404dn | 11 | .1.3.6.1.4.1.11 |
| Brother | HL-L8360CDW | 2435 | .1.3.6.1.4.1.2435 |
| Canon | imageRUNNER C3326 | 1065 | .1.3.6.1.4.1.1065 |
| EPSON | WorkForce Pro WF-C878R | 345 | .1.3.6.1.4.1.345 |
| Lexmark | MS821dn | 641 | .1.3.6.1.4.1.641 |
选型逻辑:HP M404dn / Brother L8360CDW 覆盖中小企业最常见的 A4 单色 + 彩色激光;Canon C3326 走 A4 彩色复合机 + 大印量场景;EPSON C878R 是 A3+ 喷墨 + 耗材成本敏感型(政府 / 教育 / 设计公司常用);Lexmark MS821dn 是高印量高强度企业机的代表(金融 / 制造业常见)。
厂商私有 OID vs 标准 OID:本文档推荐 “标准 MIB 优先 + 厂商私有 MIB 补充” 原则。理由:①跨厂商监控项统一(一个模板就能套 5 台打印机);②维护成本低(厂商固件升级私有 OID 可能变化,但 RFC 3805 的 OID 树十几年稳如磐石)。下面实战章节所有 Item 配置都用 .1.3.6.1.2.1.43.x 标准 OID,跨 5 款机型通用。
4.1 HP LaserJet M404dn(私有 Enterprise MIB 子节点)
HP-LASERJET-COMMON-MIB(observium.org 索引)下能明确对应的实战 OID:
| OID | 名称 | 类型 | 含义 |
|---|---|---|---|
.1.3.6.1.4.1.11.2.3.9.1.1.2.10 | gdStatusTonerLow | TruthValue (scalar) | 低碳粉告警状态(true=低,false=正常) |
.1.3.6.1.4.1.11.2.3.9.1.1.2.8 | gdStatusPaperOut | TruthValue (scalar) | 缺纸状态 |
.1.3.6.1.4.1.11.2.3.9.1.1.2.9 | gdStatusPaperJam | TruthValue (scalar) | 卡纸状态 |
实战:用 snmpget -v2c -c public 192.168.10.50 .1.3.6.1.4.1.11.2.3.9.1.1.2.10 立即返回 TruthValue: false。在 Zabbix Item type 选 SNMPv2 agent 时用 last()=true 触发告警,比 RFC 2790 的 hrPrinterDetectedErrorState 位图更直观(直接拿到布尔值,无需位图解析)。
4.2 Brother HL-L8360CDW(私有 Enterprise MIB 子节点)
BROTHER-MIB(observium.org 索引)下能明确对应的实战 OID:
| OID | 名称 | 类型 | 含义 |
|---|---|---|---|
.1.3.6.1.4.1.2435.2.3.9.4.2.1.5.5.10 | brInfoCounter | OctetString (scalar) | 总印量(OctetString 数字) |
.1.3.6.1.4.1.2435.2.3.9.4.2.1.5.5.19 | brInfoEstimatedPagesRemaining | Integer32 (scalar) | 预计剩余页数 |
.1.3.6.1.4.1.2435.2.3.9.4.2.1.5.5.4 | brInfoStatus | Integer32 (scalar) | 状态消息 ID(0=正常 1=警告 2=错误) |
.1.3.6.1.4.1.2435.2.3.9.1.1.2.10 | tonerlow | TruthValue (scalar) | 低碳粉告警 |
Brother 的 OID 树比 HP 深一层(5 段),但brInfoEstimatedPagesRemaining 是 Brother 的杀手锏:直接给出”还能印多少页”,比 RFC 3805 的百分比更易触发主动采购流程(剩余 < 200 页时给采购发提醒)。
4.3 Canon imageRUNNER C3326 / Epson WF-C878R / Lexmark MS821dn
本次核验未在公开索引(observium / mibdepot / oidview)找到这 3 款机型经核验的私有 Enterprise MIB 子节点。出于”不凭记忆编造”原则,实战中统一使用 RFC 3805 标准 OID(prtMarkerLifeCount / prtMarkerSuppliesLevel / prtAlert)配合 HR-MIB 的 hrPrinterStatus,已经能覆盖碳粉余量、总印量、错误状态三类核心需求。如果后续在 Canon / Epson / Lexmark 官方文档找到私有 MIB 节点,可通过 snmpwalk -v2c -c public <IP> .1.3.6.1.4.1.1065(Canon)/ .1.3.6.1.4.1.345(Epson)/ .1.3.6.1.4.1.641(Lexmark)递归 walk 整个 enterprise 子树补全。
五、Zabbix 7.4 SNMP 接入准备(2 条命令)
在 Zabbix Server(默认假设已按我站文章 #10098 的 7.4 LTS + 外置 MySQL 教程部署完毕)上确认 SNMP 模块与工具链可用:
# 1) 检查 Zabbix Server SNMP poller 进程 systemctl status zabbix-server | grep -E "snmp|poller" # 2) Zabbix Server 主机装 net-snmp 客户端(用于本地 snmpwalk 联调) # CentOS / RHEL 9: dnf install -y net-snmp net-snmp-utils # Debian / Ubuntu 24.04: # apt install -y snmp snmp-mibs-downloader # 如系统默认不下载厂商私有 MIB,首次执行下载官方 IANA / RFC 仓: # download-mibs # 3) 测一台打印机的 SNMP 连通性(替换 IP) snmpwalk -v2c -c public 192.168.10.50 1.3.6.1.2.1.1.1.0 # 应输出类似: "STRING: HP LaserJet M404dn …"
public 是绝大多数打印机的默认 community,出厂未改的安全隐患务必第一条建议调整。
六、创建 Printer Host + SNMP 接口配置
在 Zabbix Web UI(默认 http://<server>:8080)中完成 5 步:
- Configuration → Hosts → Create host:Host name 填打印机名(建议与 sysName 一致),Groups 加 “Printers”,IP address 写打印机管理 IP;
- Templates 标签页:先不要 link,等第七章建好自定义模板再 link;
- SNMP interfaces 区域:Add new interface,类型 SNMP,IP 192.168.10.50,Port 161;
- Macros 标签页:添加
{$SNMP_COMMUNITY} = public(user macro),后续模板里调用此宏; - Inventory 标签页:选 Automatic,Zabbix 会自动把 sysDescr / 序列号填到 Manufacturer / Model / Serial 字段,资产台账直接同步。
如果打印机很多(≥ 30 台),建议在资产台账加自定义 Tag: 楼层 / Tag: 部门,Dashboard 按 Tag 切片显示。
七、5 款打印机的 Zabbix 监控项与模板(实战)★
在 Configuration → Templates → Create template 新建 Template SNMP Printer Generic v1.0(基于 RFC 3805 跨厂商模板),组里 link 到 5 款打印机 host。下面列出 10 个核心 Item 的 OID + Zabbix 配置,OID 数字从 RFC 3805/2790/3418 原文核验,可直接复制粘贴。
| Item name | Type | OID | 取数策略 |
|---|---|---|---|
| printer.sys.descr | SNMPv2 agent | 1.3.6.1.2.1.1.1.0 | 每 1h |
| printer.uptime | SNMPv2 agent | 1.3.6.1.2.1.1.3.0 | 每 60s,存为 Numeric (unsigned) |
| printer.serial_number | SNMPv2 agent | 1.3.6.1.2.1.43.5.1.1.17.0 | 每 6h |
| printer.page_total | SNMPv2 agent | 1.3.6.1.2.1.43.10.2.1.4.1.1 | ★ LLD 遍历 marker 引擎 |
| printer.toner.level.* | SNMPv2 agent | 1.3.6.1.2.1.43.11.1.1.6.1.* | ★ LLD 遍历耗材 |
| printer.toner.max.* | SNMPv2 agent | 1.3.6.1.2.1.43.11.1.1.7.1.* | 每 12h |
| printer.toner.color.* | SNMPv2 agent | 1.3.6.1.2.1.43.12.1.1.4.1.* | ★ LLD 遍历颜色 |
| printer.status | SNMPv2 agent | 1.3.6.1.2.1.25.3.5.1.1.1 | 每 60s |
| printer.error_state | SNMPv2 agent | 1.3.6.1.2.1.25.3.5.1.2.1 | 每 60s,存为 HEX/Bitmap |
| printer.snmp_engine_time | SNMPv2 agent | 1.3.6.1.6.3.10.2.1.3.0 | 每 5min(健康度) |
★ 标 3 行是真正发挥价值的 LLD 项,因为 hp/brother/canon/epson/lexmark 一台机内的碳粉数不一(黑白 1 支 / CMYK 4 支),必须用 LLD。LLD 规则:Discovery rule 选 SNMPv2 agent,OID 用 1.3.6.1.2.1.43.11.1.1.1(prtMarkerSuppliesIndex),Key 用 printer.toner.discovery;LLD macros 自动暴露 {#SUPPLIES_INDEX},Item 原型用 1.3.6.1.2.1.43.11.1.1.6.1.{#SUPPLIES_INDEX}。
八、Trigger 告警:碳粉 / 离线 / 卡纸 / 抖动监测
8 个最常用 Trigger 表达式(直接复制到 Zabbix → Configuration → Templates → Triggers):
| 场景 | Severity | 表达式(基于 RFC 3805 OID) |
|---|---|---|
| 碳粉 ≤ 20% | Warning | {Template SNMP Printer Generic v1.0:printer.toner.level.last()}<=20 and last()>0 |
| 碳粉耗尽 (-2) | High | last()=-2 |
| 设备离线 | High | {ITEM.last()}#0(nodata 5min) |
| 卡纸(bit 5) | Disaster | (printer.error_state.last() & 0x20)>0 |
| 门开(bit 4) | Warning | (printer.error_state.last() & 0x10)>0 |
| 缺纸(bit 1) | Warning | (printer.error_state.last() & 0x02)>0 |
| 无服务请求(bit 7) | Warning | (printer.error_state.last() & 0x80)>0 |
| 状态不空闲 | Info | {printer.status.last()}<>3 and {printer.status.last()}<>2 |
位图按位与运算是关键:hrPrinterDetectedErrorState 是 OCTET STRING 形式的多字节状态位,RFC 2790 已规定每 bit 含义。在 Zabbix 中用 & 0x80 等表达式解析对应位。经验:位图告警是打印机监控的灵魂——比单纯"碳粉低"告警早 1-2 周发现卡纸、电机磨损等隐患。
九、Graphs + Dashboard + 自动发现
Graphs 3 件套(每个模板都建一遍):
- 碳粉余量饼图:
printer.toner.level.*× 4 (CMYK) + max → 计算百分比堆叠; - 总印量趋势图:
printer.page_total折线,X 轴时间,Y 轴页数,月度盘点时直接看每月增长; - 打印机状态时间线:
printer.status阶梯图 (Step),按位图叠加,方便和 IT 工单时间比对。
Dashboard 模板:建一个共享 Dashboard Printers Health,加 3 个 Widget:①Total printers(Host counter,按 group=Printers 过滤);②Toner low widget(Problems 过滤 trigger severity ≥ Warning 且 item 含 toner.level);③Top 10 printers by page_total(Top hosts widget,按月增长排序)。
十、常见问题排错清单
| 故障现象 | 根因 + 修法 |
|---|---|
| snmpwalk timeout | 打印机 Web 后台 SNMP 没开,或 community 名不是 public。进 192.168.10.50 → Network → SNMP → Enable + community |
| Zabbix Item 取不到值(No data) | 防火墙拦截 161/UDP:ss -tulnp | grep 161;Zabbix Server 主机 firewall-cmd 放行;用 snmpwalk 本地测试 |
| hrPrinterTable 抓不到 | 打印机启用了"打印即插即用"但未注册为 hrPrinterType=printer。改成 embedded print server 或外置 JetDirect |
| 碳粉余量恒为 -3 | 固件版本太老未实现此 OID。升级 firmware 或改用厂商私有 OID(HP: .1.3.6.1.4.1.11.2.3.9.1.1.2) |
| net-snmp MIB 下载失败 | snmp-mibs-downloader 在 RHEL 装不上。改成手拷 mib 文件到 /usr/share/snmp/mibs/ 或用 -M /tmp/mibs 临时目录 |
| 太多误报 | 打印机休眠时 SNMP 不响应。在 Host 界面加 Maintenance period(按工作日时段),并用 (nodata) 替代时间窗 |
十一、总结:3 类场景 vs 5 款选型决策
企业接入决策树:①若已部署 Zabbix 监控其它设备 → 直接给打印机新建 Template,零新增基础设施;②若还没用 Zabbix → 仅监控打印机性价比不如 PRTG / NetCrunch,但打印机 ≥ 30 台 + 想统一监控时强烈建议;③若打印机 < 5 台 → 用厂商自带 Web(HP Web JetAdmin / Epson EpsonNet Config)够用。
5 款选型速查:HP M404dn 是中国中小企业无可争议的第一大选择(市场份额、墨盒、售后都熟);Brother L8360CDW 在彩色 A4 + 性价比组合里最稳;Canon C3326 适合"复印打印扫描一体"复合需求;EPSON C878R 走墨仓耗材成本最优路线(每页 1-2 分钱);Lexmark MS821dn 是月打印 5 万页以上的金融 / 制造业高印量必选。
关键 OID 清单保留一张表(文档速查):sysUpTime=.1.3.6.1.2.1.1.3.0、prtGeneralSerialNumber=.1.3.6.1.2.1.43.5.1.1.17.0、prtMarkerLifeCount=.1.3.6.1.2.1.43.10.2.1.4.1.x、prtMarkerSuppliesLevel=.1.3.6.1.2.1.43.11.1.1.6.1.x、hrPrinterDetectedErrorState=.1.3.6.1.2.1.25.3.5.1.2.1——打印贴工位 5 分钟接入。
👉 相关阅读:Zabbix 与企业设备监控实战
可继续阅读:Zabbix 7.4 安装完整教程:Linux 系统使用外置 MySQL 数据库实战指南、Zabbix 7.4 完整配置 + 监控 VMware vCenter 实战、惠普打印机驱动安装完整指南。
🚀 IT峰哥软件库
国内领先的一站式IT软件资源下载平台,收录超十万款软件资源,覆盖操作系统、办公软件、开发工具、系统工具、安全防护、数据恢复等20余大类,满足IT从业者、程序员、设计师和普通电脑用户的一切软件需求。
🛡️ 安全可靠 · 每日更新
所有资源经过严格安全检测,绿色无毒,提供 免注册版 · 绿色版 · 激活版 · 简体中文版 等多种版本选择。每日更新,紧跟最新版本发布节奏!