2022 Zabbix中国峰会
2022 Zabbix中国峰会

3 Proxy

Overview

Zabbix Proxy是一个可以从一个或多个受监控设备收集监控数据,并将信息发送到Zabbix sever的进程,基本上是代表sever工作的。 所有收集的数据都在本地进行缓存,然后传送到proxy所属的Zabbix sever。

部署Proxy是可选的,,但是可能非常有益于分散单个Zabbix sever的负载。 如果只有proxy收集数据,sever上的进程就会减少CPU消耗和磁盘I / O负载。

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

Zabbix proxy需要使用独立的数据库。

Zabbix proxy数据库可以使用SQLite, MySQL, PostgreSQL. 使用Oracle或IBM DB2数据库时会有一定风险和限制(例如在低等级发现规则中的 返回值 ) return values of low-level discovery rules.

请参阅: 在分布环境中使用Proxy

Proxy 进程

Zabbix proxy以守护进程的方式运行。Proxy可以通过执行代码运行。

shell> cd sbin
       shell> ./zabbix_proxy

您可以使用Zabbix agent下的命令行参数:

-c --config <file>              配置文件的绝对路径
       -R --runtime-control <option>    执行管理功能
       -h --help                      帮助
       -V --version                   显示版本号

运行时控制当前不支持OpenBSD和NetBSD。

命令行参数示例:

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       shell> zabbix_proxy --help
       shell> zabbix_proxy -V
运行时控制

运行时控制选项:

选项 描 目标
config_cache_reload 重新加载配置缓存。若当前已被加载,则忽略。
激活Zabbix proxy将会连接到Zabbix server并查询配置数据。
housekeeper_execute 开始管理程序。 如果管理程序目前正在进行中,则被忽略.
log_level_increase[=<target>] 提升日志级别。 如果没有特别指出,将会赋给所有进程。 pid - 进程号 (1 到 65535
process type -All 特指类型的进程(例如 poller)
process type,N - 进程类型和号码 (例如, poller,3)
log_level_decrease[=<target>] 降低日志级别,如果没有特别指出,将会赋给所有进程。 :::

用于更改单独Zabbx进程的日志级别的PID允许范围为1到65535。对于具有较大PID的系统,可以使用<process type,N>目标选项来更改单独进程的日志级别。

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

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

使用运行时控制来触发管家的执行的例子

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

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

Increase log level of all processes:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       Increase log level of second poller process:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       Increase log level of process with PID 1234:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       Decrease log level of all http poller processes:
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
进程用户

Zabbix proxy是设计在非root账户下的。它会以其他任何非root用户启动的进程一样的方式运行。 所以,您可以使用任意非root用户运行agent,且不会产生任何问题。

如果您在’root’账户下运行,它将切换到硬编码的“zabbix”用户,该用户必须存在于您的系统上。如果您只想以’root’方式运行proxy,您必须在proxy配额文件里修改‘AllowRoot‘参数。

配置文件

更多Zabbix proxy配置选项细节,可参见 配置文件 .

支持的平台

Zabbix proxy和Zabbix sever一样,在相同的server#支持平台 下运行.