双网口 + RS485 机柜温湿度传感器,Modbus RTU/TCP 如何接入 Zabbix

目录

TOC

1. 前言

机房、配电室机柜的温湿度采集是动环监控基础需求。本文这款传感器容易踩一个大坑:双RJ45网口≠原生Modbus-TCP网口。 网口仅用于承载RS485差分信号,用普通网线实现手拉手级联,底层协议为Modbus-RTU;想要接入Zabbix,存在两种主流方案:

  • 方案1:Modbus-RTU 串口直连(USB转485、串口服务器,适合测试、少量点位)
  • 方案2:485转TCP网关,Modbus-TCP接入(正式机房项目推荐,支持批量级联)

✅ 调试原则:先用Modbus Poll在电脑端调通传感器通讯,确认地址、波特率、寄存器无误,再配置Zabbix!

2. 设备基础参数与寄存器定义

参数项 参数值
通讯接口 RS485,双RJ45(IN/OUT手拉手级联)
通讯协议 Modbus-RTU,功能码03(读保持寄存器)
默认串口参数 9600,8N1
寄存器0000 温度,原始值=实际温度×10
寄存器0001 湿度,原始值=实际湿度×10
从站地址 1~63,总线地址不可重复

⚠️ 重要提醒:传感器本身无独立IP,必须借助网关才能转为Modbus-TCP!

两种接入方案对比

方案 链路结构 优点 缺点
Modbus-RTU串口直连 传感器→USB转485/串口服务器→Zabbix串口 成本低,适合调试、少量点位 稳定性差,不适合机房长期生产使用
Modbus-TCP网关转发 传感器485总线→485转TCP网关→局域网→Zabbix 布线灵活,标准化TCP,适合机柜集群批量部署 需要额外增加Modbus网关硬件

3. 前置准备

  1. Zabbix服务开启modbus模块 打开 zabbix_server.conf,确保配置:

    LoadModule=modbus.so

保存后重启服务

复制代码
systemctl restart zabbix-server
  1. TCP方案:放行网关502端口(Modbus默认端口),网关与Zabbix服务器同局域网;
  2. 硬件检查:485总线A/B线不接反,长距离总线末端加装120Ω终端电阻。

4. 方案一:Modbus-TCP网关接入(推荐生产环境)

网关预先配置串口参数、总线上所有传感器从站地址,网关对外提供TCP 502端口。

4.1 创建主机

【配置】→【主机】→【创建主机】

  • 主机名称:机柜温湿度网关
  • 主机群组:机房动环
  • 接口:新增Modbus接口,填写网关IP:502 ❗注意:这里填写的是网关IP,不是传感器,传感器没有IP!

4.2 创建监控项(Item)

示例:从站地址 = 1 监控项1:机柜温度

  • 名称:机柜温度
  • 类型:Modbus客户端
  • 键值:modbus[1,192.168.1.100,502,03,0,0,1,uint16]
  • 信息类型:浮点数
  • 单位:℃
  • 更新间隔:30s
  • 预处理:除以10

监控项2:机柜相对湿度

  • 名称:机柜相对湿度
  • 类型:Modbus客户端
  • 键值:modbus[1,192.168.1.100,502,03,0,1,1,uint16]
  • 信息类型:浮点数
  • 单位:%RH
  • 更新间隔:30s
  • 预处理:除以10

4.3 配置触发器(告警)

高温触发器表达式示例:

复制代码
last(/机柜温湿度网关/modbus[1,192.168.1.100,502,03,0,0,1,uint16])/10 > 40

告警标题:【机房机柜高温告警】机柜温度超过40℃

高湿触发器表达式示例:

复制代码
last(/机柜温湿度网关/modbus[1,192.168.1.100,502,03,0,1,1,uint16])/10 > 80

告警标题:【机房机柜高湿告警】机柜湿度超过80%RH

5. 方案二:Modbus-RTU串口直连(测试场景)

适合USB转485适配器本地调试,串口路径 /dev/ttyUSB0 监控项键值示例:

复制代码
modbus[1,/dev/ttyUSB0,9600,03,0,0,1,uint16]

其余预处理、触发器配置和TCP方案完全一致。

⚠️ 缺陷:USB容易掉线、稳定性差,不建议正式机房长期使用。

6. 批量点位最佳实践:模板+宏复用

机房多条总线、几十台传感器,逐个建主机效率极低,推荐模板方案:

  1. 创建模板 Template_Modbus_RS485_TH

  2. 监控项使用宏 {$SLAVEID} 代替从站地址

    modbus[{$SLAVEID},192.168.1.100,502,03,0,0,1,uint16]

  3. 每台传感器新建主机,链接该模板,宏变量 {$SLAVEID} 设置为对应从站ID 好处:统一修改采集周期、告警阈值,后期维护方便。

7. 常见故障排查

  1. 监控项超时,读不到数据 优先Modbus Poll直连网关测试,Poll读取失败 = 硬件/总线问题。检查:AB是否接反、502端口防火墙拦截、总线过长缺少终端电阻、从站地址错误。

    高频坑:部分厂商寄存器从1开始计数,配置时寄存器地址需要-1偏移!

  2. 读数偏大10倍 传感器协议放大10倍传输,预处理必须配置除以10。

  3. 级联后方传感器通讯失败 网线芯线损坏、总线挂载节点过多(485总线建议≤32台)、无终端电阻造成信号反射。

  4. 分不清双网口传感器与原生TCP传感器 原生TCP传感器自带IP;本文这款双网口仅为485级联口,无IP,必须搭配Modbus网关。

8. 部署拓扑建议

网关部署在弱电柜,传感器沿着服务器机柜手拉手串联; 485屏蔽网线单独走线,和强电电源线间距≥30cm,屏蔽层单端接地,降低电磁干扰。

9. 总结

这款双网口RS485机柜温湿度传感器,最大优势是网线手拉手级联,简化机房布线。接入Zabbix优先选择485转Modbus-TCP网关方案,依托Zabbix原生Modbus采集能力,搭配触发器实现温湿度异常告警,是性价比很高的机柜环境监控方案。

相关推荐
FPGA小迷弟20 小时前
FPGA开发Vivado Block Design/Vitis/SDK/xlinx/开发教程,保姆级别,一看就会!
网络协议·tcp/ip·fpga开发·verilog·fpga
FPGA小迷弟20 小时前
基于FPGA实现智能网卡的概念,什么是智能网卡
网络协议·tcp/ip·fpga开发·verilog·fpga
深圳恒讯1 天前
国外云服务器部署企业官网,怎样确定配置、IP 与后续扩容方案?
运维·服务器·tcp/ip
jaysee-sjc1 天前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
未来之窗软件服务1 天前
诡异的网络IP/域名/ICMP通应用层失败骨干网分层拦截分析-东方仙盟
网络·tcp/ip·智能路由器·dns劫持·仙盟创梦ide·东方仙盟
幻智星科技1 天前
我砍掉了FPGA里的ARM核项目反而提前交付了
arm开发·网络协议·fpga开发·硬件架构
cyf311 天前
半小时玩转RDMA:从零跑通高速网络通信
网络协议·rdma·高速通信·rocev2·wireshark抓包·ai 智算网络·入门实战
砺星Leetx2 天前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
科技小登2 天前
网站和游戏怎么选高防?DDoS防护、高防IP与高防CDN接入方案解析与边界评估
tcp/ip·ddos