一、 介绍

Zabbix代理可以代表Zabbix服务器收集性能和可用性数据。这样,代理可以承担一些收集数据的负担,并减轻Zabbix服务器的负担。

此外,当所有代理和代理都报告给一台Zabbix服务器并且集中收集所有数据时,使用代理是实现集中式和分布式监视的最简单方法。

Zabbix代理可用于:

  • 监控远程位置的相关设备和主机
  • 监视通讯不可靠的,网络不稳定的位置
  • 监视数千个设备时,使用 Proxy 进行分布式监控。
  • 简化分布式监控的维护

zabbix proxy配置 防火墙 zabbix proxy作用_mysql

上图中,Proyx 仅需要一个与Zabbix服务器的TCP连接即可。这样,您只需配置一个防火墙规则,就可以轻松绕过防火墙。

注意:Zabbix代理必须使用单独的数据库。将其指向Zabbix服务器数据库将破坏配置。

代理收集的所有数据都存储在本地,然后再传输到服务器。这样,不会由于与服务器的任何临时通信问题而丢失任何数据。代理配置文件中的 ProxyLocalBufferProxyOfflineBuffer 参数控制数据在本地保留多长时间。

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

功能

proxy支持(yes/no)

项目(Items)

Zabbix agent checks

Yes

Zabbix agent checks (active)

Yes 1

Simple checks

Yes

Trapper items

Yes

SNMP checks

Yes

SNMP traps

Yes

IPMI checks

Yes

JMX checks

Yes

日志文件监控(Log file monitoring)

Yes

内部检查(Internal checks)

Yes

SSH checks

Yes

Telnet checks

Yes

外部检查(External checks)

Yes

内置web监控(Built-in web monitoring)

Yes

网络发现(Network discovery)

Yes

自动发现(Low-level discovery)

Yes

触发器计算(Calculating triggers)

No

处理事件(Processing events)

No

发送报警(Sending alerts)

No

远程命令(Remote commands)

No

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

二、 安装 Zabbix Proxy

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

2 数据库准备

为 Proxy 搭建单独的 MysQL 数据库服务器,并创建逻辑库、授权的用户。

# mysql -uroot -p
password
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> quit;

导入初始表结构。

# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p   zabbix_proxy

3 配置 Zabbix Proxy

编辑 /etc/zabbix/zabbix_proxy.conf

3.1 为 Zabbix proxy 配置到数据库连接信息

# vi /etc/zabbix/zabbix_proxy.conf
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=<password>

3.2 为 Zabbix proxy 配置到 Zabbix Server 的信息

# 代理模式 0 主动上报给 Zabbix Server, 1 被动,默认 0
ProxyMode=0
Server=Zabbix 服务器的IP

# 唯一的、区分大小写的代理名称。确保服务器知道代理名称!
# 如果未定义,则从HostnameItem获取值。 
Hostname=bj-proxy

# 允许日志文件最大多少 MB, 默认是 0,就是不限制大小,也就是不进行日志切割
LogFileSize=2

# 即使数据已经与服务器同步,代理也会在本地保留N个小时。
#如果第三方应用程序将使用本地数据,则可以使用此参数
# 默认 0
ProxyLocalBuffer=0

# 如果没有与Zabbix服务器连接,代理将保留数据N小时。
# 旧数据将丢失。
# 默认 1
ProxyOfflineBuffer=1

# 心跳消息的频率(秒)。
#用于监控服务器端代理的可用性。
#0-已禁用心跳消息。
#对于处于被动模式的代理,此参数将被忽略。
# 默认 60
HeartbeatFrequency=60


# 向服务端更新监控配置的间隔时间
# 为了快速看到实验效果,这里设置5秒,默认3600秒
ConfigFrequency=5

# 向服务端发送监控数据的间隔时间,单位秒
DataSenderFrequency=5


4 启动Zabbix Proxy 并检查

systemctl  start zabbix-proxy.service

二、配置被 Proxy 监控的主机

# vi /etc/zabbix/zabbix_agentd.conf
# Zabbix Proxy 的 IP
Server=192.168.122.100

# 假如开启了 agent 的主动模式,这里也是 Zabbix Proxy 的 IP
ServerActive=192.168.122.100

二、在 Zabbix Server 端添加一个 Zabbix Proxy

1 页面上创建 Agent 代理

Zabbix Proxy 在服务端页面中叫做 agent 代理

zabbix proxy配置 防火墙 zabbix proxy作用_zabbix5.0_02

2 配置代理的相关信息

zabbix proxy配置 防火墙 zabbix proxy作用_数据_03

zabbix proxy配置 防火墙 zabbix proxy作用_数据_04

三、在 Zabbix Server 端添加一个 被 Proxy 监控的主机

zabbix proxy配置 防火墙 zabbix proxy作用_zabbix proxy配置 防火墙_05

zabbix proxy配置 防火墙 zabbix proxy作用_zabbix proxy配置 防火墙_06

zabbix proxy配置 防火墙 zabbix proxy作用_数据_07