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
Zabbix proxy 以守护进程方式运行。可通过执行以下命令启动proxy:
该命令在大多数GNU/Linux系统上有效。在其他系统上可能需要run:
同样地,要停止/重启/查看Zabbix proxy状态,可使用以下命令:
systemctl stop zabbix-proxy systemctl restart zabbix-proxy systemctl status zabbix-proxy
如果上述方法无效,您需要手动启动它。找到 zabbix_proxy二进制文件的路径并execute:
您可以使用以下命令行参数与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配置缓存的示例:
使用运行时控制收集诊断信息的示例:
Gather all available diagnostic information in the proxy log file:
zabbix_proxy -R diaginfo
在proxy日志file中收集history cache统计信息:
zabbix_proxy -R diaginfo=historycache
使用运行时控制重新加载SNMP缓存的示例:
使用运行时控制触发housekeeper执行的示例
使用运行时控制更改日志级别的示例:
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选项。
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区域设置,但在某些系统中可能需要专门进行配置。