参考博文:http://blog.51cto.com/jinlong/2051966前端
zabbix proxy 能够代替 zabbix server 检索客户端的数据,而后把数据汇报给 zabbix server,而且在必定程度上分担了zabbix server 的压力.zabbix proxy 能够很是简便的实现了集中式、分布式监控。node
Zabbix_proxy只须要一条tcp连接到zabbix_server,只须要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,不然数据会被破坏。由于这两个数据库的表大部分相同。mysql
Zabbix_proxy收集的全部数据在传输到服务器以前都存储在本地。而后再必定时间以后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。nginx
Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报。web
备注:使用 agent active 模式,必定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。sql
zabbix proxy 使用场景:数据库
跨机房、跨区域监控vim
简化 zabbix 的维护bash
减轻zabbix server的压力服务器
一、安装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
二、配置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;"
三、修改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的线程数
四、启动进程
systemctl start zabbix-proxy.service netstat -luntp|grep 10051
五、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