4 Proxy

概述

Zabbix proxy 是一个可能从一个或多个受监控设备收集监控数据并将信息发送到Zabbix server的进程,本质上代表服务器工作。所有收集的数据先在本地缓冲,然后传输到该proxy所属的Zabbix server。

部署proxy是可选的,但对于分散单个Zabbix server的负载非常有益。如果只有proxies收集数据,服务器上的处理会减少CPU和磁盘I/O消耗。

Zabbix proxy 是集中监控远程位置、分支机构和没有本地管理员的网络的理想解决方案。

Zabbix proxy 需要单独的数据库。

注意,Zabbix proxy支持的数据库包括SQLite、MySQL和PostgreSQL。使用Oracle需自行承担风险,可能存在一些限制,例如在概述低级发现规则中。

另请参阅:Using proxies in a distributed environment

运行 proxy

若以软件包安装

Zabbix proxy 以守护进程方式运行。可通过执行以下命令启动proxy:

systemctl start zabbix-proxy

该命令在大多数GNU/Linux系统上有效。在其他系统上可能需要run:

/etc/init.d/zabbix-proxy start

同样地,要停止/重启/查看Zabbix proxy状态,可使用以下命令:

systemctl stop zabbix-proxy systemctl restart zabbix-proxy systemctl status zabbix-proxy

手动启动

如果上述方法无效,您需要手动启动它。找到 zabbix_proxy二进制文件的路径并execute:

zabbix_proxy

您可以使用以下命令行参数与Zabbix proxy:

-c --config <file>              path to the configuration file
       -f --foreground                 run Zabbix proxy in foreground
       -R --runtime-control <option>   perform administrative functions
       -h --help                       give this help
       -V --version                    display version number

使用命令行参数运行Zabbix proxy的示例:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf zabbix_proxy --help zabbix_proxy -V

运行时控制

运行时控制选项:

选项 描述 目标
config_cache_reload 重新加载configuration cache。如果缓存当前正在加载则忽略此操作。
活跃的Zabbix proxy将连接到Zabbix server并请求配置数据。
diaginfo[=<section>] 在proxy日志file中收集诊断信息。 historycache - history cache统计信息
preprocessing - 预处理管理器统计信息
locks - 互斥锁列表(在BSD系统上为空)
snmp_cache_reload 重新加载SNMP缓存,clear所有主机的SNMP属性(引擎时间、引擎启动次数、引擎ID、凭据)。
housekeeper_execute 启动housekeeping程序。如果housekeeping程序当前正在运行则忽略此操作。
log_level_increase[=<target>] 提高日志级别,如果未指定目标则影响所有进程。
BSD系统不支持此功能。
process type - 指定类型的所有进程(如poller)
查看所有proxy进程类型
process type,N - 进程类型和编号(如poller,3)
pid - 进程标识符(1至65535)。对于更大的值,请指定为'process type,N'。
log_level_decrease[=<target>] 降低日志级别,如果未指定目标则影响所有进程。
BSD系统不支持此功能。
prof_enable[=<target>] 启用性能分析。
如果未指定目标则影响所有进程。
启用的性能分析按函数名提供所有读写锁/互斥锁的详细信息。
自Zabbix 6.0.13起支持。
process type - 指定类型的所有进程(如history syncer)
查看所有proxy进程类型
process type,N - 进程类型和编号(如history syncer,1)
pid - 进程标识符(1至65535)。对于更大的值,请指定为'process type,N'。
scope - rwlock, mutex, processing可与进程类型和编号一起使用(如history syncer,1,processing)或指定类型的所有进程(如history syncer,rwlock)
prof_disable[=<target>] 禁用性能分析。
如果未指定目标则影响所有进程。
自Zabbix 6.0.13起支持。
process type - 指定类型的所有进程(如history syncer)
查看所有proxy进程类型
process type,N - 进程类型和编号(如history syncer,1)
pid - 进程标识符(1至65535)。对于更大的值,请指定为'process type,N'。

使用运行时控制重新加载proxy配置缓存的示例:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

使用运行时控制收集诊断信息的示例:

Gather all available diagnostic information in the proxy log file:
       zabbix_proxy -R diaginfo
       
       proxy日志file中收集history cache统计信息:
       
       zabbix_proxy -R diaginfo=historycache

使用运行时控制重新加载SNMP缓存的示例:

zabbix_proxy -R snmp_cache_reload  

使用运行时控制触发housekeeper执行的示例

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

使用运行时控制更改日志级别的示例:

Increase log level of all processes:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       提高第二个poller进程的日志级别:
       
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       提高PID为1234的进程的日志级别:
       
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       降低所有http poller进程的日志级别:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
进程用户

Zabbix proxy 被设计为以非root用户身份run. 它将以其启动时使用的任何非root用户身份run. 因此您可以以任何非root用户身份run proxy, 而无需任何问题.

如果您尝试以'root'身份run, 它将切换到一个硬编码的'zabbix'用户, 该用户必须存在于您的系统中. 只有当您修改proxy配置file中的'AllowRoot'参数后, 才能以'root'身份run proxy.

配置文件

有关配置zabbix_proxy的详细信息,请参阅configuration file选项。

Proxy 进程类型

  • availability manager - 用于主机可用性更新的进程

  • configuration syncer - 用于管理配置数据的memory内缓存进程

  • data sender - proxy数据发送器

  • discoverer - 设备发现进程

  • heartbeat sender - proxy心跳发送器

  • history poller - 处理需要数据库连接的计算型、聚合型和内部检查的进程

  • history syncer - 历史数据库写入器

  • housekeeper - 旧历史数据清理进程

  • http poller - Web监控轮询器

  • icmp pinger - icmpping检查轮询器

  • ipmi manager - IPMI轮询管理器

  • ipmi poller - IPMI检查轮询器

  • java poller - Java检查轮询器

  • odbc poller - ODBC检查轮询器

  • poller - 被动检查的标准轮询器

  • preprocessing manager - 预处理任务管理器

  • preprocessing worker - 数据预处理进程

  • self-monitoring - 服务器内部统计信息收集进程

  • snmp trapper - SNMP陷阱捕获器

  • task manager - 用于远程执行其他组件请求任务的进程(例如关闭问题、acknowledge问题、立即检查监控项值、远程命令功能)

  • trapper - 主动检查、陷阱和proxy通信的捕获器

  • unreachable poller - 不可达设备轮询器

  • vmware collector - 负责数据收集的VMware采集器

    gathering from VMware services

可通过proxy日志file观察这些进程类型。

可使用zabbix[process,<type>,<mode>,<state>]内部item监控多种Zabbix proxy进程类型。

支持平台

Zabbix proxy 运行在与 Zabbix server 相同的 支持平台 列表上。

区域设置

请注意proxy需要UTF-8区域设置才能正确解析某些文本监控项。大多数现代类Unix系统默认使用UTF-8区域设置,但在某些系统中可能需要专门进行配置。