(一)概述

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

zabbix proxy 使用场景:

  • 监控远程区域设备

  • 监控本地网络不稳定区域

  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力

  • 简化分布式监控的维护

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。

proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。

注意 :1,从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于  的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。

            2,zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:

注意:[1]使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。

                                                                            ------官方文档(

(二) 在代理服务器上编译安装zabbix_proxy

2.1,从官网上下载最新的安装包,并编译安装。

[root@SH-Cacti-200018 install]# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz/download [root@SH-Cacti-200018 install]# lszabbix-3.4.3.tar.gz[root@SH-Cacti-200018 zabbix-3.4.3]# yum install gcc pcre mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel[root@SH-Cacti-200018 install]# tar xf zabbix-3.4.3.tar.gz [root@SH-Cacti-200018 install]# cd zabbix-3.4.3[root@SH-Cacti-200018 zabbix-3.4.3]#./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-net-snmp --with-mysql --with-ssh2 --with-libcurl --with-libxml2 --with-libzbxvmware[root@SH-Cacti-200018 zabbix-3.4.3]# make && make install

2.2,添加zabbix用户和组

[root@SH-Cacti-200018 install]# groupadd zabbix[root@SH-Cacti-200018 install]# useradd -g zabbix zabbix

2.3,安装创建数据库(安装数据库省略)

mysql> create database zabbix_proxy;Query OK, 1 row affected (0.00 sec)mysql>GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix_proxy'@'%';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

2.4,导入zabbix默认的数据库文件

[root@SH-Cacti-200018 zabbix-3.4.3]# mysql zabbix_proxy < database/mysql/schema.sql

2.5,修改代理服务器的配置zabbix_proxy.conf

[root@SH-Cacti-200018 etc]# vim /usr/local/zabbix/etc/zabbix_proxy.confServer=192.168.99.99Hostname=Zabbix_Proxy200.18LogFile=/tmp/zabbix_proxy.log DBHost=192.168.99.99DBName=zabbix_proxyDBUser=zabbix DBPassword=zabbix ConfigFrequency=600 DataSenderFrequency=10Timeout=4LogSlowQueries=3000

备注:

Server=IP                    #zabbix服务端IPHostname=Zabbix_proxy               #必须和WEB页面添加代理时设置的名称一致LogFile=/tmp/zabbix_proxy.log           #日志文件路径DBHost=IP                    #数据库IPDBName=zabbix_proxy                #数据库名DBUser=user                   #数据库用户名DBPassword=password                #数据库密码ConfigFrequency=60                #配置文件同步间隔DataSenderFrequency=5               #数据同步间隔

2.5配置zabbix_proxy和zabbix_agent启动服务

[root@HTD-CATIT init.d]# cp /tmp/install/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/[root@HTD-CATIT init.d]# cp /tmp/install/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_server  /etc/init.d/[root@HTD-CATIT init.d]# cd /etc/init.d/[root@HTD-CATIT init.d]# mv zabbix_server zabbix_proxy#########修改zabbix_proxy中的BINARY_NAME=zabbix_proxy[root@HTD-CATIT init.d]# vim zabbix_proxy #!/bin/bash## chkconfig: - 90 10# description:  Starts and stops Zabbix Server using chkconfig#                               Tested on Fedora Core 2 - 5#                               Should work on all Fedora Core versions## @name:        zabbix_server# @author:      Alexander Hagenah 
# @created:     18.04.2006## Modified for Zabbix 2.0.0# May 2012, Zabbix SIA## Source function library.. /etc/init.d/functions# Variables# Edit these to match your system settings        # Zabbix-Directory        BASEDIR=/usr/local        # Binary File        BINARY_NAME=zabbix_proxy[root@HTD-CATIT init.d]# chmod +x zabbix_*[root@HTD-CATIT init.d]# chkconfig --add zabbix_proxy[root@HTD-CATIT init.d]# chkconfig --add zabbix_agetnd[root@HTD-CATIT init.d]# chkconfig zabbix_proxy on[root@HTD-CATIT init.d]# chkconfig zabbix_agentd on[root@HTD-CATIT init.d]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin[root@HTD-CATIT init.d]# /etc/init.d/zabbix_proxy restartShutting down zabbix_proxy: [  OK  ]Starting zabbix_proxy:  [  OK  ]

(三)在zabbix客户端agent配置

在被监控的agnet端的配置文件设置Server=proxy_IP后并重启服务

[root@SH-Cacti-200018 etc]# grep -vP '^$|#' zabbix_agentd.confLogFile=/tmp/zabbix_agentd.logServer=192.168.200.18 ListenPort=10050ServerActive=192.168.200.18Hostname=192.168.180.18

(四)Zabbix服务端 WEB界面上进行如下配置

4.1,新建代理服务器,管理--agent代理程序--创建代理

4.2,填写代理服务器的相关信息。

4.3,新建监控主机并选择相应的模板。配置--主机--新建主机。

4.4,点击确定后再监控图形中查看出图效果。

至此zabbix_proxy代理监控完毕。