参考博文:http://blog.51cto.com/jinlong/2051966
zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.zabbix proxy 可以非常简便的实现了集中式、分布式监控。
Zabbix_proxy只需要一条tcp链接到zabbix_server,只需要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,否则数据会被破坏。因为这两个数据库的表大部分相同。
Zabbix_proxy收集的所有数据在传输到服务器之前都存储在本地。然后再一定时间之后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。
Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报。
备注:使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
zabbix proxy 使用场景:
跨机房、跨区域监控
简化 zabbix 的维护
减轻zabbix server的压力
分布式部署
1、安装zabbix_proxy软件
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install -y zabbix-proxy zabbix-proxy-mysql mariadb*
systemctl enable mariadb
systemctl start mariadb
2、配置zabbix_proxy库
[root@web-node3 ~]# mysql MariaDB [(none)]> create database zabbix_proxy character set utf8; MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
[root@web-node3 ~]# rpm -ql zabbix-proxy-mysql
[root@web-node3 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
#查看创建的库
MariaDB [(none)]> show databases; #是否有zabbix_proxy库存在
MariaDB [(none)]> use zabbix_proxy; #进入到改库
MariaDB [zabbix_proxy]> show tables; #查看数据是否存在
或一条命令检测
mysql -uzabbix_proxy -pzabbix_proxy -e "use zabbix_proxy;show tables;"
3、修改zabbix_proxy的配置文件
[root@web-node3 ~]# vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 #使用主动模式,1为被动模式,默认为主动模式,web前端也配置主动模式
Server=10.0.0.200 #填写zabbix-server的ip地址
DBHost=localhost
Hostname=zabbix-proxy #本机主机名
DBName=zabbix_proxy #数据库名
DBUser=zabbix_proxy #用户名
DBPassword=zabbix_proxy #zabbix_proxy数据库米密码
Timeout=15
配置文件中没有配置的内容如下:(有需要可以配置)
# ProxyLocalBuffer=0
#数据保留的时间(小时为单位)
# ProxyOfflineBuffer=1
#连不上Server,数据要保留多久(小时为单位,默认1小时)
# DataSenderFrequency=1
#数据的发送时间间隔(默认是1秒)
# StartPollers=5
#启动的线程数
# StartIPMIPollers=0
#启动IPMI的线程数
4、启动进程
systemctl start zabbix-proxy.service netstat -luntp|grep 10051
5、zabbix-server端配置
第二步:把监控的主机改成agent代理模式
配置--主机--选择修改的主机---
注:把修改的这台主机的zabbix-agent配置文件内的server地址指向zabbix-proxy的IP地址并重启。
#一个zabbix agent客户端配置文件如下
[root@server ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.0.0.111 ServerActive=10.0.0.111 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/ UserParameter=nginx.status[*],/etc/zabbix/nginx_zbx.sh $1 UserParameter=tcp[*],/etc/zabbix/scripts/tcp_status_ss.sh $1