分布式系统监控zabbix安装部署及使用

目录

一.zabbix监控

1.什么是zabbix

2.zabbix功能

3.zabbix的构成

4.zabbix的3种架构

4.1 C/S架构

 4.2 分布式架构:zabbix-proxy-client架构

 4.3 master-node-client架构

6.zabbix监控模式

二.zabbix部署及图形化页面显示设置(192.168.158.25)

1.zabbix安装部署

2.zabbix图形化页面显示设置

2.1 浏览器输入部署zabbix的服务器

2.2 点击netxt step进入下一步检查zabbix配置,所有状态都要为ok,若有问题则需要去服务器侧检查配置

2.3 如果所有配置都ok,点击下一步使用zabbix账户登录数据库

2.4 连接到数据库进行下一步配置zabbix信息

2.6 信息检查完成后点击结束安装完成

2.7 结束后登录验证,默认账户为:Admin 默认密码为:zabbix

 2.8 登录完成后主页面如下

 2.9 修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可

三.Zabbix监控使用

1.部署 zabbix 客户端(192.168.158.24)

2.服务端验证 zabbix-agent2 的连通性(192.168.168.23)

3.Web 页面中添加agent 主机

3.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

 5.自定义监控内容(在客户端创建自定义 key:192.168.158.24)

5.1 明确需要执行的 linux 命令

5.3 在服务端验证新建的监控项

6.web页面配置自定义监控模板

 6.1 创建模板

 6.2 创建应用集(用于管理监控项的)

6.5 创建图形

6.6 设置邮件报警

6.7 添加告警告知邮箱

7.zabbix 自动发现与自动注册

7.1 zabbix自动发现说明

7.2 确保监控server agent2客户端是存活状态

7.3 删除原有的客户端主机

 7.4 客户端服务端添加hosts

7.5 web页面自动发现

7.6 发现客户端


一.zabbix监控

1.什么是zabbix

zabbix:是一款开源免费的,自动化发现服务与网络设备的分布式监控,可以监视应用层服务并以web前端页面集中管理并展示。

2.zabbix功能

监控服务器cpu负载、服务器内存使用、服务器磁盘使用及网络状态、还可以监控中间件。

缺点:只支持传统运维,不支持容器

3.zabbix的构成

zabbix是C/S架构由zabbbix server和zabbix agent组成

zabbix server :负责存储展示硬件信息,通过B/S模式传给web端展示配置

zabbix agent :监控收集服务器信息,端口号为10050

4.zabbix的3种架构

4.1 C/S架构

(1)被监控的机器和zabbix直接相连zabbix agent负责采集服务器的信息,zabbix server 负责存储并通过web展示硬件信息

(2)zabbix服务端与客户端是最简单的架构,监控机器和别监控机器之间不经过任何处理,直接由zabbix-server 和zabbix-agent之间进行数据交换。

(3)适用于网络比较简单,尽量在局域网内,设备比较少的监控环境

 4.2 分布式架构:zabbix-proxy-client架构

(1)被监控的机器和zabbix中间有个proxy代理,zabbix agent将采集的信息传到代理上由代理同一传给zabbix server进行前端页面展示和数据存储。

(2)proxy是server和客户端沟通的桥梁,proxy本身没有前端且其本身并不存放数据,只是将agent发来的数据暂时存放,而后再提交给server,这种架构是和master-node-client架构做比较的架构,

3)一般适用于跨机房、跨网络、或中型网络架构的监控

 4.3 master-node-client架构

(1)master下有node节点,node可以存储数据,node有自己的配置文件和数据库注意负责将配置信息和监控数据与master同步,node下可以直接接入主机或接入代理proxy。

(2)适用于跨机房、跨网络、大环境下

5.zabbix工作原理及数据流向

(1)zabbix agent在主机上采集监控数据,将采集的数据传给zabbix server

(2)zabbix server收到数据后将数据存在自己的数据库中

(3)然后从数据库中提取数据进行分析,是否需要报警

(4)分析完成后server在web前端页面进行界面数据展示

6.zabbix监控模式

(1)主动模式:zabbix agent主动将采集到的监控信息传输给zabbix server

(2)被动模式:zabbix server向zabbix agent索引采集到的监控信息,zabbix agent返回采集到的数据2

二.zabbix部署及图形化页面显示设置(192.168.158.25)

一台2核4G内存数据库,至少2核2G

1.zabbix安装部署

