
前言
在机房动环监控场景里,Modbus TCP 适合工控组态,但对于 IT 运维体系(Zabbix、PRTG、Nagios 这类网管平台),SNMP 才是原生适配方案。Honsor H-TH 系列以太网温湿度传感器内置 SNMP Agent,UDP 161 端口响应轮询,162 端口支持 Trap 主动上报告警,无需网关转换即可融入现有 IT 网管架构,非常适合机柜微环境、冷热通道、UPS 电池间多点采集。
新手常见的几个坑:拿到 MIB 不知道怎么验证 OID、读到整数不知道如何缩放换算、Zabbix 里不会配置预处理、SNMPv2c 安全配置随意沿用默认 public 共同体。本文提供一套可复现的调试流程,照着做即可跑通。
环境说明:传感器型号:H-THRJ45 以太网温湿度传感器(PoE 供电);SNMP 版本:v2c(内网调试),生产等保环境建议 SNMPv3;调试工具:Net-SNMP、MIB Browser、Zabbix 7.0;传感器 IP:
192.168.1.100
一、传感器端前置配置(Web 管理页)
先把网络和 SNMP 基础参数配置好,这是后续采集成功的前提。
-
电脑与传感器处于同一网段,浏览器访问传感器 IP,登录 Web 配置页面;
-
网络设置:设置静态 IP,关闭 DHCP,防止 IP 漂移导致监控断采;机房规范建议为动环设备单独划分 VLAN;
-
SNMP 基础配置:
- SNMP 端口:默认 UDP 161
- Read Community(只读共同体):不要使用默认 public ,自定义字符串,例如
EnvMon@2026 - Write Community:生产环境直接禁用,防止外部篡改阈值
- SNMP 版本选择:v2c;合规项目切换 SNMPv3,配置认证 + 加密
-
告警 Trap 配置(可选):填写 NMS 平台 IP,端口 162,勾选越限、探头断线 Trap 推送;
-
保存并重启传感器,确认网络连通:
ping 192.168.1.100
ping 通后再继续下一步。
二、Net-SNMP 命令行调试(最核心验证步骤)
在 Linux 或 WSL 中安装 net-snmp 工具包:
# CentOS
yum install net-snmp-utils
# Ubuntu/Debian
apt install snmp
2.1 读取系统信息,验证 SNMP Agent 正常存活
snmpget -v 2c -c EnvMon@2026 192.168.1.100 .1.3.6.1.2.1.1.1.0
如果正常返回设备描述字符串,说明 SNMP 服务已连通;若超时无返回,优先检查:防火墙 UDP 161 是否放行、VLAN 策略、共同体字符串是否一致。
2.2 snmpwalk 遍历厂商私有 OID 分支,拿到全部测点 OID
厂商私有 MIB 根 OID 示例:.1.3.6.1.4.1.39812
snmpwalk -v 2c -c EnvMon@2026 192.168.1.100 .1.3.6.1.4.1.39812
执行后会列出温度、湿度、露点、设备状态、固件版本等所有节点 OID。
重点:传感器返回的是放大后的整数,并非直接浮点值。示例:
- 温度 OID:
.1.3.6.1.4.1.39812.1.1.1.0,返回2532→ 2532 × 0.01 = 25.32 ℃- 湿度 OID:
.1.3.6.1.4.1.39812.1.1.2.0,返回4780→ 4780 × 0.01 = 47.80 %RH
2.3 单点读取温湿度命令
# 读取温度
snmpget -v 2c -c EnvMon@2026 192.168.1.100 .1.3.6.1.4.1.39812.1.1.1.0
# 读取湿度
snmpget -v 2c -c EnvMon@2026 192.168.1.100 .1.3.6.1.4.1.39812.1.1.2.0
命令行能读出正确整数,说明底层链路没有问题,接下来接入监控平台。
Windows 用户备选方案:使用 MIB Browser 工具,导入厂商 MIB 文件,可视化浏览 OID、一键 Get 测试。
三、Zabbix 平台对接实操(主流方案)
3.1 创建主机,添加 SNMP 接口
- 【数据采集】→【主机】→【创建主机】
- 主机名称:
机房-A机柜-温湿度传感器01,分组归入机房动环组; - 接口类型选择
SNMP,填入传感器 IP,端口 161; - SNMP 版本:SNMPv2c,共同体填入前面自定义的
EnvMon@2026; - 保存主机。
3.2 创建监控项(Item),配置预处理换算
新建监控项,分别创建温度、湿度两个监控项:
- 名称:传感器_通道1温度
- 类型:SNMP 代理
- SNMP OID:
.1.3.6.1.4.1.39812.1.1.1.0 - 信息类型:数值(浮点型)
- 单位:
℃ - 更新间隔:30s(机房监控推荐,不建议小于 10s)
- 预处理(关键!很多人漏掉这一步) :选择
乘以,系数填0.01;湿度监控项同理,OID 替换为湿度节点,单位%RH,同样乘以 0.01。
保存之后,等待下一个采集周期,查看最新数据,即可看到换算后的真实温湿度。
3.3 配置触发器(告警规则)
以 A 级机房规范为例:温度 18~27℃,湿度 40~60%RH。触发器表达式示例(温度超限):
last(/机房-A机柜-温湿度传感器01/env.temp) < 18 or last(/机房-A机柜-温湿度传感器01/env.temp) > 27
告警等级设置:一般告警/严重告警,绑定告警媒介(企业微信、短信、邮件)。同时增加设备离线触发器:利用 SNMP 可用性检测,传感器离线立即告警。
3.4 SNMP Trap 主动告警(补充)
轮询是平台主动拉取;Trap 是传感器检测到越限或故障后主动推送,告警延迟更低。
- Zabbix 服务端配置 snmptrapd;
- 传感器 Web 页 Trap 目标地址填写 Zabbix 服务器 IP,端口 162;
- 在 Zabbix 内配置 Trap 接收器与匹配规则,实现事件主动上送。
注意:Trap 是单向 UDP 报文,丢包不会重传,重要告警场景优先使用 Inform 模式。
四、常见故障排查清单(高频坑)
- snmpget 超时、无响应 ✅ 检查防火墙、iptables、安全组是否放行 UDP 161;交换机 ACL、VLAN 是否互通;确认共同体字符串大小写完全一致;
- OID 返回
noSuchName✅ OID 抄错;该 OID 在当前固件版本中不存在;注意区分 MIB 私有分支,不同厂商 OID 前缀不同,不能通用; - Zabbix 拿到的数值与传感器面板显示相差 10/100 倍 ✅ 忘记配置预处理乘系数!不同厂商缩放规则不同,有的 ×0.1,有的 ×0.01,以设备 MIB 文档为准;
- 运行一段时间后监控自动断采 ✅ 传感器开启了 DHCP,IP 发生变化;网络丢包率高;交换机端口风暴、广播抑制;建议全部使用静态 IP;
- Trap 收不到 ✅ 服务器 UDP 162 端口未放行;NAT 环境下需要端口映射;部分交换机会丢弃广播 Trap 包。
五、SNMPv2c 和 SNMPv3 选型建议
- 内网封闭机房、隔离 VLAN、无外网访问:选择 SNMPv2c,调试简单,运维成本低;
- 等保三级、涉密机房、跨公网采集:必须使用 SNMPv3,开启认证 + 加密,不再使用明文共同体,规避安全风险。
六、和 Modbus TCP 简单对比
很多工程师纠结两种协议如何选择:
- SNMP:IT 网管原生协议,适配 Zabbix、PRTG、网管系统;自带 Trap 告警;适合运维团队;
- Modbus TCP:工控协议,适配组态、PLC、边缘网关;读写点位更灵活,适合自控联动(联动空调、除湿机)。同一台 Honsor 以太网传感器可以同时开启 Modbus TCP + SNMP,两套协议并行采集。
结语
SNMP 接入以太网温湿度传感器这套方案,最大优势是复用现有 IT 监控体系,省去额外动环网关,非常适合算力机房、IDC 机柜微环境监测。调试顺序记住:先 ping 连通 → 命令行 snmpget 验证 OID 和换算关系 → 平台创建监控项 + 预处理 → 触发器告警 + Trap 补充。调试时优先用 Net-SNMP 命令行做验证,不要直接在平台里反复试错,能节省大量排错时间。