zabbix的分布式管理zabbix-proxy
简介:
zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.
使用场景:
监控远程区域设备
监控本地网络不稳定区域
当zabbix监控上千设备时,使用它来减轻server的压力
简化zabbix的维护
简单原理:
zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可.zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。
proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.这个时间由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定
安装过程:
环境
ZABBIX SERVER m01
zabbix proxy cache01
zabbix agent cache01
第一步:在代理机cache01安装zabbix proxy
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm yum -y install zabbix-proxy-mysql
第二步: 配置zabbix proxy,并在zabbix网页登记
zabbix proxy也需要数据库,这个数据库不是用于存储监控数据的 只是用于存储配置信息 # 安装数据库 yum -y install mariadb-server systemctl start mariadb.service #建库 创建用户授权 mysql create database zabbix_proxy character set utf8 collate utf8_bin; grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix'; exit # 导入数据库文件 zcat /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy # 配置zabbix proxy连接数据库 sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf systemctl start zabbix-proxy.service sed -i 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_proxy.conf sed -i 's#Hostname=Zabbix proxy#Hostname=cache01#' /etc/zabbix/zabbix_proxy.conf systemctl start zabbix-proxy.service
第三步:agent 指向 proxy (以下是修改好的配置王建的关键点)
[root@cache01 ~]# grep ^Server /etc/zabbix/zabbix_agentd.conf Server=172.16.1.21 ServerActive=172.16.1.21 [root@cache01 ~]# systemctl restart zabbix-agent.service
网页的操作:
1.
2.
3.在主机中添加如下配置
4.最后结果如下