#永久关闭并现在立即关闭防火墙及关闭selinux
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
#更改主机名
hostnamectl set-hostname zbx-server
#获得zabbix下载yum源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
#编辑配置文件 开启安装源
vim zabbix.repo
[zabbix-frontend]
......
#1表示开启安装源
enabled=1          
......
#进入yum源目录文件并使用sed将国外源替换为阿里云源
yum clean all && yum makecache
#清除原理yum源缓存并加载新的yum
yum install -y zabbix-server-mysql zabbix-agent
#安装zabbix客户端和服务端
yum install -y centos-release-scl
#安装scl,原因为便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4zabbix要求php版本为7.2以上,若达到要求则无须安装scl
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装连接数据库和连接apache前端页面的连接工具
yum install -y mariadb-server mariadb
#安装并开启数据库
systemctl enable --now mariadb
#初始化数据库,并设置密码,如 abc123选择执行,先回车,然后输入2次自己想设置的密码,其他全部yes即可mysql_secure_installation  #登录数据库
mysql -u root -pabc123
#查询zabbix数据库中配置文件的位置
rpm -ql zabbix-server-mysql
#将zabbix数据库格式导入数据库中,此处需要等待10s左右
zcat /usr/share/doc/zabbix-server-mysql-5.0.36/create.sql.gz | mysql -uroot -pabc123 zabbix(导入的库名)
1
2
3
4
vim /etc/zabbix/zabbix_server.conf 
vim /etc/zabbix/zabbix_server.conf 
DBPassword=zabbix					#124行,去掉#注释然后指定 zabbix 数据库的密码
#编辑zabbix配置文件将设置的远程登录用户的密码zabbix输入进去保存退出
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai		#24行,取消注释,修改时区
#编辑php的配置文件,将时区改为亚洲上海,注意去掉前面的;在此文件中表示注释
1
2
3
4
5
6
#重启zabbix服务php服务并设置开机自启
#重启zabbix服务php服务并设置开机自启
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

2.zabbix图形化页面显示设置

2.1 浏览器输入部署zabbix的服务器

http://192.198.158.25/zabbix进入配置页面

2.2 点击netxt step进入下一步检查zabbix配置,所有状态都要为ok,若有问题则需要去服务器侧检查配置

2.3 如果所有配置都ok,点击下一步使用zabbix账户登录数据库

2.4 连接到数据库进行下一步配置zabbix信息

 2.5 配置完成zabbix后检查配置项然后点击下一步保存安装

2.6 信息检查完成后点击结束安装完成

2.7 结束后登录验证,默认账户为:Admin 默认密码为:zabbix

 2.8 登录完成后主页面如下

 2.9 修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可

 注:解决 zabbix-server Web页面中文乱码问题

yum install -y wqy-microhei-fonts\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

三.Zabbix监控使用

开启另一台服务器进行zabbix agent客户端系统安装

1.部署 zabbix 客户端(192.168.158.24)

zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。
zabbix 服务端 zabbix_server 默认使用 10051 端口

客户端 zabbix_agent2 默认使用 10050 端口。

#关闭防火墙和selinux,更改主机名并运行bash刷新主机名
systemctl disable --now firewalld
setenforce 0hostnamectl set-hostname zbx-agent01
su
#服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com8 Aug 15:05:51 ntpdate[44329]: adjust time server 203.107.6.88 offset -0.027015 sec
1
2
3
4
5
#客户端配置时区,与服务器保持一致
#客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
2023年 08月 08日 星期二 15:07:32 CST
#设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2
#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.198.17			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.198.17		#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#134行,指定当前 zabbix 客户端的主机名
#启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      44454/zabbix_agent2 

2.服务端验证 zabbix-agent2 的连通性(192.168.168.23)

#安装 zabbix 主动获取数据的命令
yum install -y zabbix-get				
zabbix_get -s '192.168.158.23' -p 10050 -k 'agent.ping'
1zabbix_get -s '192.168.158.23' -p 10050 -k 'system.hostname'
zbx-agent01

3.Web 页面中添加agent 主机

3.1 点击左边菜单栏【配置】中的【主机】,点击【创建主机】

【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-192.168.10.20
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.10.20

再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

 

4.配置主机模板

 

 5.自定义监控内容(在客户端创建自定义 key:192.168.158.24)

案列:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就

cd /etc/zabbix/zabbix_agent2.d/

发出报警信息

5.1 明确需要执行的 linux 命令

who | wc -l
3
vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
296 #	Format: UserParameter=<key>,<shell command>
vim UserParameter_login.conf
#添加内容
UserParameter=login.user,who|wc -l
systemctl restart zabbix-agent2

