【zabbix实现动环监控 一】 项目介绍及前期准备

【zabbix实现动环监控 一】 项目介绍及前期准备

该文档的适用对象为:

对zabbix有了解的人员,如还未安装部署过zabbix,请参考官方文档或以下文档学习

基于Centos8+Nginx+php+postgresql14+timescaledb安装zabbix6.0

Grafana 安装

Zabbix 监控windows服务器

zabbix4.4邮箱、钉钉报警

【zabbix实现动环监控 系列】

【zabbix实现动环监控 二】 烟雾温湿度

【zabbix实现动环监控 三】 漏水监控

【zabbix实现动环监控 四】 普通空调监控

【zabbix实现动环监控 五】 UPS电源监控

背景

公司一共3个机房,但是由于前期建设投入不足,未实施动环监控。又遇上工厂限电,机房偶尔也会停电,这样需要检测UPS主机状态,后备电源的可用时长,不仅如此,由于未采用精密空调,采用3匹的家用空调,来电无法自启,机房温度甚至达到过40度,因此动环监控迫在眉睫。

一、动环监控概述

?动环监控全称动力环境监控,可以对机房的动力、环境、消防安全、门禁录像等信息进行实时监控记录,并可以使用短信、邮件、钉钉、微信等媒介进行告警,可以提高数据的准确性、实时性,简化运维人员的工作,而不必每天去机房点检各种信息。

动力:市电、电源、蓄电池、UPS、发电机等环境:温湿度、烟雾、漏水、门禁、视频等监控:遥测、遥信、遥控、遥调

二、厂商动环解决方案

咨询了3个动环监控厂商,方案均大同小异,更多的差异在于系统的便捷性与dashboard

dashboard展示如下:

看起来确实是领导喜欢的样子,但是价格也不便宜

项目报价:

报价1

报价2

报价3

厂商能提供一套完整的动环监控方案,并有dashboard看板展示,但是购买一套完整的动环监控系统对小公司来说也不便宜,如果还需要厂商上门安装,则费用更多。

毕竟动环监控不属于核心业务,有则锦上添花,无也没啥,老板不重视,所以自己动手做也纯属无奈。

三、zabbix动环解决方案

?由于公司预算有限,打算采用zabbix作为动环监控主系统,购买一些温湿度、烟雾、漏水、空调监控、ups等传感器收集数据,并通过串口服务器进行数据推送至zabbix进行收集,再通过Grafana进行dashboard展示。

整体设备清单如下(1个机房):

设备价格备注

4串口服务器400收集传感器数据12V供电155传感器供电烟雾温湿度传感器195漏水检测传感器180普通空调远程遥控/监控249支持开机自启、双机轮询、开关机状态检测UPS SNMP卡1238UPS远程监控总计2417京东价

一个机房仅需要2000+,就可以完成基本的动环监控功能,相比于厂商的方案,能为公司省下不少钱(实际工作中,最好还是能交给集成商就交给集成商,他们较专业,且有原厂技术支持,不要把锅留给自己)

效果如下:

UPS监控

温湿度

环境监测

四、动环监控方案架构1.逻辑架构

2.zabbix版本要求

zabbix 需要5.2版本以上

具体安装参考基于Centos8+Nginx+php+postgresql14+timescaledb安装zabbix6.0

客户端需要安装zabbix agent2,才可以使用modbus协议

客户端下载地址(windows),linux agent2直接yum或者源码编译安装即可

Download Zabbix agents

3.zabbix modbus协议格式

找一台主机安装zabbix agent2,添加到zabbix监控中,就可以使用modbus协议抓取数据。

这里采用zabbix server中安装zabbix agent2进行数据抓取。

就可以使用modbus.get进行数据抓取了

modbus.get格式如下:

modbus.get[endpoint,<slaveid>,<function>,<address>,<count>,<type>,<endianness>,<offset>]

官方参数介绍

参数描述默认示例

