作为一个适用于中大型或超大型的监控软件,分布式部署必然必不可少,同样Zabbix添加了Zabbix Proxy增强了其扩展能力,这让Zabbix在大型IT环境中有了一席之地,特别是在分区和混合云环境发挥了很大的作用,往往不需要放开过多的权限,就可以辐射更多的监控区域,并且共用一套前端,也大大的减小运维人员的使用成本。
![](https://s3.51cto.com/oss/202101/04/24912895072d1e13554ef265ef7c7835.png)
正文
正文之前
1.Zabbix Proxy使用的是独立的数据库实例,如果放在一起数据容易遭到破坏;
2.Proxy仅仅是一个数据采集的作用,其他的依然是依靠Server端实现,这就会造成一个现象,如果Proxy出现断连,就不会再出现告警了。
安装阿里源
环境依然是CentOS 7.6,注意Zabbix Proxy在CentOS7上支持5.2版本。
- 添加源
- cat <<EOF > /etc/yum.repos.d/zabbix.repo
- [zabbix]
- name=Zabbix Official Repository - \$basearch
- baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/7/\$basearch/
- enabled=1
- gpgcheck=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
- [zabbix-non-supported]
- name=Zabbix Official Repository non-supported - \$basearch
- baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
- enabled=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
- gpgcheck=1
- EOF
- 添加 gpgkey
- curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
- -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
- curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
- -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
安装Zabbix Proxy
- yum -y install zabbix-proxy-mysql
安装Zabbix Proxy
安装数据库并初始化
- ####安装数据库####
- yum -y install mariadb-server vim
- ####启动数据库并设置为开机启动####
- systemctl start mariadb && systemctl enable mariadb
- ####初始化数据库,主要是修改数据库密码和删除测试库实例####
- mysql_secure_installation
安装数据库和相关工具
![](https://s6.51cto.com/oss/202101/04/d329f8c69489fa86d81d6e2cc7303b72.png)
完成数据库初始化
创建Proxy库实例
- mysql -uroot -pxiaoyu123
- create database zabbix_proxy character set utf8 collate utf8_bin;
- create user zabbix_proxy@localhost identified by 'xiaoyu123';
- grant all privileges on zabbix_proxy.* to zabbix_proxy@localhost;
- quit;
创建数据库实例
导入架构文件
这里需要注意一个点,需要编辑架构文件,指定上面创建的数据库实例名称。
- vim /usr/share/doc/zabbix-proxy-mysql-5.2.3/schema.sql.gz
- ####在首行添加该语句####
- use zabbix_proxy
- ####导入架构####
- zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix_proxy -pxiaoyu123
首行加入use zabbix_proxy,否则会出现找不到数据库
修改Proxy配置文件
- vim /etc/zabbix/zabbix_proxy.conf
修改Zabbix Server地址
![](https://s5.51cto.com/oss/202101/04/b687d0d1441e3d4c2c84a61cc9ccd783.png)
修改Hostname
![](https://s5.51cto.com/oss/202101/04/24f77de1523b2d024366d06eb7eb9c58.png)
修改为正确的数据库名字和用户名
![](https://s2.51cto.com/oss/202101/04/30617dbe7736e39db6efe10ddfa9541f.png)
添加该用户密码
![](https://s3.51cto.com/oss/202101/04/e8ed5f656b6957113106f2151ceeea96.png)
增加本地缓存时间,防止出现网络阻塞数据传输异常(可选)
![](https://s4.51cto.com/oss/202101/04/3b2b7579d861164c3a9632c07e97702e.png)
设置拉取Server配置频率,我这里设置为5S
启动zabbix proxy服务
- systemctl start zabbix-proxy && systemctl enable zabbix-proxy
Zabbix Server前端配置
![](https://s4.51cto.com/oss/202101/04/8aac2be0759bbb6445ba61ff32e8bd17.png)
创建代理
填入配置文件里的参数和proxy的IP地址
![](https://s4.51cto.com/oss/202101/04/5531e9375ef209e86c7609c98cc1b2f3.png)
添加正常
![](https://s5.51cto.com/oss/202101/04/5a78b2ce4a3e13f83ff94e326b0eb23b.png)
日志正常
使用Proxy方法
![](https://s5.51cto.com/oss/202101/04/fb2d82540f6bb085057bf0c9dad04bf2.png)
创建主机,并选择代理
![](https://s2.51cto.com/oss/202101/04/2350b11f1f95c98d52c3fa7d6cbf7903.png)
老套路,选择ICMP模板测试
![](https://s5.51cto.com/oss/202101/04/c31cacd18be71c737b65b67052a0a0d8.png)
进入主机查看最新数据
![](https://s2.51cto.com/oss/202101/04/64dd973bf662ceae048863cf887bc086.png)
数据已经获取成功,Proxy工作正常
总结
Zabbix Proxy的安装相对比较简单,但其配置文件并不简单,相当于一个阉割版的Zabbix Server,如果想要研究的更加深刻,需要详细的去测试每一项的功能,并应用在实际的生产环境中,分布式部署由于只是采集数据功能,所以只是在一定程度上降低了Server的I/O、内存等压力,并不是完全独立,另外5.2新增了本地缓存以及掉线后数据会持续采集的功能,增强了分布式的可用性。最后还是那句话,监控领域长路漫漫,绝非一朝一夕,大量的测试和验证才是真理。下期见!