如何用Zabbix监控温湿度?Zabbix对接modbus tcp设备实操

news2024/11/23 4:56:50

背景:

1、公司机房没有专用的温度监控设备,以往是通过snmp功能get服务器的CPU或是主板温度,根据偏差值算出机房的大致温度(温度计值与服务器的差值),可最近研发部门经常在服务器跑高负载任务,导致计算出的环境温度极度不准

2、网上虽然有成套的温度报警产品,但从以下方面讲不符合公司要求:

2-1:现有产品多是通过邮箱或是手机语音/手机短信、微信报警,而我司需要对接到内部平台统一报警

2-2:网上的设备大多在200~400元价格,支持云功能的还要续平台费(每年要提采购、报销审批,内部流程很麻烦)

实现过程:

1、首先是购买硬件设备,网关+温度传感器大概需要200~220元左右,如下图所示:

· 左侧图片为modbus tcp网关,实现485或是modbus rtu协议转modbus tcp协议

· 右侧图片为温湿度探头,支持modbus rtu协议,通过485连接网关、然后转为tcp协议

在这里插入图片描述
在这里插入图片描述

2、系统及软件方面:

· 在linux系统安装5.2版本以上的Zabbix-Server (5.2开始支持modbus协议)

· zabbix-agent2 (当前仅zabbix-agent2版支持modbus,后期可能会增加zabbix-agent的支持)

3、在这里理顺一下逻辑,否则各位在配置时可能会出现错误或是疑问:

· 虽然Zabbix-Server可以直接对被监控主机做一些例如ping、snmp、service.perf、port.perf等的监控,但是modbus数据的获取是通过zabbix-agent2实现的,也就是说agent2获取到被控主机的modbus数据,再将结果回传到Zabbix-Server。如果modbus设备自身、或是所在网络有防火墙策略的话,需要放行agent2主机访问(Zabbix的server和agent可以安装到同一个linux系统上)

4、部署Zabbix-Server,因为官网有十分详尽的教程、在此不做描述,这里要提一句:官网命令中安装的数据库并不完整,需要自行手动安装下mariadb

· 官网链接:官网安装教程

5、安装zabbix-agent2,这里着重说明一下:modbus需要zabbix-agent2的支持,而我们通过命令yum install zabbix-agent默认安装的是v1版,Zabbix-Server自带的也是v1版agent

· 首先停用或是卸载旧版agent(如果存在的话),拿centos7来说,可以执行systemctl stop zabbix-agent; yum autoremove zabbix-agent进行停用后的卸载

· 因为zabbix-agent2部分使用go语言编写,所以它依赖go环境,这里我们通过一键安装脚本部署(基于Centos安装,如果是debian的话需要提前安装sudo):

引用链接:一键安装go环境

git clone https://gitee.com/xuthus5/golang-install-shell.git (如果报错需要安装git)
cd golang-install-shell
chmod +x install.sh
./install.sh
· 出现以下安装界面后,选择0 安装golang环境,然后按默认参数安装即可:


  1. 安装golang环境
  2. 安装gopm跨墙
  3. 安装web框架
  4. 安装包
  5. 退出

输入操作编号:0

选择安装版本:

  1. 1.11
  2. 1.10.4
  3. 1.9.7
  4. 1.8.7

输入安装版本编号(默认1):

 
输入程序安装目录GOROOT(默认 /usr/local):
输入GOPATH目录(默认 /root/go):
·  安装完成后,选择4 退出

go version go1.11 linux/amd64
环境变量配置成功!请执行 source /root/.bashrc 确保配置生效
----------------------------------
0) 安装golang环境
1) 安装gopm跨墙
2) 安装web框架
3) 安装包
4) 退出
----------------------------------
输入操作编号:4
基于ARM-Linux的Modbus串口服务器设计    ← 下载

· 安装zabbix-agent2:

# 添加官网源
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm


# 清除yum缓存
yum clean all 


# 安装agent2,安装完后程序会自动运行、并自动配置开机自启动功能
yum install zabbix-agent2


· 安装成功后编辑配置文件:

# 编辑配置文件
vi /etc/zabbix/zabbix_agent2.conf
# 根据实际环境修改以下项目
Hostname=
Server=
ServerActive=


# 配置完成后重启agent2
systemctl restart zabbix-agent2
· 在Zabbix-Server服务器添加安装了zabbix-agent2的主机,并添加modbus监控项


