实操!用Zabbix+500元硬件如何平替5万元动环检测系统,实现UPS温湿度烟雾等数据采集存储、告警、大屏展示?

举报
Zabbix中国 发表于 2023/01/05 14:37:11 2023/01/05
【摘要】 实操!用Zabbix+500元硬件如何平替5万元动环检测系统,实现UPS温湿度烟雾等数据采集存储、告警、大屏展示?

感谢本文作者 王志杰 。诚邀社区伙伴积极投稿!

前提

架构展示:

图片


大屏展示:

图片


所需软件:
Zabbix
Grafana
安装Zabbix-agent2的采集服务器
MThings串口调试软件
厂家自带UPS监控软件
USR-VCOM有人虚拟串口软件


所需硬件:
有人串口服务器(USR-N510)
自制RS485连接线
万图思睿 SD123-ST01 RS485温湿度变送器
万图思睿 SD123-SA01-R4 RS485烟感报警器


所需资料:
科士达YDC3330 modbus开发文档
YDC3330说明书


一、安装、配置串口服务器

1、硬件安装

制作UPS所需要的RS485通讯线,我使用了1、2、8,分别是485+、485-、GND地线,而12V是不需要连接的,因为我们连接的对象是UPS,它并不需要我们通过12V为其供电。
如果我们连接的是温湿度计,则需要通过12V为其供电。

YDC3330自带两个RS485接口,其支持菊花链连接,所以我使用RS485线一根接一根串起来,这样外观美观。


注意,UPS接线非常危险,注意安全!

串口服务器只需要将串口模式拨到RS485,并且连接电源、网线、串口线即可


2、网络更改

按串口服务器背面IP地址,登录,修改IP地址和串口参数、协议参数。

右上角更改语言,左侧更改IP地址、按UPS说明书要求调整串口内容,我这里使用的9600:8n1,下方我这里需要使用厂家的UPS软件测试,所以使用的TcpServer None,后面使用Zabbix modbus-get的时候,就需要改成ModbusTCP了


二、解析文档

1、使用厂家软件测试

安装USR-VCOM有人虚拟串口软件,这个软件的作用可以理解为通过网络将串口无限延长。

串口 - 有人串口服务器 - 虚拟串口

此时我们使用厂家的UPS软件,软件正常运行

通过菊花链串联的方式,4台UPS都上线了,可以搜索到站号分别为1、5、6、7,这个后面要用到


2、解析参数

如何获取我们需要的参数呢

假设,我们要获取A相输入电压,查看说明书

采用的modbus-RTU报文格式如图

功能码对照表

A相输入电压地址,大小2Byte

按modbus-RTU组合参数,此时的报文为 01 04 75 30 00 01 XX XX

01为站号1
04为功能码,我们要取的30001在功能码中为04H读
75 30为30000的十六进制
00 01为读取一个寄存器地址,即30001的数据,同理我们要读取ABC三相输入,此处就为00 03三个寄存器地址
XX XX为校验码,modbus调试软件可以自动生成


使用MThings调试,确认我们要获取的数据没问题

此处发现厂家说明书印刷错误,印刷运行状态为30070,实际测试为30080


三、配置Zabbix

1、修改串口服务器为modbus-tcp模式



2、通过zabbix-agent2获取数据

安装一台主机,并安装zabbix-agent2,接入zabbix

在zabbix服务器上通过命令请求数据,可以看到数据返回正常

zabbix_get -s 172.16.21.5 -k modbus.get[tcp://172.16.10.201:9000,1,4,30000,81]
zabbix_get -s 172.16.21.5 指定请求的客户端
-k modbus.get 以modbus.get方式请求
tcp://172.16.10.201:9000,1,4,30000,81 串口服务器IP端口,站号1,功能码4,从30000开始请求,请求81个寄存器数据



3、制作zabbix监控项

我们采用的方式是一次请求,分段解析

添加监控项

制作modbus-get监控项,按图片填写即可

键值:modbus.get[tcp://172.16.10.201:9000,1,4,30000,81]
信息类型:文本


添加监控项


制作数据分类监控项,从modbus-get监控项获取数据

注意类型为:相关项目
主要项是modbus-get监控项


还没完,点击到进程中,此处是配置获取第几位的数值,有没有倍率关系,倍率关系看说明书

JSONPath = $[17]
自定义倍数 = 0.1



4、制作zabbix报警项

添加触发器

last(/donghuan/ups1yunxingzhuangtai)=5

当ups1yunxingzhuangtai值为5时报警,5的值在说明书中为市电中断

拉闸测试,5s内收到微信告警

添加监控数据获取失败报警

表达式:nodata(/donghuan/modbus.get[tcp://172.16.10.201:9000,7,4,30000,81],30)=1
30秒后无数据进行报警



四、配置大屏

Grafana正常接入Zabbix

添加一项,一看就懂


按自己的喜好风格制作大屏即可


五、温湿度、烟雾传感器协议解析

新增内容:


温湿度采集

修改设备地址

烟雾采集

手动触发烟雾告警

读取烟雾信号

万图思睿的产品修改设备地址方式相同


六、小结

文章很流畅,但现实并不会如此顺利。
第一次,使用的串口线有问题,导致无法连接UPS
第二次,厂家给我发错了文档,连续一星期无法测试成功
第三次,厂家发对了文档,但是文档的内容错误,导致获取的数据不正确
半个月时间分析协议,最后接入Zabbix制作大屏仅用了半天而已
最后,Zabbix无比强大,值得深入学习!


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。