当前位置: 首页 > news >正文

分布式监控平台—zabbix

  • 前言
  • 一、zabbix概述
    • 1.1 什么是zabbix
    • 1.2 zabbix的监控原理
    • 1.3 zabbix常见五个应用程序
    • 1.4 zabbix的监控模式
    • 1.5 监控架构
      • 1.5.1 C/S(server—client)
      • 1.5.2 server—proxy—client
      • 1.5.3 master—node—client
  • 二、部署zabbix
    • 2.1 部署 zabbix server 端
    • 2.2 部署 zabbix 客户端
    • 2.3 将客户端加入服务端的监控主机中
  • 三、创建自定义监控模板
    • 3.1 自定义监控内容
    • 3.2 在 Web 页面创建自定义监控项模板
      • 3.2.1 创建模板
      • 3.2.2 创建应用集(用于管理监控项的)
      • 3.2.3 创建监控项
      • 3.2.4 创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
      • 3.2.5 创建图形
      • 3.2.6 将主机与模板关联起来(一个主机可以关联多个模板)
      • 3.2.7 设置邮件报警
      • 3.2.8 测试邮件报警
  • 四、zabbix 自动发现与自动注册
    • 4.1 zabbix 自动发现(对于 agent2 是被动模式)
      • 4.1.1 确保客户端上的 zabbix-agent2 服务状态正常
      • 4.1.2 在 Web 页面删除原有的客户端主机
      • 4.1.3 在服务端和客户端上配置 hosts 解析
      • 4.1.4 在 Web 页面配置自动发现
    • 4.2 zabbix 自动注册(对于 agent2 是主动模式)
      • 4.2.1 环境准备
      • 4.2.2 修改 zabbix-agent2 配置文件
      • 4.2.3 在 Web 页面配置自动注册
  • 五、部署 zabbix 代理服务器
    • 5.1 配置 zbx-proxy(192.168.147.102)
    • 5.2 在 Web 页面配置 agent 代理
    • 5.3 配置 agent 使用 proxy
      • 5.3.1 在客户端修改 agent2 配置文件
      • 5.3.2 在 Web 页面配置
      • 5.3.3 分别在客户端和代理服务器上重启服务

前言

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。

利用一个优秀的监控软件,我们可以:

  • 通过一个友好的界面进行浏览整个网站所有的服务器状态
  • 可以在Web 前端方便的查看监控数据
  • 可以回溯寻找事故发生时系统的问题和报警情况

一、zabbix概述

1.1 什么是zabbix

zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server 与可选组件zabbix agent。 通过c/s 模式采集数据,通过B/s模式在web端展示和配置。

zabbix server 可以通过SNMP(简单网络管理协议),zabbix agent,ping, 端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它 可以运行在Linux等平台上。(支持多个平台,windows也支持)

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

主要功能:监控CPU、内存、IO、端口、日志、应用等

运行机制:C\S(zabbix_server zabbix_agent)安装在被监控端

1.2 zabbix的监控原理

zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于zabbix WEB可以看到数据在前端展现图像。

当zabbix 监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、 restart、 install 等)。

监控对象:硬件监控、系统监控、Java监控、网络设备监控、应用服务监控、MySQL数据库监控、URL监控

1.3 zabbix常见五个应用程序

zabbix监控部署在系统中,包含常见的五个程序: zabbix server、 zabbix agent、 zabbix proxy、zabbix get、zabbix sender 等。

(1) zabbix server: zabbix 服务端守护进程,其中zabbix_agent、 zabbix_ get、zabbix_sender、 zabbix_proxy的数据最终都提交给zabbix server;

(2) zabbix agent: 客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;

(3)zabbix proxy: zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署;

(4)zabbix get: zabbix 数据接收工具,单独使用的命令,通常在server 或者proxy端执行获取远程客户端信息的命令;

(5)zabbix sender: zabbix 数据发送工具,用户发送数据给server 或proxy端,通常用户耗时比较长的检查。

1.4 zabbix的监控模式

主动模式:zabbix agent主动将采集到的监控信息传输给zabbix server(一定程度上减缓zabbix_server的压力)

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

1.5 监控架构

1.5.1 C/S(server—client)

在这里插入图片描述

是最简单的架构,监控机器和别监控机器之间不经过任何处理,直接由zabbix-server 和zabbix-agent之间进:行数据交换。适用于网络比较简单,尽量在局域网内,设备比较少的监控环境

1.5.2 server—proxy—client

在这里插入图片描述

