企业级监控系统——Zabbix Proxy
1. 为什么要使用Zabbix Proxy
当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?
如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?
其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。
2. 配置Zabbix Proxy
step1 我们将server3主机作为Zabbix Proxy
hostnamectl set-hostname proxy
vim /etc/hosts
172.25.1.3 server3 proxy
scp /etc/hosts [email protected]:/etc/
scp /etc/hosts [email protected]:/etc/
systemctl stop zabbix-agent.service
step2 在监控界面:
step3 在server3主机:
cd /4.4
yum install zabbix-proxy-mysql-4.4.1-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm -y
yum install mariadb-server.x86_64 -y
systemctl start mariadb.service
mysql_secure_installation
mysql -uroot -predhat
#创建一个zabbix_proxy的数据库
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
#创建一个zabbix_proxy用户,并且有认证和一些权限
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
导入包,配置文件
cd /usr/share/doc/zabbix-proxy-mysql-4.4.1/
zcat schema.sql.gz | mysql -p zabbix_proxy
vim /etc/zabbix/zabbix_proxy.conf
30 Server=172.25.1.1
39 ServerPort=10051
49 Hostname=proxy
196 DBPassword=redhat
338 JavaGateway=172.25.1.4
346 JavaGatewayPort=10052
354 StartJavaPollers=5
systemctl start zabbix-proxy.service
systemctl status zabbix-proxy.service
step4 查看日志:
#server3
tail -f /var/log/zabbix/zabbix_proxy.log
#server1
tail -f /var/log/zabbix/zabbix_server.log
step5 测试
在监控界面:
可以看到Zabbix Proxy已经生效
3. 使用Zabbix Proxy
我们可以使用Zabbix Proxy 来监控server2主机
step1 在server2主机配置:
vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.1.3
139 ServerActive=172.25.1.3
systemctl restart zabbix-agent.service
systemctl status zabbix-agent.service
step2 在监控界面配置:
step3 重启
#server1
systemctl restart zabbix-server.service
#server2
systemctl restart zabbix-agent.service
#server3
systemctl restart zabbix-proxy.service
step4 查看
在监控界面:
server2主机ZBX可用,且agent代理程序变为proxy,配置成功!