5.3 在服务端验证新建的监控项

[root@zbx-server opt]# zabbix_get -s '192.168.158.24' -p 10050 -k 'login.user'
3

此处为3是在客户端有三个用户,则监控的是这三个用户

[root@zbx-agent01 zabbix_agent2.d]# who
root     :0           2023-08-05 18:58 (:0)
root     pts/0        2023-08-05 19:03 (:0)
root     pts/1        2023-08-08 15:03 (192.168.158.1

6.web页面配置自定义监控模板

总括:

 6.1 创建模板

abbbix模板有的用,有的不用(可以使用脚本做模板)
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】此时就可在【名字】中搜索到 Template Login User 了

 

 6.2 创建应用集(用于管理监控项的)

点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】

 

6.3 创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】

【名称】设置成 Number of login users
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period 30d #保留时间可自定义设置
点击 【添加】

 

 

6.4 创建触发器
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】

 

 

6.5 创建图形

【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

 

 

6.6 设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】

 

 

 

6.7 添加告警告知邮箱

点击左边菜单栏【用户设置】–>【报警媒介】,点击【添加】

 

测试可开超过3台客户端的端口在监控的系统上刷新查看即可触发告警发送告警邮件、短信、钉钉、语音系统识别等

7.zabbix 自动发现与自动注册

7.1 zabbix自动发现说明


自动发现与自动注册指的是相对服务器而言,若为被动发现则需要手动将客户端机器添加到zabbix中,若是自动发现则是在zabbix上配置,由zabbix主动去扫描。

7.2 确保监控server agent2客户端是存活状态
 

server agent2上执行:
[root@zbx-agent01 zabbix_agent2.d]# systemctl is-active zabbix-agent2.service 
active#返回active即agent2正常

7.3 删除原有的客户端主机

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

 7.4 客户端服务端添加hosts

vim /etc/hosts
192.168.158.25 zbx-server
192.168.158.24 zbx-agent01

7.5 web页面自动发现


点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】【名称】设置成 mynetw3ork
【IP范围】设置成 192.168.30.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname——获取键值对:zabbix get 192.168.158.25 p 10050 -k ‘system.uname’
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】

 

 

7.6 发现客户端

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【发现动作】,点击 【启用】

 

7.7 验证发现结果
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机 ,需要等待一段时间。
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】

 如长时间未出现需:
1.检查做过的配置文件是否有误
2.查看zabbix网页中的动作配置及自动发现是否正确
3.可以查看客户端的日志进行查看:tail -f /var/log/zabbix/zabbix agent2.log

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

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

相关文章

uniapp 用 hbuilderx下载 uview

uView2.0重磅发布&#xff0c;利剑出鞘&#xff0c;一统江湖 - DCloud 插件市场 1.uniapp官网下载资源 2按下载 3.官网安装文档 要按 这个红色圈错了 然后看他的配置步骤 第四easycom 就可以 不用配了

第二课-一键安装SD-Stable Diffusion 教程

前言 看完这篇文章并跟着操作,就可以在本地开始 SD 绘图了。 理论上来说,这篇课程结束,想要画什么图都可以画了。 启动器介绍 SD 是开源的,可以在 github 上找到。但直接下载源码安装,非常费劲,而且因为国内外差异,就是我这样的秃头程序员也难以应对。 所以,我们改…

SQL SERVER 异地备份到远程共享文件夹异常处理

SQL SERVER 异地备份到远程共享文件夹异常处理 SQL Server 异地备份到远程共享文件夹异常处理 - 灰信网&#xff08;软件开发博客聚合&#xff09; -- 允许配置高级选项 EXEC sp_configure show advanced options, 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp…

闭环控制方法及其应用:优缺点、场景和未来发展

闭环控制是一种基本的控制方法&#xff0c;它通过对系统输出与期望值之间的误差进行反馈&#xff0c;从而调整系统输入&#xff0c;使系统输出更加接近期望值。闭环控制的主要目标是提高系统的稳定性、精确性和鲁棒性。在实际应用中&#xff0c;闭环控制有多种方法&#xff0c;…

HCIP的BGP基础实验

一、实验需求 除R5的5.5.5.0环回外&#xff0c;其他所有的环回均可互相一访问。 二、实验步骤 1.配置ip 2.建立邻居关系 2.1 R1和R2建立直连的EBGP邻居关系 [r1]bgp 1 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 12.1.1.2 as-number 2 要建的话双方都要建下面配置R2 [r2]bgp…

【python】【sql】格式化注意事项

如果需要格式化表名到 sql 语句&#xff0c;sql 引擎是不支持的。 所以表名需要用字符串格式化&#xff0c;但其他参数最好用 sql 自带的格式&#xff0c;这样就不用去调一些细节&#xff0c;比如字符串的值是否要带引号之类的。 比如&#xff1a; cur.execute(SELECT {0} FR…

Token 失效退出至登录页面

目录 前端设置&#xff1a; 1. 在登录页面&#xff0c;调用登录的接口后&#xff0c;直接获取当前时间并保存在本地&#xff0c;类似保存token。 2. 在路由守卫 获取本机存储的时间戳&#xff0c;加15分钟与当前时间进行对比&#xff0c;如果大于当前时间说明token失效&…

系统架构设计专业技能 · 系统安全分析与设计(四)【加解密、数字信封、信息摘要、数字签名、数字书证、网络安全、信息安全】

系列文章目录 系统架构设计专业技能 网络规划与设计&#xff08;三&#xff09;【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计&#xff08;四&#xff09;【系统架构设计师】 系统架构设计高级技能 软件架构设计&#xff08;一&#xff09;【系统架构设计师…

【移动机器人运动规划】04 ——轨迹生成

文章目录 前言相关代码整理: 介绍Minimum Snap OptimizationDifferential Flatness(微分平坦)Minimum-snapSmooth 1D TrajectorySmooth Multi-Segment TrajectoryOptimization-based Trajectory Generation Convex Optimization&#xff08;凸优化&#xff09;凸函数和凸集凸优…

【C++】开源:CGAL计算几何库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;…

React 组件防止冒泡方法

背景 在使用 antd 组件库开发时&#xff0c;发现点击一个子组件&#xff0c;却触发了父组件的点击事件&#xff0c;比如&#xff0c;我在一个折叠面板里面放入一个下拉框或者对下拉框列表渲染做定制&#xff0c;每个下拉框候选项都有一个子组件… 解决 其实这就是 Javascri…

前端一键升级 package.json里面的依赖包管理

升级需谨慎 前端一键升级 package.json里面的依赖包管理 安装&#xff1a;npm-check-updates npm i npm-check-updates -g缩写 ncu 在项目根目录里面执行 ncu 如图&#xff1a;

数据结构:完全二叉树的性质

完全二叉树的性质&#xff1a; 具有 n n n个结点的完全二叉树的深度为 [ l o g 2 n ] 1 ( [ x ] 表示不大于 x 的最大整数 ) [log_2n]1([x]表示不大于x的最大整数) [log2​n]1([x]表示不大于x的最大整数) 对于任意一个结点 &#xff08; 1 < i < n &#xff09; &…

C++ 循环

有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个…

flutter开发实战-WidgetsBinding监听页面前台后台退出状态

flutter开发实战-WidgetsBinding监听页面前台后台退出状态 在开发过程中&#xff0c;经常监听页面前台后台退出状态&#xff0c;这里用到了WidgetsBinding 一、WidgetsBinding是什么&#xff1f; WidgetsBinding是Flutter中最重要的Binding之一&#xff0c;它提供了与Widget…

3个月快速入门LoRa物联网传感器开发

在这里插入图片描述 快速入门LoRa物联网传感器开发 LoRa作为一种LPWAN(低功耗广域网络)无线通信技术,非常适合物联网传感器和行业应用。要快速掌握LoRa开发,需要系统学习理论知识,并通过实际项目积累经验。 摘要: 先学习LoRa基础知识:原理、网络架构、协议等,大概需要2周时间…

windows环境下打印机无法打印的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)

注意&#xff1a;http_proxy和ajp_proxy的稳定性不如mod_jk 一.http_proxy方式 1.下载mod_proxy_html.x86_64 2.在apache下创建http_proxy.conf文件&#xff08;或者直接写到conf/httpd.conf文件最后&#xff09; 3.查看server.xml文件 到tomcat的安装目录下的conf/serve…

【栈】 735. 行星碰撞

735. 行星碰撞 解题思路 如果数组元素大于0 说明向右移动 那么不管 左边元素是不是大于0 都不会碰撞 如果数组元素小于0 说明想左边移动 那么判断左边元素 如果左边元素大于0 碰撞 那么遍历数组 当前元素大于0 直接入栈 如果当前元素小于0 判断栈顶元素是不是大于0 如果大…

SpringMVC的架构有什么优势?——控制器(三)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…