其实proxy 是 server 和 client 沟通之间的桥梁,proxy本身没有前端,而目其本身不存放数据,只是将agent发来的数据暂时存放,而后再提交给server, 这种架构是和master-node-client架构来去做比较的架构,一般适用于跨机房,跨网络或中型网络架构的监控

1.5.3 master—node—client

在这里插入图片描述

与server-proxy-client相比,master-node-client架构的主要区别在于node与proxy上。在master-node-client架构中,每个node可以理解为一个小的server端,有自己的配置文件和数据库,node下游可以直接连接client,也可以再次经过proxy代理后连接client。在master-node-client架构中,master设备宕机不会影响node结点的正常工作。

二、部署zabbix

实验环境

节点IP
zabbix-server192.168.147.100
zabbix-agent192.168.147.101
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server

2.1 部署 zabbix server 端

//获取 zabbix 的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm //更换 zabbix.repo 为阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecacheyum install -y zabbix-server-mysql zabbix-agent

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

//安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。yum install -y centos-release-scl 

在这里插入图片描述

//修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1          #开启安装源
......yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

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

//安装 zabbix 所需的数据库
yum install -y mariadb-server mariadbsystemctl enable --now mariadbmysql_secure_installation         #初始化数据库,并设置密码,如 abc123

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

//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;//导入数据库信息
rpm -ql zabbix-server-mysql 		#查询 sql 文件的位置zcat /usr/share/doc/zabbix-server-mysql-5.0.24/create.sql.gz | mysql -uroot -pabc123 zabbix

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

在这里插入图片描述

//修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix					#124行,指定 zabbix 数据库的密码

在这里插入图片描述

//修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai		#25行,取消注释,修改时区

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

//启动 zabbix 相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

在这里插入图片描述

浏览器访问:http://192.168.147.100/zabbix
点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。//解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fontscp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

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

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

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

2.2 部署 zabbix 客户端

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

systemctl disable --now firewalld
setenforce 0
//服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com//客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate

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

//设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmcd /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.147.100			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.147.100		#125行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#136行,指定当前 zabbix 客户端的主机名

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

//启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      43654/zabbix_agent2 

在这里插入图片描述

在服务端验证 zabbix-agent2 的连通性
yum install -y zabbix-get				#安装 zabbix 主动获取数据的命令zabbix_get -s '192.168.147.101' -p 10050 -k 'agent.ping'
1zabbix_get -s '192.168.147.101' -p 10050 -k 'system.hostname'
zbx-agent

在这里插入图片描述

2.3 将客户端加入服务端的监控主机中

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

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

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

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

在这里插入图片描述

这里需要等待一段时间

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

三、创建自定义监控模板

自定义脚本监控 https://kaikai136.blog.csdn.net/article/details/111309497?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-111309497-blog-123223449.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-111309497-blog-123223449.pc_relevant_paycolumn_v3&utm_relevant_index=1

3.1 自定义监控内容

案列:自定义监控客户端服务器登录的人数

需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

//在客户端创建自定义 key
1.明确需要执行的 linux 命令
who | wc -l2.创建 zabbix 的监控项配置文件,用于自定义 key
vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
296 #	Format: UserParameter=<key>,<shell command>cd /etc/zabbix/zabbix_agent2.d/vim UserParameter_login.conf
UserParameter=login.user,who|wc -lsystemctl restart zabbix-agent23.在服务端验证新建的监控项
zabbix_get -s '192.168.147.101' -p 10050 -k 'login.user'

在这里插入图片描述

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

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

3.2 在 Web 页面创建自定义监控项模板

3.2.1 创建模板

点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Templates
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

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

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

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

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

3.2.3 创建监控项

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

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

3.2.4 创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

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

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

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

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

3.2.5 创建图形

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

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

3.2.6 将主机与模板关联起来(一个主机可以关联多个模板)

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

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

验证是否成功

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

3.2.7 设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 124481457@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 124481457@qq.com
【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击 【添加】,并测试功能

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

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

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

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

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

点击左边菜单栏【User settings】–>【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成指定的邮箱
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】

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

3.2.8 测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值,查看【监测】–>【仪表盘】,确认报警

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

四、zabbix 自动发现与自动注册

4.1 zabbix 自动发现(对于 agent2 是被动模式)

zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

4.1.1 确保客户端上的 zabbix-agent2 服务状态正常

systemctl is-active zabbix-agent2.service 
active

在这里插入图片描述

4.1.2 在 Web 页面删除原有的客户端主机

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

在这里插入图片描述

4.1.3 在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.147.100 zbx-server
192.168.147.101 zbx-agent

在这里插入图片描述

4.1.4 在 Web 页面配置自动发现

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

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

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Discovery actions】
勾选 【Auto discovery. Linux servers.】,点击 【启用】

