1 代理
概述
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据,承担一些收集数据的负担,分担了 Zabbix server 的负荷。
此外,使用proxy是实现集中式和分布式监控的最简单方法,所有 agents 和 proxies 发送给一个 Zabbix server,从而集中收集所有数据。
Zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
监控上千设备时,减轻 zabbix server 的负荷
简化分布式监控的维护
Zabbix proxy到 Zabbix server 只需要一条 tcp 连接,仅在防火墙上配置一条规则即可。
Zabbix proxy 数据库必须和 server 数据库分开,否则 Zabbix server 数据库会被破坏。
proxy 收集到数据都先存储在本地,然后在一定时间后传给 Zabbix server,这样就不会因为暂时无法连接zabbix server而丢失数据。本地保留时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
注意从 zabbix server 数据库直接更新最新配置的 proxy 可能会比 Zabbix server 更快生效。当 Zabbix server 由于设置 缓存更新周期 的原因而无法快速更新时,proxy 收集发送到 Zabbix server 的数据可能会被忽略。
Zabbix proxy 只是一个数据收集器,不运行触发器、不处理事件、不发送报警。有关 proxy 功能详情,如下表:
功能 | proxy支持状态 | |
---|---|---|
监控项(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 检查(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代理程序
单击创建代理
参数 | 描述 | |
---|---|---|
代理名称(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监控单个主机。
另一种配置指定主机由 proxy 监控的方式是选择主机批量更新。