企业级监控系统——Zabbix Proxy

  • 1. 为什么要使用Zabbix Proxy
  • 2. 配置Zabbix Proxy
  • 3. 使用Zabbix Proxy


1. 为什么要使用Zabbix Proxy

当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?

如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?

其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxyzabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。

基于 Zabbix 构建企业级监控平台_监控系统

2. 配置Zabbix Proxy

step1 我们将server3主机作为Zabbix Proxy

hostnamectl set-hostname proxy
vim /etc/hosts
 
172.25.1.3 server3 proxy

scp /etc/hosts root@172.25.1.2:/etc/
scp /etc/hosts root@172.25.1.1:/etc/
systemctl stop zabbix-agent.service

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_02

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_03

基于 Zabbix 构建企业级监控平台_监控系统_04

step2 在监控界面:

基于 Zabbix 构建企业级监控平台_mysql_05

基于 Zabbix 构建企业级监控平台_监控系统_06

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_07

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';

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_08

导入包,配置文件

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

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_09

基于 Zabbix 构建企业级监控平台_mysql_10

基于 Zabbix 构建企业级监控平台_vim_11

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_12

step4 查看日志:

#server3
tail -f /var/log/zabbix/zabbix_proxy.log
#server1
tail -f /var/log/zabbix/zabbix_server.log

基于 Zabbix 构建企业级监控平台_mysql_13

基于 Zabbix 构建企业级监控平台_mysql_14

step5 测试

在监控界面:

基于 Zabbix 构建企业级监控平台_vim_15

可以看到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

基于 Zabbix 构建企业级监控平台_基于 Zabbix 构建企业级监控平台_16

基于 Zabbix 构建企业级监控平台_vim_17

基于 Zabbix 构建企业级监控平台_监控系统_18

step2 在监控界面配置:

基于 Zabbix 构建企业级监控平台_监控系统_19

基于 Zabbix 构建企业级监控平台_mysql_20

step3 重启

#server1
systemctl restart zabbix-server.service 
#server2
systemctl restart zabbix-agent.service
#server3
systemctl restart zabbix-proxy.service

step4 查看

在监控界面:

基于 Zabbix 构建企业级监控平台_mysql_21


server2主机ZBX可用,且agent代理程序变为proxy,配置成功!