1. Zabbix-Proxy分布式监控
1>. 概述:Zabbixproxy可以代替zabbixserver检索客户端的数据,然后把数据汇报给zabbixserver,并且在一定程度上分担了zabbix server 的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控。
2>. zabbixproxy使用场景:1. 监控远程区域。
2.监控拥有不可靠网络连接的区域。
3.当监控以干计的设备时分担Zabbix-Server服务器的压力。
4.简化分布式监控的维护。
3>. 原理:
1. Proxy和Server之间只需要一个TCP端口连接。因此,从安全方面考虑,需要一条防火墙规则来确保数据传输的安全。
2. Proxy采集到的数据在传送给服务器之前都保存在本地。这样保证Proxy和Server断开数据不丢失。ProxyLocalBuffer和ProxyOfflineBuffer控制数据在本地保存的时间。
配置文件中参数ProxyLocalBuffer 和 ProxyOfflineBuffer决定。
2. 环境部署:
主机名 | IP地址 | 描述 | 系统版本 |
zabbix | 192.168.188.201 | Zabbix-Server | Rocky Linux 8.5 |
node2 | 192.168.188.112 | Zabbix-Proxy | Centos7 |
node1 | 192.168.188.113 | Zabbix-Agent | Centos7 |
3. 部署Zabbix-Proxy:
1>. 安装zabbix-proxy:
- [root@node2 ~]# yum install https://repo.huaweicloud.com/zabbix/zabbix/5.4
- /rhel/7/x86_64/zabbix-proxy-mysql-5.4.0-8.el7.x86_64.rpm
2>. zabbix服务端创建数据库并授权用户:
- [root@zabbix ~]# mysql -uroot -p123456
-
- ## 创建数据库zabbix_proxy
- MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
-
- ## 授权用户
- MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'192.168.188.112'
- identified by 'zabbix_proxy';
-
3>. zabbix代理端安装数据库并导入数据:
- [root@node2 ~]# yum install mariadb -y
-
- [root@node2 ~]# yum install https://repo.huaweicloud.com/zabbix/zabbix/5.4/
- rhel/7/x86_64/zabbix-sql-scripts-5.4.0-8.el7.noarch.rpm
-
- ## 导入数据
- [root@node2 ~]# zcat /usr/share/doc/zabbix-sql-scripts/mysql/schema.sql.gz |
- mysql -uzabbix -pzabbix_proxy -h192.168.188.201 zabbix_proxy
4>. 服务端查看数据是否导入:
- MariaDB [(none)]> use zabbix_proxy
-
- MariaDB [zabbix_proxy]> show tables;
5>. 配置zabbix-proxy的配置文件:
- [root@node2 ~]# vim /etc/zabbix/zabbix_proxy.conf
-
- ......
- Server=192.168.188.201 ## zabbix服务端地址
- Hostname=node2 ## zabbix代理端主机名
- DBHost=192.168.188.201 ## 数据库地址
- DBName=zabbix_proxy ## 数据库名称
- DBUser=zabbix ## 数据库用户
- DBPassword=zabbix_proxy ## 数据库密码
- ......
6>. 重启zabbix-proxy服务:
[root@node2 ~]# systemctl restart zabbix-proxy.service
4. 部署zabbix-agent:
1>. 安装zabbix-agent:
- [root@node3 ~]# yum install https://repo.huaweicloud.com/zabbix/zabbix/5.4/
- rhel/7/x86_64/zabbix-agent2-5.4.0-8.el7.x86_64.rpm
2>. 配置zabbix-agent:
- [root@node3 ~]# vim /etc/zabbix/zabbix_agent2.conf
-
- ......
- Server=192.168.188.112 ## zabbix代理端地址(被动)
- ServerActive=192.168.188.112 ## zabbix代理端地址(主动)
- Hostname=node3 ## zabbix客户端主机名
- ......
3>. 重启zabbix-agent服务:
[root@node3 ~]# systemctl restart zabbix-agent2.service
5. 配置监控:
1>. web端配置zabbix代理:
agent代理程序名一定要与zabbix_proxy.conf中的Hostnamer一致。
2>. 添加主机:
6. 重启zabbix-proxy和zabbix-agent,查看数据: