Zabbix Documentation 4.0

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


zh:manual:concepts:proxy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
zh:manual:concepts:proxy [2018/08/15 08:45]
everychengxuan [Runtime control]
zh:manual:concepts:proxy [2018/08/21 07:51] (current)
hongshi
Line 3: Line 3:
  === 概述 ===  === 概述 ===
  
-=== Overview === 
  
-Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 Zabbix server 的进程,主要是代表 Zabbix server 工作。 所有收集的数据都在本地缓冲,然后传输到 proxy 所属的 Zabbix server。 
  
-Zabbix proxy is a process that may collect monitoring data from one or more monitored devices and send the information to the Zabbix server, essentially working on behalf of the server. All collected data is buffered locally and then transferred to the Zabbix server ​the proxy belongs to.+Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 ​Zabbix server ​的进程,主要是代表 ​Zabbix server ​工作。 所有收集的数据都在本地缓存,然后传输到 ​proxy 所属的 Zabbix server。
  
-部署代理是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上的处理会减少 CPU 和磁盘 I/O 的开 +部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开
- +
-Deploying a proxy is optional, but may be very beneficial to distribute the load of a single Zabbix server. If only proxies collect data, processing on the server becomes less CPU and disk I/O hungry.+
  
 Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。 Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。
- 
-A Zabbix proxy is the ideal solution for centralized monitoring of remote locations, branches and networks with no local administrators. 
  
 Zabbix proxy 需要使用独立的数据库。 Zabbix proxy 需要使用独立的数据库。
  
-Zabbix proxy requires a separate database. +<note important>​值得注意的是,Zabbix proxy 支持 SQLite、MySQL和PostgreSQL 作为数据库。使用 Oracle 或 DB2 需要您承担一定的风险,例如,在自动发现规则中的遇到问题 ​[[manual:​discovery:​low_level_discovery#​overview|返回值]] 。</​note>​
- +
-<note important>​值得注意的是,Zabbix proxy 支持 SQLite、MySQL和PostgreSQL 作为数据库。使用 Oracle 或 DB2 需要您承担一定的风险,并且可能,例如,在自动发现规则中的 [[manual:​discovery:​low_level_discovery#​overview|返回值]] 。</​note>​ +
- +
-<note important>​Note that databases supported with Zabbix proxy are SQLite, MySQL and PostgreSQL. Using Oracle or IBM DB2 is at your own risk and may contain some limitations as, for example, in [[manual:​discovery:​low_level_discovery#​overview|return values]] of low-level discovery rules.</​note>​+
  
 详见:[[manual:​distributed_monitoring:​proxies|在分布式环境中使用 Zabbix proxy]]。 详见:[[manual:​distributed_monitoring:​proxies|在分布式环境中使用 Zabbix proxy]]。
  
-See also: [[manual:​distributed_monitoring:​proxies|Using proxies in a distributed environment]] 
  
 === Proxy 进程 === === Proxy 进程 ===
  
-=== Proxy process === 
  
-== 如果以二进制包安装 == 
  
-== If installed as package ​==+== 通过二进制包安装的组件 ​==
  
 Zabbix proxy 进程以守护进程(Deamon)运行。Zabbix proxy 的启动可以通过执行以下命令来完成: Zabbix proxy 进程以守护进程(Deamon)运行。Zabbix proxy 的启动可以通过执行以下命令来完成:
- 
-Zabbix proxy runs as a daemon process. The proxy can be started by executing: 
  
   shell> service zabbix-proxy start   shell> service zabbix-proxy start
  
 上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行: 上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:
- 
-This will work on most of GNU/Linux systems. On other systems you may need to run: 
  
   shell> /​etc/​init.d/​zabbix-proxy start   shell> /​etc/​init.d/​zabbix-proxy start
  
 类似的,Zabbix proxy 的停止、重启、查看状态,则需要执行以下命令: 类似的,Zabbix proxy 的停止、重启、查看状态,则需要执行以下命令:
- 
-Similarly, for stopping/​restarting/​viewing status of Zabbix proxy, use the following commands: 
  
   shell> service zabbix-proxy stop   shell> service zabbix-proxy stop
Line 59: Line 40:
 == 手动启动 == == 手动启动 ==
  
-== Start up manually == 
  
 如果以上操作均无效,您可能需要手动启动,找到 Zabbix proxy 二进制文件的路径并且执行: 如果以上操作均无效,您可能需要手动启动,找到 Zabbix proxy 二进制文件的路径并且执行:
- 
-If the above does not work you have to start it manually. Find the path to the zabbix_proxy binary and execute: 
  
   shell> zabbix_proxy   shell> zabbix_proxy
  
 您可以将以下命令行参数用于 Zabbix proxy: 您可以将以下命令行参数用于 Zabbix proxy:
- 
-You can use the following command line parameters with Zabbix proxy: 
  
 <​code>​ <​code>​
Line 76: Line 52:
 -h --help ​                      ​帮助 -h --help ​                      ​帮助
 -V --version ​                   显示版本号 -V --version ​                   显示版本号
-</​code>​ 
- 
-<​code>​ 
--c --config <​file> ​             path to the configuration file 
--R --runtime-control <​option> ​  ​perform administrative functions 
--h --help ​                      give this help 
--V --version ​                   display version number 
 </​code>​ </​code>​
  
 <​note>​运行时机制的控制不支持 OpenBSD 和 NetBSD 系统。</​note>​ <​note>​运行时机制的控制不支持 OpenBSD 和 NetBSD 系统。</​note>​
- 
-<​note>​Runtime control is not supported on OpenBSD and NetBSD.</​note>​ 
  
 使用命令行参数运行 Zabbix proxy 的示例:​: 使用命令行参数运行 Zabbix proxy 的示例:​:
- 
-Examples of running Zabbix proxy with command line parameters: 
  
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf
Line 98: Line 63:
  
 == 运行时控制 == == 运行时控制 ==
- 
-== Runtime control == 
  
 运行时控制包含的选项: 运行时控制包含的选项:
- 
-Runtime control options: 
  
 ^选项^描述^目标^ ^选项^描述^目标^
Line 110: Line 71:
 |log_level_increase[=<​**target**>​]|增加日志级别,如果未指定目标,将影响所有进程。|**pid** - 进程标识符 (1 to 65535) \\ **process type** - 指定进程的所有类型 (例如,poller) ​ \\ **process type,N** - 进程类型和编号 (例如,poller,​3)| |log_level_increase[=<​**target**>​]|增加日志级别,如果未指定目标,将影响所有进程。|**pid** - 进程标识符 (1 to 65535) \\ **process type** - 指定进程的所有类型 (例如,poller) ​ \\ **process type,N** - 进程类型和编号 (例如,poller,​3)|
 |log_level_decrease[=<​**target**>​]|降低日志级别,如果未指定目标,则会影响所有进程。|:::​| |log_level_decrease[=<​**target**>​]|降低日志级别,如果未指定目标,则会影响所有进程。|:::​|
- 
-^Option^Description^Target^ 
-|config_cache_reload|Reload configuration cache. Ignored if cache is being currently loaded.\\ Active Zabbix proxy will connect to the Zabbix server and request configuration data.| | 
-|housekeeper_execute|Start the housekeeping procedure. Ignored if the housekeeping procedure is currently in progress.| | 
-|log_level_increase[=<​**target**>​]|Increase log level, affects all processes if target is not specified.|**pid** - Process identifier (1 to 65535) \\ **process type** - All processes of specified type (e.g., poller) \\ **process type,N** - Process type and number (e.g., poller,3)| 
-|log_level_decrease[=<​**target**>​]|Decrease log level, affects all processes if target is not specified.|:::​| 
  
 单一 Zabbix 进程的日志级别改变后,进程的 PIDs 的值也会改变,允许的范围为1~65535。在具有大 PIDs <process type,N> 目标选项可更改单个进程的日志级别。 单一 Zabbix 进程的日志级别改变后,进程的 PIDs 的值也会改变,允许的范围为1~65535。在具有大 PIDs <process type,N> 目标选项可更改单个进程的日志级别。
- 
-Allowed range of PIDs for changing the log level of a single Zabbx process is from 1 to 65535. On systems with large PIDs <process type,N> target option can be used for changing the log level of a single process. ​ 
  
 例如,使用 config_cache_reload 选项重新加载 proxy 的配置缓存: 例如,使用 config_cache_reload 选项重新加载 proxy 的配置缓存:
- 
-Example of using runtime control to reload the proxy configuration cache: 
  
   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 config_cache_reload
  
 例如,使用 housekeeper_execute 选项来触发管家服务执行: 例如,使用 housekeeper_execute 选项来触发管家服务执行:
- 
-Example of using runtime control to trigger execution of housekeeper 
  
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R housekeeper_execute   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R housekeeper_execute
   ​   ​
 例如,使用 log_level_increase 选项来改变日志级别: 例如,使用 log_level_increase 选项来改变日志级别:
- 
-Examples of using runtime control to change log level: 
  
   增加所有进程的日志级别:   增加所有进程的日志级别:
   ​   ​
-  Increase log level of all processes: 
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase
   ​   ​
   增加第二个 Poller 进程的日志级别:   增加第二个 Poller 进程的日志级别:
   ​   ​
-  Increase log level of second poller process: 
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase=poller,​2   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase=poller,​2
   ​   ​
   增加 PID 为 1234 进程的日志级别:   增加 PID 为 1234 进程的日志级别:
   ​   ​
-  Increase log level of process with PID 1234: 
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase=1234   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_increase=1234
   ​   ​
   降低 http poller 进程的日志级别:   降低 http poller 进程的日志级别:
   ​   ​
-  Decrease log level of all http poller processes: 
   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_decrease="​http poller"​   shell> zabbix_proxy -c /​usr/​local/​etc/​zabbix_proxy.conf -R log_level_decrease="​http poller"​
-== Process user ==+== 进程用户 == 
 + 
 + 
 + 
 +Zabbix proxy 允许使用非 root 用户运行。它将以任何非 root 用户的身份运行。因此,使用非 root 用户运行 proxy 是没有任何问题的. 
 + 
 +如果你试图以“root”身份运行它,它将会切换到一个已经“写死”的“zabbix”用户,该用户必须存在于您的系统上。如果您只想以“root”用户运行 proxy,您必须在 proxy 配置文件里修改‘AllowRoot‘参数。 
 + 
 + 
 +== 配置文件 == 
 + 
 + 
 + 
 +有关配置 Zabbix proxy 的详细信息,请查阅 [[manual:​appendix:​config:​zabbix_proxy|配置文件]] 章节。 
 + 
 + 
 +=== 支持的平台 ===
  
-Zabbix proxy is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run proxy as any non-root user without any issues. 
  
-If you will try to run it as '​root',​ it will switch to a hardcoded '​zabbix'​ user, which must be present on your system. You can only run proxy as '​root'​ if you modify the '​AllowRoot'​ parameter in the proxy configuration file accordingly.+Zabbix ​proxy 在与 Zabbix server 相同的 [[manual:​concepts:​server#​受支持的平台]] 列表上运行。
  
-== Configuration file == 
  
-See the [[manual:​appendix:​config:​zabbix_proxy|configuration file]] options for details on configuring zabbix_proxy.+=== 语言环境 ===
  
-=== Supported platforms === 
  
-Zabbix proxy runs on the same list of [[manual:​concepts:​server#​supported platforms]] as Zabbix server.+值得注意的是,Zabbix proxy 需要 UTF-8 语言环境,以便可以正确解释某些文本项。 大多数现代类 Unix 系统都默认使用 UTF-8 语言环境,但是,有些系统可能需要专门设置。
  
-=== Locale === 
  
-Note that the proxy requires a UTF-8 locale so that some textual items can be interpreted correctly. Most modern Unix-like systems have a UTF-8 locale as default, however, there are some systems where that may need to be set specifically.