zabbix proxy 分布式监控

此实验是在zabbix监控平台搭建好,并且有一个agent(server3),将之前的环境清除干净(包括关闭自动发现等等)

一。zabbix-proxy简介:
Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构, proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求,非常简便的实现了集中式、分布式监控
二。主机环境

主机			 	IP 				角色
server1 	172.25.19.1 	zabbix - server
proxy 		172.25.19.2 	proxy
server3 	172.25.19.3 	zabbix - agent

三。zabbix proxy的配置
1.首先关闭proxy(server2)的agent(没有配置的可以不做此步骤)
[[email protected] ~]# systemctl stop zabbix-agent
2.在三个主机中都添加proxy的解析

[[email protected] ~]# vim /etc/hosts
172.25.26.2   proxy
[[email protected] ~]# vim /etc/hosts
172.25.26.2   proxy
[[email protected] ~]# vim /etc/hosts
172.25.26.2   proxy

3.先在网页创建proxy
管理—>agent代理程序—>创建代理
zabbix proxy 分布式监控

zabbix proxy 分布式监控4.在proxy(172.25.26.2)安装zabbix-proxy以及依赖性软件

[[email protected] ~]# yum install -y zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm

5.配置数据库

##安装数据库
[[email protected] ~]# yum install -y mariadb mariadb-server
[root[email protected] ~]# systemctl start mariadb
[[email protected] ~]# mysql  
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;       ## 创建代理需要的数据库zabbix_proxy
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to [email protected] identified by 'westos';   #数据库授权
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye

[[email protected] ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
[[email protected] zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql zabbix_proxy        ##导入数据库

zabbix proxy 分布式监控5.编辑proxy的zabbix-proxy的配置文件

[[email protected] ~]# vim /etc/zabbix/zabbix_proxy.conf
 30 Server=172.25.26.1     # server端的ip
 39 ServerPort=10051       # proxy的主机名
 49 Hostname=proxy
173 DBName=zabbix_proxy     # 数据库名称
188 DBUser=zabbix          # 数据库用户
196 DBPassword=westos     # 数据库密码
329 JavaGateway=172.25.26.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5

6.打开服务,查看端口10051是否开启,并查看相应日志看是否接收正常

[[email protected] ~]# systemctl start zabbix-proxy
[[email protected] ~]# netstat -antlp | grep :10051

[[email protected] ~]# cat /var/log/zabbix/zabbix_proxy.log       ##查看proxy端的日志,是否接受成功(received)
  2482:20190517:011155.864 received configuration data from server at "172.25.26.1", datalen 3511

[[email protected] 4.0]# cat /var/log/zabbix/zabbix_server.log        ##查看server端的日志,是否发送成功(sending)
  25486:20190517:011156.215 sending configuration data to proxy "proxy" at "172.25.26.2", datalen 3511

zabbix proxy 分布式监控
7.在agent端重新指向ip到proxy

[[email protected] bin]# vim /etc/zabbix/zabbix_agentd.conf
 98 Server=172.25.26.2   ##proxy端的ip
139 ServerActive=172.25.26.2

8.浏览器添加proxy
点击server3主机:添加agent代理接口,并由agent代理程序监测
zabbix proxy 分布式监控
zabbix proxy 分布式监控添加好之后,再次刷新网页,状态可能是灰色
解决方法:
(1)重启刷新配置文件,重启各端服务

[[email protected] 4.0]# zabbix_server -R config_cache_reload
[[email protected] ~]# systemctl restart zabbix-proxy

[[email protected] bin]# systemctl restart zabbix-agent
[[email protected] bin]# cat /var/log/zabbix/zabbix_agentd.log   ##没有任何报错就成功了

(2)再次刷新页面,就成功了