![在这里插入图片描述](https://img-blog.csdnimg.cn/7792cc4728334ae6948e06398e1d2882.png#pic_center)






· 这里引用官网对modbus监控项的详细介绍及访问链接:官网介绍

![在这里插入图片描述](https://img-blog.csdnimg.cn/b335cd085c5d4d9a8bfa065d18f7bc77.png#pic_center)

· 这是根据实际环境修改后的参照表:

![在这里插入图片描述](https://img-blog.csdnimg.cn/0e708242e13840b2b45d64e07bcf0799.png#pic_center)



· 我所用到的温度传感器给出的温度值是实际值的10倍,所以在zabbix进程中要除以10(也就是乘以0.1)


![在这里插入图片描述](https://img-blog.csdnimg.cn/d35860e75c2c48e28f969b732b651007.png#pic_center)




· 设置完监控项后,agent端要等1分钟左右才能使用新的监控项,如果着急的话可以手动执行systemctl restart zabbix-agent2,让agent2强制重启并立即获取新的监控项:

这是获取到的温度值:


![在这里插入图片描述](https://img-blog.csdnimg.cn/a52ad8aba0674550b9b7f6d40eda7adb.png#pic_center)





· 在调试过程中如果遇到modbus网关没响应、zabbix报网关错误等,可以下载调试工具、将本机作为网关服务器,然后让zabbix-agent2访问本机,根据接收信息里面的数据分析是哪里出现的错误:

工具下载地址:调试助手



![在这里插入图片描述](https://img-blog.csdnimg.cn/bc9f20c282d249a89d2c4fab55713dab.png#pic_center)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验7 数据库编程

第1关 定义一个名为PROC_COUNT的无参数存储过程 任务描述 定义一个名为PROC_COUNT的无参数存储过程,查询工程名称中含有“厂”字的工程数量,并调用该存储过程。 相关知识 1、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)…

计算机网络-网络层:IP协议

目录 一、IP协议格式 二、IP地址管理 1.动态地址分配&组建私网 1.1 动态地址分配DHCP 1.2 NAT技术组建私网 2. 早期网络划分方式 3. 当前网络划分方式CIDR方案 4. 特殊IP地址 5. 公网与私网(外网与内网) 6. 路由选择 网络层:负…

JavaScript Date对象中的常用方法有哪些?

JavaScript中的日期对象用来处理日期和时间。例如,秒杀活动中日期的实时显示、时钟效果、在线日历等。下面将对日期对象进行详细讲解。 日期对象的使用 JavaScript中的日期对象需要使用new Date()实例化对象才能使用,Date()是日期对象的构造函数。在创…

服务访问质量(QoS)介绍与技术 一

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

【LeetCode每日一题】——1290.二进制链表转整数

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 链表 二【题目难度】 简单 三【题目编号】 1290.二进制链表转整数 四【题目描述】 给你一个单…

Python时间模块之time模块

在项目开发中做功能经常会用到关于时间的操作。比如会员过期的定时任务,一些代码的延迟执行。今天介绍时间模块中的time模块。 目录 1.表示时间的方式: 2.格式化时间中字符的含义: 3.函数转换关系 4.函数介绍及应用 time() localtime() …

10Gb每秒!SM4的单核“心”!海泰携手海量数据安全“闪”护

引言 密码技术是保护网络与信息系统安全的核心技术,已经广泛应用到金融、能源、通信、交通、水利等各行各业,为国家安全和经济发展发挥重要作用。商用密码应用安全性评估(简称密评),是指在釆用商用密码技术、产品和服务…

[附源码]计算机毕业设计汽车租赁管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【numpy简介、入门、数组创建】

🤵‍♂️ 个人主页老虎也淘气 个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏…

基于jsp+mysql+ssm学生网上请假系统-计算机毕业设计

项目介绍 随着高校招生规模的逐步扩大和教学方式的改革,在校学生人数将不断增加。另一方面,我国高等学校基层学生考核工作的内容杂,管理细,要求高,头绪多,传统的手工档案式管理办法已基本不适应新形势的要…

[附源码]JAVA毕业设计社区管理与服务(系统+LW)

[附源码]JAVA毕业设计社区管理与服务(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

XX集团BIM项目解决方案

目 录 一、BIM发展现状 二、集团BIM建设总体规划(建议) 1、BIM实施目标 2、BIM实施的范围 3、BIM实施原则 4、集团BIM项目组织架构 4.1职能分配 4.2建模组织形式 4.3人员匹配建议 5、集团BIM应用功能架构 5.1 BIM平台对集团管理层面的价值 5…

原来Python自带了数据库,用起来真方便

Python作为数据科学主流语言,被广泛用于数据读存、处理、分析、建模,可以说是无所不能。 数据一般存放在本地文件或者数据库里,之前介绍过如何使用python读取本地文件,也对# PyMySQL、cx_Oracle等数据库连接库做过简单的使用分享…

乾元通多卡聚合通信设备应急指挥车视频图传解决方案

行业现状 1) 不稳定:单一通信链路受运营商网络覆盖影响,不同区域信号强度不一样,无法实现。 2) 网速慢:受基站信号质量及拥塞影响,单路网速较差,高清视频监控等由于网络带宽不够,只能以低画质…

基于jsp+ssm的新生入学报道系统-计算机毕业设计

项目介绍 众多高校为了响应国家的号召,很多管理办法都落实到科学管理,通过计算机来实现对学校的具体管理办法当中,不仅仅促进了学校里计算机系统管理的发展,同时一定程度上加大了对学校的管理力度,数据量的不断增加&a…

Java常问面试题概要答案

文章目录1.JDK、JRE、JVM的区别2.hashcode()与equals()之间的关系3.String、StringBuffer、StringBuilder的区别4.Java泛型5.ArrayList和LinkedList区别6.ConcurrentHashMap7. B树和B树8.负载均衡常见策略1.JDK、JRE、JVM的区别 JDK:java标准开发包,包含…

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事,必先利其器,要想更好的进行安全测试,就需要有一个趁手的工具,BurpSuite就是一个不错的选择,是广大安全测试工程师的必备工具,今天就带着大家把这个工具给装上,开启大家的安全测试之旅…

数据结构与算法基础-学习-06-线性表之创建循环链表、创建尾指针循环链表、两个尾指针循环链表连接

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 1、循环链表优点 无论指针指向哪个节点,都可以访问任何一个其他节点。 2、尾指针循环链表优点 同上…

实现端口扫描

实现原理 tcp扫描 创建tcp客户端然后与目标地址的每个端口建立连接,如果能连接成功说明目标地址此端口已经被打开。 判断是什么协议 连接成功后读取字节,如ssh协议的端口会读取到如这种的数据SSH-2.0-OpenSSH_7.4;创建http/s客户端与已经扫描出来的端…

LINUX漏洞复现篇之ShellShock漏洞

简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bash执行任意Shell命令 此漏洞在调用BashShell之前使用payload创建环境变量, 这些环境变量包含Shell代码, 在Shel…