1、zabbix proxy简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

zabbix proxy 使用场景: 监控远程区域设备,监控本地网络不稳定区域,当 zabbix 监控上千设备时,使用它来减轻 server 的压力,简化分布式监控的维护。

信息存储规则:zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。同时为了防止数据库被破坏,通常情况下zabbix proxy 数据库与 server 数据库分开。

数据流向:proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。

2、zabbix proxy配置

2.1 实验环境

主机

配置

server1(192.168.1.110)

zabbix-server

server2(192.168.1.120)

zabbix-agent

server3(192.168.1.130)

zabbix-proxy

同时在三台主机中分别添加proxy的解析

 2.2 配置过程

首先在server1的zabbix监控中配置proxy的代理


zabbix proxy 连接 zabbix server zabbix proxy作用_重启

图 1 添加新代理

查看添加结果:


zabbix proxy 连接 zabbix server zabbix proxy作用_数据_02

图 2 添加结果

 其次在server3安装proxy:


zabbix proxy 连接 zabbix server zabbix proxy作用_数据库_03

图 3 安装需要的文件

配置数据库:

####安装数据库并进行初始化
[root@proxy opt]# systemctl start mariadb
[root@proxy opt]# mysql_secure_installation 

####在数据库中创建独立的数据
MariaDB [(none)]> CREATE DATABASE zabbix_proxy CHARACTER SET utf8 COLLATE utf8_bin;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix_proxy.* to zabbix@localhost IDENTIFIED BY 'linux';

####导入数据
[root@proxy opt]# zcat /usr/share/doc/zabbix-proxy-mysql-4.4.1/schema.sql.gz | mysql -uroot -p zabbix_proxy


zabbix proxy 连接 zabbix server zabbix proxy作用_数据_04

图 4 配置数据库

数据导入后,修改proxy的配置文件:

####修改proxy配置文件:/etc/zabbix/zabbix_proxy.conf
##修改的内容:
...
Server=192.168.1.110
ServerPort=10051
Hostname=proxy
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=linux
JavaGateway=192.168.1.110
JavaGatewayPort=10052
StartJavaPollers=5
...

####重启zabbix-proxy
[root@proxy opt]# systemctl restart zabbix-proxy.service


zabbix proxy 连接 zabbix server zabbix proxy作用_重启_05

图 5 配置并重启服务

检查上述配置,配置完成,在server1的zabbix监控中可以看到proxy已经在运行:


zabbix proxy 连接 zabbix server zabbix proxy作用_重启_06

图 6 proxy咱运行

然后在server2中更改数据流向:

####更改指定的server(/etc/zabbix/zabbix_agentd.conf )
##更改内容:
...
Server=192.168.1.130
ServerActive=192.168.1.130
...

测试:

在server1的zabbix监控更改server2的模式为proxy:


zabbix proxy 连接 zabbix server zabbix proxy作用_重启_07

图 7 更改服务为proxy

配置完成,在server3中重启proxy服务,再server1中查看监控,即可获得结果:


zabbix proxy 连接 zabbix server zabbix proxy作用_重启_08

图 8 监控结果

3、zabbix 中的网络拓扑

可对zabbix中的拓扑图进行处理:


zabbix proxy 连接 zabbix server zabbix proxy作用_数据库_09

图 9 拓扑处理

自己编辑拓扑图:


zabbix proxy 连接 zabbix server zabbix proxy作用_数据库_10

图 10 自己编辑拓扑图

 

绘制聚合图:


zabbix proxy 连接 zabbix server zabbix proxy作用_数据_11

图 11 编辑聚合图

根据需求,添加监控数据


zabbix proxy 连接 zabbix server zabbix proxy作用_数据_12

图 12 根据需求,添加监控