本节列出了 Zabbix agent 的配置文件(zabbix_agentd.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[foo],vfs.fs.discovery[bar]等。 |
||
AllowKey | 否 | 允许执行匹配特定模式的监控项键。键模式是一个支持 "*" 字符的通配符表达式,用于匹配任意数量的任意字符。 可以与 DenyKey 结合定义多个键匹配规则。参数将根据它们出现的顺序逐个处理。 此参数自 Zabbix 5.0.0 起支持。 另请参阅:限制 agent 检查。 |
||
AllowRoot | 否 | 0 | 允许agent以'root'身份运行。如果禁用,并且agent由'root'启动,则agent将尝试切换到用户'zabbix'。如果以普通用户身份启动,则此选项无效。 0 - 不允许 1 - 允许 |
|
BufferSend | 否 | 1-3600 | 5 | 不要在缓冲区中保留数据超过 N 秒。 |
BufferSize | 否 | 2-65535 | 100 | 内存缓冲区中值的最大数量。如果缓冲区满了,agent 会将所有收集的数据发送到 Zabbix server 或 proxy。 |
DebugLevel | 否 | 0-5 | 3 | 指定调试级别: 0 - 关于启动和停止 Zabbix 进程的基本信息 1 - 严重信息 2 - 错误信息 3 - 警告 4 - 调试(生成大量信息) 5 - 扩展调试(生成更多信息) |
DenyKey | 否 | 拒绝执行与模式匹配的监控项键。键模式是一个支持 "*" 字符的通配符表达式,用于匹配任意数量的任意字符。 可以与 AllowKey 结合定义多个键匹配规则。参数将根据它们出现的顺序逐个处理。 此参数自 Zabbix 5.0.0 起支持。 另请参阅:限制 agent 检查。 |
||
EnableRemoteCommands | 否 | 0 | 是否允许来自Zabbix server的远程命令。此参数已弃用,请改用AllowKey=system.run[*]或DenyKey=system.run[*] 它是基于值的AllowKey/DenyKey参数的内部别名:0 - DenyKey=system.run[*] 1 - AllowKey=system.run[*] |
|
HostInterface | 否 | 0-255个字符 | 定义主机接口的可选参数。 主机接口在主机自动注册过程中使用。 如果值超过255个字符的限制,代理将发出错误并且不会启动。 如果没有定义,将从HostInterfaceItem获取值。 自Zabbix 4.4.0起支持。 |
|
HostInterfaceItem | 否 | 定义用于获取主机接口的监控项的可选参数。 主机接口在主机自动注册过程中使用。 在自动注册请求期间,如果指定监控项返回的值超过255个字符限制,agent 将记录一条警告消息。 无论AllowKey/DenyKey的值如何,都支持system.run[]监控项。 仅当未定义HostInterface时使用此选项。 自Zabbix 4.4.0起支持。 |
||
HostMetadata | 否 | 0-255 字符 | 主动 agent 的自动注册过程中使用的主机元数据的可选参数。 如果未定义,则从 HostMetadataItem 获取值。 如果指定的值超出限制或不是 UTF-8 字符串,agent 将发出错误并不启动。 |
|
HostMetadataItem | 否 | 定义一个Zabbix agent监控项,用于获取主机元数据的可选参数。此选项仅在未定义HostMetadata时使用。 支持UserParameters和别名。无论AllowKey/DenyKey的值如何,都支持system.run[]。 HostMetadataItem的值在每次自动注册尝试时检索,并且仅在主机自动注册过程中使用(主动 agent)。 在自动注册请求期间,如果指定监控项返回的值超过255个字符限制,agent 将记录一条警告消息。 监控项返回的值必须是UTF-8字符串,否则将被忽略。 |
||
Hostname | 否 | Set by HostnameItem | 主机名列表,由逗号分隔,唯一且大小写敏感。 对于主动检查是必需的,并且必须与服务器上配置的主机名匹配。如果未定义,则从HostnameItem获取值。 允许的字符:字母数字、'.'、' '、'_' 和 '-'。 最大长度:每个主机名128个字符,整行为2048个字符。 |
|
HostnameItem | 否 | system.hostname | 定义一个Zabbix agent监控项的可选参数,用于获取主机名。此选项仅在未定义Hostname时使用。 不支持UserParameters或别名,但无论AllowKey/DenyKey的值如何,都支持system.run[]。 |
|
Include | 否 | 您可以在配置文件中包含单个文件或目录中的所有文件。 要仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如: /absolute/path/to/config/files/*.conf 。请参阅特殊说明了解限制。 |
||
ListenBacklog | 否 | 0 - INT_MAX | SOMAXCONN | TCP队列中挂起连接的最大数量。 默认值是一个硬编码常量,这取决于系统。 支持的最大值也取决于系统,过高的值可能会被静默截断为“实现指定的最大值”。 |
ListenIP | 否 | 0.0.0.0 | agent 应该监听的逗号分隔的IP地址列表。 1.8.3及更高版本支持多个IP地址。 |
|
ListenPort | 否 | 1024-32767 | 10050 | agent 将在该端口上监听来自服务器的连接。 |
LoadModule | 否 | 在 agent 启动时加载的模块。模块用于扩展 agent 的功能。 格式: LoadModule=<module.so> LoadModule=<path/module.so> LoadModule=</abs_path/module.so> 模块必须位于LoadModulePath指定的目录中,或者路径必须在模块名称之前。如果前面的路径是绝对路径(以'/'开头),则忽略LoadModulePath。 允许包含多个LoadModule参数。 |
||
LoadModulePath | 否 | agent 模块所在位置的完整路径。 默认值取决于编译选项。 |
||
LogFile | 是,如果 LogType 设置为 file,否则 否 |
日志文件的名称。 | ||
LogFileSize | 否 | 0-1024 | 1 | 日志文件的最大大小(MB)。 0 - 禁用自动日志轮转。 注意:如果日志文件大小达到限制并且文件轮转失败,无论出于何种原因,现有的日志文件将被截断并重新开始。 |
LogType | 否 | file | 日志输出类型: file - 写入由 LogFile 参数指定的日志文件, system - 写入系统日志, console - 输出到控制台。 此参数自 Zabbix 3.0.0 起支持。 |
|
LogRemoteCommands | 否 | 0 | 启用将执行的 shell 命令记录为警告。 0 - 禁用 1 - 启用 只有远程执行的命令才会被 agent 记录。如果由 HostMetadataItem、HostInterfaceItem 或 HostnameItem 参数本地执行 system.run[],则不会创建日志监控项。 |
|
MaxLinesPerSecond | 否 | 1-1000 | 20 | agent 在处理 'log' 和 'eventlog' 日志监控项主动检查时,每秒钟可以向 Zabbix server 或 proxy 发送的新行的最大数量。 如果在 'log' 或 'eventlog' 日志监控项键中提供了 'maxlines' 参数,则提供的值将被覆盖。 注意: Zabbix 将处理 MaxLinesPerSecond 设置的 10 倍的新行,以便在日志监控项中查找所需字符串。 |
PidFile | 否 | /tmp/zabbix_agentd.pid | agent 的进程 ID 文件名称。 | |
RefreshActiveChecks | 否 | 60-3600 | 120 | 主动检查列表多久刷新一次,单位为秒。 注意,如果在刷新主动检查失败后,下一次刷新将在60秒后尝试。 |
Server | 是,如果 StartAgents 没有明确设置为 0 | 逗号分隔的 IP 地址列表,可选地使用 CIDR 表示法,或 Zabbix server 和 Zabbix proxy 的 DNS 名称。 只接受这里列出的主机的传入连接。 如果启用了 IPv6 支持,则 '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' 被视为等效,'::/0' 将允许任何 IPv4 或 IPv6 地址。 '0.0.0.0/0' 可用于允许任何 IPv4 地址。 请注意 "IPv4 兼容的 IPv6 地址"(0000::/96 前缀)被 RFC4291 支持但已弃用。 示例:Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com 允许使用空格。 |
||
ServerActive | 否 | 用于获取主动检查的 Zabbix server/proxy 地址或集群配置。 Server/proxy 地址是 IP 地址或 DNS 名称,端口可选地由冒号分隔。 集群配置是使用分号分隔的一个或多个服务器地址。 可以指定多个 Zabbix server/集群和 Zabbix proxy,用逗号分隔。 每个 Zabbix server/集群不应指定多个 Zabbix proxy。 如果指定了 Zabbix proxy,则不应为该代理指定 Zabbix server/集群。 可以提供多个逗号分隔的地址,以并行使用几个独立的 Zabbix server。允许使用空格。 如果未指定端口,则使用默认端口。 如果指定了该主机的端口,则必须将 IPv6 地址用方括号括起来。 如果未指定端口,IPv6 地址的方括号是可选的。 如果未指定此参数,则禁用主动检查。 Zabbix proxy 示例: ServerActive=127.0.0.1:10051 多服务器示例: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1] 高可用性示例: ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3 两个集群和一台服务器的高可用性示例: ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain |
||
SourceIP | 否 | 用于以下情况的源IP地址: - 出站连接到Zabbix server或Zabbix proxy; - 在执行某些监控项(如web.page.get, net.tcp.port等)时建立连接 |
||
StartAgents | 否 | 0-100 | 3 | 用于处理被动检查的预派生 zabbix_agentd 实例的数量。 如果设置为 0,则禁用被动检查,并且 agent 将不会监听任何 TCP 端口。 |
Timeout | 否 | 1-30 | 3 | 处理时间不超过 Timeout 秒。 |
TLSAccept | 是,如果已定义TLS证书或PSK参数(即使对于未加密连接),否则否 | 接受哪些传入连接。用于被动检查。可以指定多个值,由逗号分隔: unencrypted - 接受未加密的连接(默认) psk - 接受使用TLS和预共享密钥(PSK)的连接 cert - 接受使用TLS和证书的连接 此参数自Zabbix 3.0.0起支持。 |
||
TLSCAFile | 否 | 包含用于对等证书验证的顶级CA证书的文件的完整路径名,用于Zabbix组件之间的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSCertFile | 否 | 包含agent证书或证书链的文件的完整路径名,用于与Zabbix组件的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSCipherAll | 否 | GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于证书和基于 PSK 的加密的默认密码套件选择标准。 示例:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSCipherAll13 | 否 | OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书和基于 PSK 的加密的默认密码套件选择标准。 GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509 OpenSSL 示例:EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSCipherCert | 否 | GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于证书的加密的默认密码套件选择标准。 GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 OpenSSL 示例:EECDH+aRSA+AES128:RSA+aRSA+AES128 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSCipherCert13 | 否 | OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于证书的加密的默认密码套件选择标准。 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSCipherPSK | 否 | GnuTLS 优先级字符串或 OpenSSL(TLS 1.2)密码字符串。覆盖基于 PSK 的加密的默认密码套件选择标准。 GnuTLS 示例:NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL OpenSSL 示例:kECDHEPSK+AES128:kPSK+AES128 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSCipherPSK13 | 否 | OpenSSL 1.1.1 或更高版本在 TLS 1.3 中的密码字符串。覆盖基于 PSK 的加密的默认密码套件选择标准。 示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 此参数自 Zabbix 4.4.7 起支持。 |
||
TLSConnect | 是,如果已定义TLS证书或PSK参数(即使对于未加密连接),否则否 | agent应如何连接到Zabbix server或proxy。用于主动检查。只能指定一个值: unencrypted - 不使用加密连接(默认) psk - 使用TLS和预共享密钥(PSK)进行连接 cert - 使用TLS和证书进行连接 此参数自Zabbix 3.0.0起支持。 |
||
TLSCRLFile | 否 | 包含吊销证书的文件的完整路径名。此参数用于与Zabbix组件的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSKeyFile | 否 | 包含agent私钥的文件的完整路径名,该私钥用于与Zabbix组件的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSPSKFile | 否 | 包含agent预共享密钥的文件的完整路径名,该密钥用于与Zabbix组件的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSPSKIdentity | 否 | 预共享密钥身份字符串,用于与Zabbix server的加密通信。 此参数自Zabbix 3.0.0起支持。 |
||
TLSServerCertIssuer | 否 | 允许的server(proxy)证书颁发者。 此参数自Zabbix 3.0.0起支持。 |
||
TLSServerCertSubject | 否 | 允许的server(proxy)证书主题。 此参数自Zabbix 3.0.0起支持。 |
||
UnsafeUserParameters | 否 | 0,1 | 0 | 允许在用户定义的参数中传递所有字符。 0 - 不允许 1 - 允许 以下字符不允许:\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ 此外,不允许换行字符。 |
User | 否 | zabbix | 将权限降低到系统上特定的、已存在的用户。 仅当以 'root' 身份运行且 AllowRoot 被禁用时有效。 |
|
UserParameter | 否 | 用于监控的用户定义的参数。可以有多个用户定义的参数。 格式:UserParameter=<key>,<shell command> 注意,shell命令不能仅返回空字符串或EOL。 如果指定了UserParameterDir参数,agent命令可以有相对路径。 示例: UserParameter=system.test,who|wc -l UserParameter=check_cpu,./custom_script.sh |
||
UserParameterDir | 否 | UserParameter命令的默认搜索路径。如果使用,agent在执行命令前将工作目录更改为此处指定的目录。这样,UserParameter命令可以有相对的./ 前缀而不是完整路径。只允许一个条目。 示例:UserParameterDir=/opt/myscripts |