[comment]: # translation:outdated

[comment]: # ({7f44ce82-7f44ce82})
# 4 Zabbix agent 2 (UNIX)

[comment]: # ({/7f44ce82-7f44ce82})

[comment]: # ({dc26d50e-d5608d34})
#### 概述

Zabbix agent 2 是新一代的 Zabbix agent ，可用于替代 Zabbix agent 。

本节列出了Zabbix agent 2
配置文件（zabbix\_agent2.conf）中支持的参数。注意:

-   默认值反映的是进程默认值，而不是出厂配置文件中的值;
-   Zabbix仅支持无 [BOM](https://en.wikipedia.org/wiki/Byte_order_mark)
    的UTF-8编码配置文件;
-   支持注释需以“＃”作为行首。

[comment]: # ({/dc26d50e-d5608d34})

[comment]: # ({c6960bd2-b670a8bf})
#### 参数

|参数|必|项                                                           范围|默认值|描述|<|
|------|---|--------------------------------------------------------------------|---------|------|-|
|Alias|<|否|<|<|置监控项键值的别名。它可以用一个更小更简单代替长而复杂的监控项键值。<br>可能存在多个 *Alias*参数。多个参数允许使用相同的 *Alias*。<br>不同 *Alias* 可能引用相同的监控项键值。<br>别名可以在*HostMetadataItem*使用， 但不能在 *HostnameItem* 参数中使用。<br><br>示例:<br><br>1.检索用户“ zabbix”的ID。<br>Alias=zabbix.userid:vfs.file.regexp\[/etc/passwd,"\^zabbix:.:(\[0-9\]+)",,,,\\1\]<br>现在速记键值**zabbix.userid**可用于检索数据。<br><br>2. 通过默认和自定义参数获取CPU利用率。<br>Alias=cpu.util:system.cpu.util<br>Alias=cpu.util\[\*\]:system.cpu.util\[\*\]<br>这允许使用**cpu.util**键值获取具有默认参数的CPU利用率以及使用**cpu.util \[all，idle，avg15\]**以获取有关CPU利用率的特定数据。<br><br>3.运行多个[自动发现](zh/manual/discovery/low_level_discovery)规则处理相同的发现监控项。<br>Alias=vfs.fs.discovery\[\*\]:vfs.fs.discovery<br>现在可以使用**vfs.fs.discovery**为每个规则设置多个具有不同参数的发现规则，例如**vfs.fs.discovery \[foo\]**，**vfs.fs.discovery \[bar\]**等。|
|AllowKey|<|否|<|<|许执行与模式匹配的那些监控项键值。键值匹配模式是支持通配字符“\*”用于匹配任意数量的任何字符。<br>可以结合DenyKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>另请参阅: [限制agent检查](/zh/manual/config/items/restrict_checks)。|
|BufferSend|<|否|-3600|<|间间隔（以秒为单位），用于确定从缓冲区向Zabbix server发送值的频率。<br>请注意，如果缓冲区已满，则数据将尽快发送。|
|BufferSize|<|否|-65535|00|存缓冲区中的最大容量。 如果缓冲区已满，则代理会将所有收集的数据发送到Zabbix server或proxy。<br>仅当禁用持久缓冲区时才应使用此参数 (*EnablePersistentBuffer=0*)。|
|ControlSocket|<|否|<|tmp/agent.sock|制套接字，用于发送带有“ -R”选项的运行时命令。|
|DebugLevel|<|否|-5|<|定调试级别:<br>0 - 有关启动和停止Zabbix进程的基本信息<br>1 - 关键信息<br>2 - 错误信息<br>3 - 警告<br>4 - 用于调试（产生大量信息）<br>5 - 扩展调试（产生更多信息）|
|DenyKey|<|否|<|<|绝执行与模式匹配的那些监控项键值。键值匹配模式是支持通配字符“\*”用于匹配任意数量的任何字符。<br>可以结合AllowKey定义多个键值的匹配规则。根据其出现顺序对参数进行逐一处理。<br>从Zabbix 5.0.0开始支持此参数。<br>另请参阅: [限制agent检查](/zh/manual/config/items/restrict_checks)。|
|EnablePersistentBuffer|<|否|-1|<|主动监控项启用本地永久性存储。<br>0 - 禁用<br>1 - 启用<br>如果禁用持久性存储，则将使用内存缓冲区。|
|HostInterface|<|否|-255 个字符|定义主|接口的可选参数。<br>主机接口用于主机自动注册过程。<br>如果值超过255个字符的限制，agent将发出错误并且不会启动。<br>如果未定义，将从HostInterfaceItem获取值。<br>自Zabbix 4.4.0起支持。|
|HostInterfaceItem|<|否|<|<|选参数，用于定义用于获取主机接口的监控项。<br>主机接口用于主机自动注册过程。<br>在自动注册请求期间，如果指定项返回的值超过255个字符的限制，则agent将记录一条警告消息。<br>仅当未定义HostInterface时才使用此选项。<br>自Zabbix 4.4.0起支持。|
|HostMetadata|<|否|-255个字符|定义主|元数据的可选参数。主机元数据用于主机自动注册过程。<br>如果指定的值超出限制或非UTF-8字符串，则agent将发出错误，并且不会启动。<br>如果未定义，将从HostMetadataItem获取该值。|
|HostMetadataItem|<|否|<|<|选参数，用于定义用于获取主机元数据的项目。每次自动注册尝试时都会检索主机元数据项值，以进行主机自动注册过程。<br>在自动注册请求期间，如果指定项返回的值超过255个字符的限制，则agent将记录一条警告消息。<br>仅当未定义HostMetadata时才使用此选项。<br>支持UserParameters和aliases。不管 AllowKey/DenyKey 值如何，都支持 *system.run\[\]*。<br>该监控项返回的值必须是UTF-8字符串，否则将被忽略。|
|Hostname|<|否|<|HostnameItem设置            唯一的|区分大小写的主机名。<br>主动检查所必需，并且必须与服务器上配置的主机名匹配。<br>允许的字符： 字母数字, '.', ' ', '\_' and '-'。<br>最大长度: 128。|
|HostnameItem|<|否|<|ystem.hostname|未定义用于生成主机名的监控项。如果定义了主机名，则忽略。<br>不支持 UserParameters 或 aliases,不管 AllowKey/DenyKey 值如何，都支持 *system.run\[\]*。<br>|
|Include|<|否|<|<|可以在配置文件的目录中包括单个文件或所有文件。<br>在安装过程中，除非在编译期间进行了修改，否则Zabbix将在/usr/local /etc中创建include目录。<br>要仅在指定目录中包含相关文件，模式匹配支持使用星号通配符。例如: `/absolute/path/to/config/files/*.conf`。<br>请参阅 [特别说明](special_notes_include) 有关限制。|
|ListenIP|<|否|<|.0.0.0|gent应监听使用逗号分隔的IP地址列表。<br>第一个IP地址被发送到Zabbix server，如果已连接，以检索主动检查的列表。|
|ListenPort|<|否|024-32767|0050|gent将监听此端口上来自服务器的连接。|
|LogFile|<|是, 如果LogType设置为*file*, 则否|/tmp/za|bix\_agent2.log       如果LogTy|e为'file'，则记录文件名。|
|LogFileSize|<|否|-1024|<|志文件的最大大小，以MB为单位。<br>0 - 禁用自动日志轮换。<br>*注意*: 如果达到了日志文件大小限制并且文件轮换失败，则无论出于何种原因，现有的日志文件都会被截断并重新建。|
|LogType|<|否|<|ile|定将日志消息写入的位置:<br>*system* - syslog,<br>*file* - LogFile参数指定的文件,<br>*console* - 标准输出。|
|PersistentBufferFile|<|否|<|<|abbix Agent2应该在其中保存SQLite数据库的文件。<br>必须是完整的文件名。<br>仅当启用了持久缓冲区(*EnablePersistentBuffer=1*)时，才使用此参数。|
|PersistentBufferPeriod|<|否|分钟-365天    1小时|没有与服务|或proxy的连接时，应该存储数据的时间段。较旧的数据将丢失。日志数据将被保留。<br>仅当启用了持久缓冲区(*EnablePersistentBuffer=1*)时，才使用此参数。|
|PidFile|<|否|<|tmp/zabbix\_agent2.pid|程ID文件位置。|
|Plugins|<|否|<|<|个插件可以具有一个或多个特定于插件的配置参数，格式为:<br>Plugins.<PluginName>.<Parameter1>=<value1><br>Plugins.<PluginName>.<Parameter2>=<value2>|
|<|Plugins.<PluginName>.KeepAlive|否|0-900|00|闭未使用的插件连接之前的最长时间（以秒为单位）。<br>支持以下插件: *Ceph, Memcached, MySQL, Oracle, Redis, PostgreSQL*.<br>**<PluginName>** - 插件的名称。<br>示例: `Plugins.Memcached.KeepAlive=200`|
|<|Plugins.<PluginName>.Timeout|否|-30|局超时                      请求执行|时（关闭请求之前等待一个请求完成的时间）。<br>支持以下插件: *Ceph, Memcached, MySQL, Redis, Docker, PostgreSQL*.<br>**<PluginName>** - 插件的名称。|
|<|Plugins.Ceph.InsecureSkipVerify|否|alse / true|alse|定http客户端是否应验证服务器的证书链和主机名。<br>如果为 *true*, 则TLS接受服务器提供的任何证书以及该证书中的任何主机名。在这种模式下，TLS容易受到中间人攻击（应仅用于测试）。|
|<|Plugins.Ceph.Uri|否|<|ttps://localhost:8003|eph连接字符串。<br>不应包含嵌入式凭据（它们将被忽略）。<br>必须与URI格式匹配。<br>必须包含一个方案（仅https受支持）。<br>可以省略端口（默认为8003）。<br>示例: `https://127.0.0.1:8003`<br>`https://localhost`|
|<|Plugins.Docker.Endpoint|否|<|nix:///var/run/docker.sock|ocker守护程序unix套接字位置。<br>必须包含一个方案 (仅`unix://`支持)。|
|<|Plugins.Log.MaxLinesPerSecond|否|-1000|0|处理“日志”和“事件日志”主动检查时，agent每秒发送给Zabbix server或proxy的最大新行数。<br>所提供的值将被 “log”或“eventlog”监控项中提供的参数“maxlines”所覆盖。<br>*注意*：Zabbix处理的新行比在 //MaxLinesPerSecond //中设置的新行多10倍，以便在日志项中查找所需的字符串。<br>从4.4.2开始支持此参数，并替换MaxLinesPerSecond。|
|<|Plugins.Memcached.Uri|否|<|cp://localhost:11211|emcached连接字符串。<br>不应包含嵌入式凭据（它们将被忽略）。<br>必须与URI格式匹配。<br>必须包含一个方案 (支持: `tcp`, `unix`)。<br>可以省略端口 （默认= 11211）。<br>示例: `tcp://localhost:11211`<br>`tcp://localhost`<br>`unix:/var/run/memcached.sock`|
|<|Plugins.Mysql.Uri|否|<|cp://localhost:3306|ySQL连接字符串。<br>不应包含嵌入式凭据（它们将被忽略）。<br>必须与URI格式匹配。<br>必须包含一个方案 (支持: `tcp`, `unix`)。<br>可以省略端口（默认为3306）。<br>示例: `tcp://localhost:3306`<br>`tcp://localhost`<br>`unix:/var/run/mysql.sock`|
|<|Plugins.Oracle.CallTimeout|否|-30|局超时                      完成请求|最大等待时间（以秒为单位）。|
|<|Plugins.Oracle.ConnectTimeout|否|-30|局超时                      建立连接|最大等待时间（以秒为单位）。|
|<|Plugins.Oracle.CustomQueriesPath|否|<|<|含带有自定义查询的.sql文件的目录的完整路径名。<br>默认禁用。<br>示例: `/etc/zabbix/oracle/sql`|
|<|Plugins.Oracle.Service|否|<|E|于连接的服务名称（不支持SID）。|
|<|Plugins.Oracle.Uri|否|<|cp://localhost:1521|racle连接字符串。<br>不应包含嵌入式凭据（它们将被忽略）。<br>必须与URI格式匹配。<br>必须包含一个方案(支持: `tcp`)。<br>可以省略端口（默认= 1521）。<br>示例: `tcp://localhost:1521`<br>`tcp://localhost`|
|<|Plugins.Postgres.Database|否|<|ostgres|ostgreSQL使用的数据库名称。|
|<|Plugins.Postgres.Host|否|<|ocalhost|ostgreSQL使用的主机的IP地址或DNS名称。<br>示例: `localhost`, `192.168.1.1`<br>|
|<|Plugins.Postgres.Port|否|<|432|于PostgreSQL的端口。|
|<|Plugins.Redis.Uri|否|<|cp://localhost:6379|edis连接字符串。<br>可以省略端口（默认为6379）。<br>不应包含嵌入式凭据（它们将被忽略）。<br>必须与URI格式匹配。<br>必须包含一个方案 (支持: `tcp`, `unix`)。示例: `tcp://localhost:6379`<br>`tcp://localhost`<br>`unix:/var/run/redis.sock`|
|<|Plugins.SystemRun.EnableRemoteCommands|否|<|<|否允许来自Zabbix server的远程命令。<br>0 - 不允许<br>1 - 允许<br>从5.0.2开始**不支持**此参数, 请改用AllowKey/DenyKey参数。|
|<|Plugins.SystemRun.LogRemoteCommands|否|<|<|用将执行的Shell命令记录为警告。<br>0 - 禁用<br>1 - 启用<br>仅当远程执行命令时，才会记录命令。 如果通过HostMetadataItem，HostInterfaceItem或HostnameItem参数在本地启动system.run \[\]，则不会创建日志条目。<br>从4.4.2开始支持此参数，并替换LogRemoteCommands。|
|Plugins' named sessions|<|否|<|<|果使用Zabbix agent监视相同种类的多个实例，则可以为每个实例创建具有自己的一组授权参数的命名会话。命名的会话参数格式:<br>Plugins.<PluginName>.<SessionName1>.<Parameter1>=<value1><br>Plugins.<PluginName>.<SessionName2>.<Parameter1>=<value2>|
|<|Plugins.<PluginName>.Sessions.<SessionName>.Password|否|<|<|名会话密码。<br>支持: *Memcached, MySQL, Oracle, PostgreSQL, Redis*.<br>**<PluginName>** - 插件的名称。<br>**<SessionName>** - 用于监控项key的会话名称。|
|<|Plugins.<PluginName>.Sessions.<SessionName>.Uri|否|<|<|名会话连接字符串。<br>支持: *Ceph, Memcached, MySQL, Oracle, Redis, PostgreSQL*.<br>**<PluginName>** - 插件的名称。<br>**<SessionName>** - 用于监控项key的会话名称。<br>有关特定于插件的描述和支持的模式，请参见Plugins.<PluginName>.Uri。|
|<|Plugins.<PluginName>.Sessions.<SessionName>.User|否|<|<|名的会话用户名。<br>支持: *Ceph, Memcached, MySQL, Oracle, PostgreSQL*.<br>**<PluginName>** - 插件的名称。<br>**<SessionName>** - 用于监控项key的会话名称。|
|<|Plugins.Ceph.Sessions.<sessionName>.ApiKey|否|<|<|名会话API密钥。<br>支持: *Ceph*.<br>**<PluginName>** - 插件的名称。<br>**<SessionName>** - 用于监控项key的会话名称。|
|<|Plugins.Oracle.Sessions.<SessionName>.Service|否|<|<|于连接的命名会话服务名称（不支持SID）。<br>支持: *Oracle*.<br>**<PluginName>** - 插件的名称。<br>**<SessionName>** -用于监控项key的会话名称。|
|RefreshActiveChecks|<|否|0-3600|20|新主动检查列表的频率（以秒为单位）。<br>请注意，刷新主动检查失败后，将在60秒后尝试进行下一次刷新。|
|Server|<|是|<|<|号分隔的IP地址列表，可以选择使用CIDR表示法，或者Zabbix servers和 Zabbix proxies的DNS名称。<br>仅接受从此处列出的主机传入的连接。<br>如果启用了IPv6支持，则将 '127.0.0.1', '::ffff:127.0.0.1' 同等对待，并且'::/0' 将允许任何IPv4或IPv6地址。<br>'0.0.0.0/0' 可用于允许任何IPv4地址。<br>示例: Server=127.0.0.1,192.168.1.0/24，::1，2001:db8::/32，zabbix.example.com<br>允许使用空格。|
|ServerActive|<|否|<|<|动检查Zabbix servers和 Zabbix proxies以逗号分隔IP：端口对（或DNS名称：端口对）列表。<br>可以提供多个地址来并行使用多个独立的Zabbix servers，允许有空格。<br>如果未指定端口，则使用默认端口。<br>如果指定了该主机的端口，则IPv6地址必须用方括号括起来。<br>如果未指定端口，则IPv6地址的方括号是可选的。<br>如果未指定此参数，则禁用主动检查。<br>示例: ServerActive=127.0.0.1:20051，zabbix.example.com，\[::1\]:30051，::1，\[12fc::1\]|
|SourceIP|<|否|<|<|出连接使用的源IP。|
|StatusPort|<|否|024-32767|<|果设置，proxy将在此端口上监听HTTP状态请求(http://localhost:<port>/status)。|
|Timeout|<|否|-30|<|处理上花费的时间不超过该(秒)。|
|TLSAccept|<|是, 如果定义了TLS证书或PSK参数(甚至用于未加密的连接), 否则为否|<|制定接受哪些传入连接。用于被动检查。可以指定多个|，以逗号分隔:<br>//unencrypted // - 接受不加密的连接（默认）<br>*psk* - 接受带TLS和预共享密钥（PSK）<br>*cert* - 接受带TLS和证书的连接|
|TLSCAFile|<|否|<|<|含用于对等证书验证的顶级CA证书的文件的完整路径名，用于Zabbix组件之间的加密通信。|
|TLSCertFile|<|否|<|<|含agent证书或证书链的文件的完整路径名，用于与Zabbix组件进行加密通信。|
|TLSConnect|<|是, 如果定义了TLS证书或PSK参数(甚至用于未加密的连接), 否则为否|<|agent应如何连接到Zabbix server|proxy。用于主动检查。只能指定一个值：<br>*unencrypted* - 不加密连接（默认）<br>*psk* - 使用TLS和预共享密钥（PSK）<br>*cert* - 使用TLS和证书进行连接|
|TLSCRLFile|<|否|<|<|含已撤销证书的文件的完整路径名。此参数用于与Zabbix组件的加密通信。|
|TLSKeyFile|<|否|<|<|含用于与Zabbix组件进行加密通信的agent专用密钥的文件的完整路径名。|
|TLSPSKFile|<|否|<|<|含用于与Zabbix组件进行加密通信的agent预共享密钥的文件的完整路径名。|
|TLSPSKIdentity|<|否|<|<|共享密钥标识字符串，用于与Zabbix server进行加密通信。|
|TLSServerCertIssuer|<|否|<|<|许的服务器（proxy）证书颁发者。|
|TLSServerCertSubject|<|否|<|<|许的服务器（proxy）证书主题。|
|UnsafeUserParameters|<|否|,1|<|许将所有字符都通过参数传递给用户定义的参数。<br>不允许使用以下字符：<br>\\ ' " \` \* ? \[ \] { } \~ $ ! & ; ( ) < > \| \# @<br>另外，不允许使用换行符。|
|UserParameter|<|否|<|<|户自定义的监控参数。可以有几个用户定义的参数。<br>格式: UserParameter=<key>,<shell command><br>请注意，shell命令不得返回空字符串或仅返回EOL。<br>示例: UserParameter=system.test,who\|wc -l|

[comment]: # ({/c6960bd2-b670a8bf})