endpoint端点的协议和地址,定义为protocol://connection_string 可能的协议值: rtu, ascii (Agent 2 only), tcp 连接字符串格式: with tcp – address:port 带串行线: rtu, ascii – port_name:speed:params where ‘speed’ – 1200, 9600 etc ‘params’ – data bits (5,6,7 or 8), parity (n,e or o for none/even/odd), stop bits (1 or 2)协议: none rtu/ascii protocol: port_name: none speed: 115200 params: 8n1 tcp protocol: address: none port: 502tcp://192.168.6.1:511 tcp://192.168.6.2 tcp://[::1]:511 tcp://::1 tcp://localhost:511 tcp://localhost rtu://COM1:9600:8n ascii://COM2:1200:7o2 rtu://ttyS0:9600 ascii://ttyS1slave id它打算用于的设备的 Modbus 地址 (1 to 247), 参考 MODBUS Messaging Implementation Guide (page 23) tcp 设备(不是 GW)将忽略该字段serial: 1 tcp: 255 (0xFF)2function支持的函数的空值或值: 1 – Read Coil, 2 – Read Discrete Input, 3 – Read Holding Registers, 4 – Read Input Registersempty3address第一个注册表、线圈或输入的地址。 如果 ‘function’ 为空,则 ‘address’ 应该在以下范围内: Coil – 00001 – 09999 Discrete input – 10001 – 19999 Input register – 30001 – 39999 Holding register – 40001 – 49999 如果“function”不为空,“address”字段将从 0 到 65535 并且不加修改地使用 (PDU)empty function: 00001 non-empty function: 09999count将从设备读取的已排序“类型”计数,其中: for Coil or Discrete input the ‘type’ = 1 bit for other cases: (count*type)/2 = real count of registers for reading If ‘offset’ is not 0, the value will be added to ‘real count’ Acceptable range for ‘real count’ is 1:6553512type数据类型: 用于读取线圈和读取离散输入 – bit 用于读取保持寄存器和读取输入寄存器: int8 – 8bit uint8 – 8bit (unsigned) int16 – 16bit uint16 – 16bit (unsigned) int32 – 32bit uint32 – 32bit (unsigned) float – 32bit uint64 – 64bit (unsigned) double – 64bitbit uint16uint64endiannessEndianness type: be – Big Endian le – Little Endian mbe – Mid-Big Endian mle – Mid-Little Endian Limitations: for 1 bit – be for 8 bits – be,le for 16 bits – be,lebeleoffset寄存器数量,从’address’开始,其结果将被丢弃。 每个寄存器的大小为16bit(需要支持不支持随机读访问的设备).4

以烟雾温湿度传感器为例:

在淘宝找了一家温湿度传感器,查看介绍页面,找到设备地址与寄存器地址

该传感器对应到modbus.get的键值就是

#192.168.0.60为串口服务器IP,23为该串口的端口号,1位启始地址位,3为功能码,最后一位为寄存器地址位#烟雾modbus.get[tcp://192.168.0.60:23,1,3,11]#温度modbus.get[tcp://192.168.0.60:23,1,3,01]#湿度modbus.get[tcp://192.168.0.60:23,1,3,02]五、硬件介绍1.串口服务器

传感器的数据为串口信号,串口服务器可以将485串口的数据转为网络的方式传至zabbix服务器

?当然这样串口连接也有些麻烦,所以有些厂家的动环监控主机,不仅集成了监控系统,还可以直接采用RJ45的网口形式,只要采用网线的线序做好水晶头,插入到对应的端口即可,同时该端口还具备POE供电,大大简化部署操作。

如澳天的动环监控主机,有兴趣(预算)可以了解下

另一种是没有内置监控系统的串口服务器,如ZLAN串口服务器

2.12V供电设备

由于传感器需要供电,为了方便部署,采用12V统一供电设备,价格也比较便宜

3.网线线序

在使用网线作为485串口数据传输介质时候,采用以上的规范进行实施。

即:

白橙/橙RS+/RS-

白蓝/蓝12V+白棕/棕12V-

如图,实施中均采用此线序规范

传感器端

串口服务器端

这样可以实现一根网线部署,方便快捷。

六、总结

该篇介绍了基于zabbix的动环监控的整体建设思路,包含硬件选型(串口服务器、传感器、供电设备),modbus.get协议的使用以及实施的注意事项。后面将对每个传感器的实施部署,进行详细介绍。

【本文转自:香港大带宽服务器 st.html 欢迎留下您的宝贵建议】快乐时,想想我的影子,我会在云上为你喝彩

【zabbix实现动环监控 一】 项目介绍及前期准备

相关文章:

你感兴趣的文章:

标签云: