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