这里记得先将触发器动作关闭

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

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
在这里插入图片描述

可在服务端查看 zabbix 日志

tail -f /var/log/zabbix/zabbix_server.log
......42306:20230813:184832.509 enabling Zabbix agent checks on host "zbx-agent": host became available

4.2 zabbix 自动注册(对于 agent2 是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

4.2.1 环境准备

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

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

vim /etc/hosts
192.168.147.100 zbx-server
192.168.147.101 zbx-agent

在这里插入图片描述

4.2.2 修改 zabbix-agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
HostnameItem=system.hostname		#144行,取消注释

在这里插入图片描述

egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.confPidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.147.100
ServerActive=192.168.147.100
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

在这里插入图片描述

4.2.3 在 Web 页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】
点击下方的【添加】

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

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

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

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
在这里插入图片描述

在服务端查看 zabbix 日志

tail -f /var/log/zabbix/zabbix_server.log42305:20230813:190231.134 enabling Zabbix agent checks on host "zbx-agent": host became available

五、部署 zabbix 代理服务器

分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题

agent --> proxy --> server

5.1 配置 zbx-proxy(192.168.147.102)

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
//设置 zabbix 的下载源,按照 zabbix-proxy
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-proxy-mysql zabbix-get

在这里插入图片描述

//安装 zabbix 所需的数据库
yum install -y mariadb-server mariadbsystemctl enable --now mariadbmysql_secure_installation         #初始化数据库,并设置密码,如 abc123

在这里插入图片描述

//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

在这里插入图片描述

//导入数据库信息
rpm -ql zabbix-proxy-mysql 		#查询 sql 文件的位置zcat /usr/share/doc/zabbix-proxy-mysql-5.0.36/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy

在这里插入图片描述

//修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.147.100				#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码

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

//启动 zabbix-proxy
systemctl start zabbix-proxy
systemctl enable zabbix-proxy

在这里插入图片描述

//在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.147.100 zbx-server
192.168.147.101 zbx-agent
192.168.147.102 zbx-proxy

在这里插入图片描述

5.2 在 Web 页面配置 agent 代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

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

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.147.102
点击 【添加】

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

5.3 配置 agent 使用 proxy

5.3.1 在客户端修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.147.102			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.147.102		#125行,指定 zabbix 代理服务器的 IP 地址

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

5.3.2 在 Web 页面配置

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.10.21
【由agent代理程序监测】选择 zbx-proxy

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

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

5.3.3 分别在客户端和代理服务器上重启服务

systemctl restart zabbix-agent2systemctl restart zabbix-proxy

点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

在这里插入图片描述

在服务端查看日志tail -f /var/log/zabbix/zabbix_proxy.log59767:20230813:210628.705 enabling Zabbix agent checks on host "zbx-agent": host became available

相关文章:

分布式监控平台—zabbix

前言一、zabbix概述1.1 什么是zabbix1.2 zabbix的监控原理1.3 zabbix常见五个应用程序1.4 zabbix的监控模式1.5 监控架构1.5.1 C/S&#xff08;server—client&#xff09;1.5.2 server—proxy—client1.5.3 master—node—client 二、部署zabbix2.1 部署 zabbix server 端2.2 …...

【leetcode】第一章数组-2

977. 有序数组的平方 简单的方法是平方后使用排序方法第2种方法是双指针方法&#xff0c;从两边进行判断&#xff0c;将最大的从后往前放 public static int[] sortedSquares(int[] nums) {// 输入&#xff1a;nums [-4,-1,0,3,10]// 输出&#xff1a;[0,1,9,16,100]// 解释…...

程序使用Microsoft.XMLHTTP对象请求https时出错解决

程序中使用Microsoft.XMLHTTP组件请求https时出现如下错误&#xff1a; 出错程序代码示例&#xff1a; strUrl "https://www.xxx.com/xxx.asp?id11" dim objXmlHttp set objXmlHttp Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "…...

Linux安装配置nginx+php搭建

Linux安装配置nginxphp搭建 文章目录 Linux安装配置nginxphp搭建1.nginx源码包编译环境和安装相应的依赖1.1 安装编译环境1.2 安装pcre库、zlib库和openssl库 2.安装nginx2.1 在[nginx官网](https://nginx.org/en/download.html)上获取源码包并进行下载2.2 进行解压编译 3.启动…...

springboot的各种配置

1.AOP配置 <!-- AOP的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>package com.qf.HomeWork.aop;import lombok.extern.slf4j.Slf4j; im…...

OSI七层模型及TCP/IP四层模型

目录 OSI七层模型 TCP/IP四层模型 OIS七层模型和TCP/IP模型图 七层详解 两种模型比较 为什么OSI七层体系结构不常用 四层详解 网络为什么要分层&#xff1f; 说说 OSI 七层模型和 TCP/IP 四层模型的关系和区别 OSI七层模型 OSI&#xff08;Open System Interconnect&a…...

MDN-Web APIs

参考资料 文章目录 简介DOM APIXMLHttpRequestWeb Storage APIWebsockets API 简介 Web APIs&#xff08;Application Programming Interfaces&#xff09;是用于与浏览器环境中的 Web 功能进行交互的一组接口和方法集合。通过 Web APIs&#xff0c;开发人员可以访问浏览器提…...

2023国赛数学建模C题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…...

暑假集训笔记

刷题刷的好累啊...不想刷题了...然后就来写题解了... 昨天晚上打了场div2..2000来名&#xff0c;加了155分....现在rating1281...我是菜鸡..暑假之前就打到了1200分以上了&#xff0c;结果暑假一掉再掉&#xff0c;直接掉到1100了...然后我就一直压力很大....... 昨天在机房打…...

【枚举+推式子】牛客小白月赛 63 E

登录—专业IT笔试面试备考平台_牛客网 题意&#xff1a; 思路&#xff1a; 首先是个计数问题&#xff0c;考虑组合数学 组合数学就是在考虑枚举所有包含1和n的区间 这个典中典就是枚举1和n的位置然后算贡献 双指针超时&#xff0c;考虑推式子&#xff1a; Code&#xff1a…...

Android多屏幕支持-Android12

Android多屏幕支持-Android12 1、概览及相关文章2、屏幕窗口配置2.1 配置xml文件2.2 DisplayInfo#uniqueId 屏幕标识2.3 adb查看信息 3、配置文件解析3.1 xml字段读取3.2 简要时序图 4、每屏幕焦点 android12-release 1、概览及相关文章 AOSP > 文档 > 心主题 > 多屏…...

python环境下载安装教程,python运行环境怎么下载

本篇文章给大家谈谈python安装步骤以及环境变量配置&#xff0c;以及下载python需要设置环境变量吗&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…...

【0.2】lubancat鲁班猫4远程ubuntu22.04.2 无需任何安装

环境 lubancat4鲁班猫4 (4G0)不带emmc 系统镜像ubuntu-22.04.2-desktop-arm64-lubancat-4.img 网络环境:有线网络与本win10电脑同意环境 操作步骤ubuntu正常开机登陆用户&#xff0c;连接好网络进入设置>网络查看设备当前局域网IP 如192.168.199.159进入设置>共享>远程…...

Flutter 状态管理 Provider

状态管理必要性 Flutter基于声明式构建UI&#xff0c;原生则是命令式&#xff0c;状态管理是用于解决声明式开发带来的问题。 例&#xff1a;命令式的原生&#xff0c;数据更新需要拿到对应控件并更改其显示值&#xff1b;而声明式则需要更改数据值并通过setstate更新状态&am…...

【设计模式】观察者模式

什么是观察者模式&#xff1f; 观察者模式&#xff08;又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&#xff0c;属于行为型模式的一种&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态…...

ORCA优化器浅析——CDXLOperator Base class for operators in a DXL tree

如上图所示&#xff0c;CDXLOperator作为Base class for operators in a DXL tree&#xff0c;其子类CDXLLogical、CDXLScalar、CDXLPhysical作为逻辑节点、物理节点和Scalar节点的DXL表示类&#xff0c;因此其包含了这些类的共同部分特性&#xff0c;比如获取其DXL节点表示的函…...

go入门实践四-go实现一个简单的tcp-socks5代理服务

文章目录 前言socks协议简介go实现一个简单的socks5代理运行与压测抓包验证 前言 SOCKS是一种网络传输协议&#xff0c;主要用于客户端与外网服务器之间通讯的中间传递。协议在应用层和传输层之间。 本文使用先了解socks协议。然后实现一个socks5的tcp代理服务端。最后&#…...

div 中元素居中的N种常用方法

本文主要记录几种常用的div盒子水平垂直都居中的方法。本文主要参考了该篇博文并实践加以记录说明以加深理解记忆 css之div盒子居中常用方法大全 本文例子使用的 html body结构下的div 盒子模型如下&#xff1a; <body><div class"container"><div c…...

Java获取指定文件夹下目录下所有视频并复制到另一个地方

import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption;public class VideoCopier {public static void main(String[] args) {// 指定源文件夹路径和目标文件夹路径String sourceFolderPath "path/to…...

windows server 2016 搭建使用 svn 服务器教程

参考教程&#xff1a; https://zhuanlan.zhihu.com/p/428552058 https://blog.csdn.net/weixin_33897722/article/details/85602029 配置环境 windows server 2016 远程服务器公网 ip 安装 SVN 服务端 下载 svn 服务端安装包&#xff1a;https://www.visualsvn.com/download…...

电力系统时间同步系统之三

2.6 电力系统时间同步装置 时间同步装置主要完成时间信号和时间信息的同步传递&#xff0c;并提供相应的时间格式和物理接口。时间同步装置主要由三大部分组成&#xff1a;时间输入、内部时钟和时间输出&#xff0c;如图 2-25 所示。输入装置的时间信号和时间信息的精度必须不…...

Delphi SetFileSecurity 设置安全描述符

在Delphi中&#xff0c;使用Windows API函数SetFileSecurity来设置文件或目录的安全描述符时&#xff0c;你需要正确地构建一个安全描述符&#xff08;SECURITY_DESCRIPTOR结构&#xff09;。这个过程涉及到几个步骤&#xff0c;包括创建或修改安全描述符、设置访问控制列表&am…...

以智能管理为基础,楼宇自控打造建筑碳中和新路径

在全球气候变化的严峻形势下&#xff0c;“碳中和”已成为各国发展的重要战略目标。建筑行业作为能源消耗与碳排放的“大户”&#xff0c;其运行阶段的能耗占全社会总能耗近40%&#xff0c;碳排放占比与之相当&#xff0c;实现建筑碳中和迫在眉睫。传统建筑管理模式下&#xff…...

chili3d 笔记17 c++ 编译hlr 带隐藏线工程图

这个要注册不然emscripten编译不起来 --------------- 行不通 ---------------- 结构体 using LineSegment std::pair<gp_Pnt, gp_Pnt>;using LineSegmentList std::vector<LineSegment>; EMSCRIPTEN_BINDINGS(Shape_Projection) {value_object<LineSegment&g…...

什么是DevOps智能平台的核心功能?

在数字化转型的浪潮中&#xff0c;DevOps智能平台已成为企业提升研发效能、加速产品迭代的核心工具。然而&#xff0c;许多人对“DevOps智能平台”的理解仍停留在“自动化工具链”的表层概念。今天&#xff0c;我们从一个真实场景切入&#xff1a;假设你是某互联网公司的技术负…...

Java 2D 图形类总结与分类

一、基本形状类 这些类用于绘制简单的标准几何形状。 1. 圆形 / 椭圆类 Ellipse2D&#xff1a;椭圆基类&#xff0c;支持浮点精度。 子类&#xff1a; Ellipse2D.Double&#xff1a;双精度浮点坐标。Ellipse2D.Float&#xff1a;单精度浮点坐标。 参数&#xff1a;x, y, wid…...

VsCode 安装 Cline 插件并使用免费模型(例如 DeepSeek)

当前时间为 25/6/3&#xff0c;Cline 版本为 3.17.8 点击侧边栏的“扩展”图标 在搜索框中输入“Cline” 找到 Cline 插件&#xff0c;然后点击“安装” 安装完成后&#xff0c;Cline 图标会出现在 VS Code 的侧边栏中 点击 Use your own API key API Provider 选择 OpenRouter…...

数仓面试提问:在资源(计算、存储、人力)受限的情况下,如何优先处理需求并保证核心交付?

在资源受限的情况下高效处理需求并保证核心交付,是每个团队管理者都会面临的挑战。这种既要“少花钱多办事”又要确保关键任务不延误的压力,面对这种情况,我们需要一套系统化的方法来实现需求评估、优先级排序和有效沟通。以下是经过实践验证的策略和方法: 🛠️ 一、 保证…...

C++之动态数组vector

Vector 一、什么是 std::vector&#xff1f;二、std::vector 的基本特性&#xff08;一&#xff09;动态扩展&#xff08;二&#xff09;随机访问&#xff08;三&#xff09;内存管理 三、std::vector 的基本操作&#xff08;一&#xff09;定义和初始化&#xff08;二&#xf…...

qt控制台程序与qt窗口程序在读取数据库中文字段的差异!!巨坑

问题&#xff1a;最近在自己编写一个类&#xff0c;这个类需要对mysql数据库进行插入和查询。因为最后是以一个类文件的形式拿来单独使用&#xff0c;所以在创建项目的时候就创建了一个qt的控制台程序。但是在对数据库的内容进行查询时&#xff0c;出现了中文乱码。参考了之前的…...