1 代理

概述

Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据,承担一些收集数据的负担,分担了 Zabbix server 的负荷。

此外,使用proxy是实现集中式和分布式监控的最简单方法,所有 agents 和 proxies 发送给一个 Zabbix server,从而集中收集所有数据。

Zabbix proxy 使用场景:

  • 监控远程区域设备

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

  • 监控上千设备时,减轻 zabbix server 的负荷

  • 简化分布式监控的维护

1 代理 - 图1

Zabbix proxy到 Zabbix server 只需要一条 tcp 连接,仅在防火墙上配置一条规则即可。

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

proxy 收集到数据都先存储在本地,然后在一定时间后传给 Zabbix server,这样就不会因为暂时无法连接zabbix server而丢失数据。本地保留时间由 proxy配置文件中参数 ProxyLocalBufferProxyOfflineBuffer 决定。

注意从 zabbix server 数据库直接更新最新配置的 proxy 可能会比 Zabbix server 更快生效。当 Zabbix server 由于设置 缓存更新周期 的原因而无法快速更新时,proxy 收集发送到 Zabbix server 的数据可能会被忽略。

Zabbix proxy 只是一个数据收集器,不运行触发器、不处理事件、不发送报警。有关 proxy 功能详情,如下表:

功能proxy支持状态
监控项(Items)
Zabbix agent checksYes
Zabbix agent checks (active)Yes 1
Simple checksYes
Trapper itemsYes
SNMP checksYes
SNMP trapsYes
IPMI checksYes
JMX checksYes
日志文件监控(Log file monitoring)Yes
内部检查(Internal checks)Yes
SSH 检查(SSH checks)Yes
Telnet 检查(Telnet checks)Yes
外部检查(External checks)Yes
从属监控项(Dependent items)Yes 2
内置web监控(Built-in web monitoring)Yes
网络发现(Network discovery)Yes
自动发现(Low-level discovery)Yes
远程命令(Remote commands)Yes
触发器计算(Calculating triggers)No
处理事件(Processing events)No
事件关联(Event correlation)No
发送报警(Sending alerts)No
监控项值的预处理(Item value preprocessing)No

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

[2] Zabbix Server 对监控项值预处理时,需要先从主监控项获取到所需的数据。

配置

安装配置了一个 proxy 后,可在 Zabbix 前端进行设置。

添加代理

要在 Zabbix 前端配置代理:

  • 转到:管理 → agent代理程序

  • 单击创建代理

1 代理 - 图2

参数描述
代理名称(Proxy Name)proxy 名称。它必须与proxy配置文件中的Hostname参数中的名称相同。
代理模式(Proxy mode)选择 proxy 运行模式
主动模式(Active) - proxy 将连接到Zabbix server并请求配置数据
被动模式(Passive) - Zabbix server 连接到 proxy
注意,当 proxy 使用主动模式时,访问Zabbix server的 trapper端口可获取到未加密通信(敏感)proxy 配置数据。如果不进行身份验证或在代理地址限制IP范围,任何人都可以伪装成主动模式 proxy 并请求配置数据。
代理地址(Proxy address)设置仅接受指定IP地址、地址段、DNS名的 proxy 主动发起的网络请求。\仅在代理模式选择主动模式下生效,不支持宏(Macros)。
此选项始于Zabbix 4.0.0.
接口(Interface)被动模式 proxy 的接口详情。
仅在代理模式选择被动模式下生效。
IP地址(IP Address)被动模式 proxy 的IP (可选)。
DNS名(DNS Name)被动模式 proxy 的DNS名 (可选)。
连接到(Connect to)单选按钮,确定 Zabbix server 从 proxy 获取数据的途径:
IP - 连接到指定IP的 proxy (推荐)
DNS - 连接到指定DNS名的 proxy
端口(Port)被动模式 proxy 使用TCP/UDP端口号(默认10051)。
描述proxy描述。

加密选项卡用于proxy的加密连接。

参数描述
连接代理服务器连接到被动代理的加密方式:非加密(默认),共享秘钥(PSK)或证书。
从代理连接主动模式 proxy 连接服务器的加密方式。可以同时选择几种连接类型(用于测试和切换到其他连接类型)。默认为“无加密”。
发行者(Issuer)允许颁发证书。证书首先通过CA(认证机构)验证。如果CA有效,则由CA签名,这时可以使用发行者字段来进一步限制允许的CA。该字段是可选的,如果 Zabbix 安装使用多个CA的证书,则使用该字段。
主体(Subject)允许的证书。证书首先通过CA验证。如果它有效,由CA签名,这时主体字段可以用于仅允许一个主体字符串值。如果此字段为空,则接受CA签名的任何有效证书。
共享密钥一致性(PSK identity)共享密钥身份字符串
共享密钥(PSK)共享密钥(16进制)。如果 Zabbix 使用 mbed TLS(PolarSSL)库,最大长度为64位十六进制(32字节PSK);如果 Zabbix 使用 GnuTLS 或 OpenSSL 库,最大长度为512位十六进制数(256字节PSK)。示例:1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
主机配置

您可以使用由 agent 代理程序监测字段指定主机配置表单中的proxy监控单个主机。

1 代理 - 图3

另一种配置指定主机由 proxy 监控的方式是选择主机批量更新