Zabbix5.0-分布式监控-Zabbix Proxy

一、 介绍

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

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

Zabbix代理可用于:

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

Zabbix5.0-分布式监控-Zabbix Proxy_第1张图片

上图中,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=

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

更多配置项说明,请参考 官方文档-zabbix_proxy.conf

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 代理

Zabbix5.0-分布式监控-Zabbix Proxy_第2张图片

2 配置代理的相关信息

Zabbix5.0-分布式监控-Zabbix Proxy_第3张图片

Zabbix5.0-分布式监控-Zabbix Proxy_第4张图片

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

Zabbix5.0-分布式监控-Zabbix Proxy_第5张图片

Zabbix5.0-分布式监控-Zabbix Proxy_第6张图片

Zabbix5.0-分布式监控-Zabbix Proxy_第7张图片

你可能感兴趣的:(zabbix,监控,zabbix5.0)