一、什么是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的配置
- 此实验是在zabbix监控平台搭建好,并且有一个agent(server3),将之前的环境清除干净(包括关闭自动发现等等)
- 首先关闭proxy的agent(没有配置的可以不做此步骤)
[root@proxy ~]# systemctl stop zabbix-agent
- 在三个主机中都添加proxy的解析
[root@proxy ~]# vim /etc/hosts
172.25.19.2 proxy
[root@server1 ~]# vim /etc/hosts
172.25.19.2 proxy
[root@server3 ~]# vim /etc/hosts
172.25.19.2 proxy
-
先在网页创建proxy
管理—>agent代理程序—>创建代理
-
在proxy(172.25.19.2)安装zabbix-proxy以及依赖性软件
[root@proxy ~]# yum install -y zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm
- 配置数据库
##安装数据库
[root@proxy ~]# yum install -y mariadb mariadb-server
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# 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 zabbix@localhost identified by 'westos'; #数据库授权
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
[root@proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql zabbix_proxy ##导入数据库
- 查看数据库
- 编辑proxy的zabbix-proxy的配置文件
[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
30 Server=172.25.19.1 # proxy端的ip
39 ServerPort=10051 # proxy的主机名
49 Hostname=proxy
173 DBName=zabbix_proxy # 数据库名称
188 DBUser=zabbix # 数据库用户
196 DBPassword=westos # 数据库密码
329 JavaGateway=172.25.19.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5
- 打开服务,查看端口10051是否开启,并查看相应日志看是否接收正常
[root@proxy ~]# systemctl start zabbix-proxy
[root@proxy ~]# netstat -antlp | grep :10051
[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log ##查看proxy端的日志,是否接受成功(received)
3038:20190310:151052.719 received configuration data from server at "172.25.19.1", datalen 3511
[root@server1 4.0]# cat /var/log/zabbix/zabbix_server.log ##查看server端的日志,是否发送成功(sending)
1263:20190310:151053.526 sending configuration data to proxy "proxy" at "172.25.19.2", datalen 3511
- 在agent端重新指向ip到proxy
[root@server3 bin]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.19.2 ##proxy端的ip
139 ServerActive=172.25.19.2
- 浏览器添加proxy
点击server3主机:添加agent代理接口,并由agent代理程序监测
添加好之后,再次刷新网页,状态可能是灰色
- 再次重启刷新配置文件,重启各端服务
[root@server1 4.0]# zabbix_server -R config_cache_reload
[root@proxy ~]# systemctl restart zabbix-proxy
[root@server3 bin]# systemctl restart zabbix-agent
[root@server3 bin]# cat /var/log/zabbix/zabbix_agentd.log ##没有任何报错就成功了
- 再次刷新页面,就成功了