本节列出了Zabbix agent配置file(zabbix_agentd.conf)支持的参数。
参数列表未提供额外信息。 点击参数查看完整详情
| 参数 | 描述 |
|---|---|
| Alias | 为监控项键设置alias. |
| AllowKey | 允许执行那些匹配特定模式的监控项键。 |
| AllowRoot | 允许 agent 以 'root' 身份 run。 |
| BufferSend | 在缓冲区中保留数据不超过N秒。 |
| BufferSize | memory缓冲区中的最大数值数量. |
| DebugLevel | 调试级别。 |
| DenyKey | 拒绝执行与模式匹配的监控项键。 |
| EnableRemoteCommands | 是否允许来自Zabbix server的远程命令。 |
| HeartbeatFrequency | 心跳消息的频率(以秒为单位)。 |
| HostInterface | 定义主机接口的可选参数. |
| HostInterfaceItem | 一个可选参数,用于定义获取主机接口时使用的监控项。 |
| HostMetadata | 一个可选参数,用于定义主机元数据。 |
| HostMetadataItem | 一个可选参数,用于定义获取主机元数据时使用的Zabbix agent监控项。 |
| Hostname | 定义主机名的可选参数. |
| HostnameItem | 一个可选参数,用于定义获取主机名时使用的 Zabbix agent 监控项。 |
| Include | 您可以在配置file中包含单个文件或目录中的所有文件。 |
| ListenBacklog | TCP队列中待处理连接的最大数量。 |
| ListenIP | agent 应监听的逗号分隔IP地址列表。 |
| ListenPort | agent 将在此端口监听来自服务器的连接。 |
| LoadModule | 在 agent 启动时加载的模块。 |
| LoadModulePath | agent模块所在位置的完整路径。 |
| LogFile | 日志file的名称. |
| LogFileSize | 日志file的最大大小。 |
| LogRemoteCommands | 启用将执行的shell命令记录为警告的功能。 |
| LogType | 日志输出的类型。 |
| MaxLinesPerSecond | 当处理'日志'和'logrt'主动检查时,agent每秒向Zabbix server或proxy发送的新行最大数量。 |
| PidFile | PID file的名称. |
| RefreshActiveChecks | 主动检查列表的刷新频率。 |
| Server | 以逗号分隔的IP地址列表(可选CIDR表示法),或Zabbix servers与Zabbix proxies的DNS名称。 |
| ServerActive | 用于get主动检查的Zabbix server/proxy地址或集群配置。 |
| SourceIP | 源IP地址 |
| StartAgents | 处理被动检查的zabbix_agentd预派生实例数量。 |
| Timeout | 指定与Zabbix proxy或服务器建立连接及交换数据的等待时间(以秒为单位)。 |
| TLSAccept | 接受哪些传入连接。 |
| TLSCAFile | 包含用于对等证书验证的Top级file CA证书的完整路径名,用于Zabbix组件之间的加密通信。 |
| TLSCertFile | 包含 agent 证书或证书链的 file 完整路径名,用于Zabbix组件之间的加密通信。 |
| TLSCipherAll | GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于证书和PSK加密的默认加密套件选择标准。 |
| TLSCipherAll13 | OpenSSL 1.1.1或更高版本在TLS 1.3中使用的密码套件string. 覆盖基于证书和PSK加密的默认密码套件选择标准. |
| TLSCipherCert | GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于证书加密的默认加密套件选择标准。 |
| TLSCipherCert13 | OpenSSL 1.1.1或更高版本在TLS 1.3中使用的密码套件string. 覆盖基于证书加密的默认密码套件选择标准. |
| TLSCipherPSK | GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。覆盖基于PSK加密的默认加密套件选择标准。 |
| TLSCipherPSK13 | 适用于OpenSSL 1.1.1或更高版本的TLS 1.3密码套件string。覆盖基于PSK加密的默认密码套件选择标准。 |
| TLSConnect | agent 应如何连接到 Zabbix server 或 proxy. |
| TLSCRLFile | 包含已撤销证书的file的完整路径名。该参数用于Zabbix组件之间的加密通信。 |
| TLSKeyFile | 包含agent私钥的file完整路径名,用于Zabbix组件间的加密通信。 |
| TLSPSKFile | 包含agent预共享密钥的file完整路径名,用于与Zabbix server进行加密通信。 |
| TLSPSKIdentity | 预共享密钥标识 string,用于与 Zabbix server 进行加密通信。 |
| TLSServerCertIssuer | 允许的服务器(proxy)证书颁发机构。 |
| TLSServerCertSubject | 允许的服务器(proxy)证书主题. |
| UnsafeUserParameters | 允许在用户自定义参数中传递所有字符。 |
| User | 将权限降级至系统中某个已存在的特定用户。 |
| UserParameter | 用于监控的用户自定义参数。 |
| UserParameterDir | UserParameter命令的默认搜索路径。 |
除非明确说明参数为必填项,否则所有参数均为非必填项。
请注意:
为监控项键设置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键以默认参数get CPU利用率百分比,同时使用cpu.util[all, idle, avg15]来get关于CPU利用率的具体数据。
示例3:运行多个low-level discovery规则处理相同的发现监控项。
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
现在可以设置多个使用vfs.fs.discovery的发现规则,每个规则采用不同参数,例如vfs.fs.discovery[foo]、vfs.fs.discovery[bar]等。
允许执行那些与模式匹配的监控项键值。 键模式是支持使用"*"字符匹配任意数量任意字符的通配符表达式。
可以结合DenyKey定义多个键匹配规则。 参数将按照出现顺序逐一处理。 另请参阅:Restricting agent checks。
允许agent以'root'身份run运行。 若禁用此选项且agent由'root'启动时,agent将尝试切换至'zabbix'用户运行。 若以普通用户身份启动则此设置无效。
默认值: 0
可选值: 0 - 不允许; 1 - 允许
在缓冲区中保留数据不超过N秒。
默认值:5
范围:1-3600
memory缓冲区中存储的最大值数量。 当缓冲区满时,agent会将所有收集的数据发送至Zabbix server或proxy。
默认值: 100
范围: 2-65535
指定调试级别:
0 - 关于Zabbix进程启动和停止的基本信息
1 - 关键信息
2 - 错误信息
3 - 警告信息
4 - 调试信息(产生大量信息)
5 - 扩展调试(产生更多信息)
默认值:3
范围:0-5
拒绝执行那些匹配特定模式的监控项键值。 键模式是支持使用"*"字符匹配任意数量任意字符的通配符表达式。
多个键匹配规则可以与AllowKey组合定义。 参数将按照出现顺序逐一处理。 另请参阅:Restricting agent checks。
是否允许来自Zabbix server的远程命令。 此参数已弃用,请改用AllowKey=system.run[*]或DenyKey=system.run[*]。
它是AllowKey/DenyKey参数的内部alias,具体取决于值:
0 - DenyKey=system.run[*]
1 - AllowKey=system.run[*]
默认值:0
取值:0 - 不允许,1 - 允许
心跳消息的频率(以秒为单位)。 用于监控主动检查的可用性。
0 - 表示禁用心跳消息。
默认值:60
范围:0-3600
一个可选参数,用于定义在主机 autoregistration过程中使用的主机接口(IP地址或DNS名称)。 该值将用于填充新创建的主机中的接口,并允许显式配置IP或DNS地址。 更多详情,请参阅Using DNS as default interface。
如果未定义,该值将从HostInterfaceItem获取。
如果该值超过255个字符的限制,agent将问题错误且不会启动。
范围:0-255个字符
一个可选参数,用于定义在主机 autoregistration过程中确定主机接口(IP地址或DNS名称)所使用的监控项。 此值仅在未定义HostInterface时使用。 更多详情,请参阅Using DNS as default interface。
在自动注册请求期间,如果指定的监控项返回的值超过255个字符的限制,agent将记录一条警告消息。
无论AllowKey/DenyKey设置如何,system.run[] 监控项都受支持。
一个可选参数,用于定义在主机autoregistration过程中(主动agent)用于识别或区分主机的metadata。 HostMetadata允许超越主机名来区分主机。
如果未定义,该值将从HostMetadataItem获取。
如果指定值超过2034字节限制或使用非UTF-8string,agent将问题错误且不会启动。 当参数需要IP地址或DNS名称时,有效UTF-8编码但不符合IP或DNS命名规范的值也将被拒绝并报告为无效。
范围:0-2034字节
一个可选参数,用于定义获取host metadata时使用的Zabbix agent监控项。 该选项仅在未定义HostMetadata时使用。
HostMetadataItem值会在每次autoregistration尝试时获取,且仅用于主机自动注册过程(主动式agent)。 HostMetadataItem允许通过除主机名之外的方式区分主机。
支持用户参数和别名。 无论AllowKey/DenyKey设置如何,都支持system.run[]监控项。
在自动注册请求期间,如果指定监控项返回的值超过65535个UTF-8码点限制,agent将记录警告消息。 监控项返回的值必须是UTF-8string,否则将被忽略。 当参数需要IP地址或DNS名称时,虽然是有效UTF-8但不符合IP或DNS名称格式的值也将被拒绝并报告为无效。
以逗号分隔的唯一主机名列表(区分大小写)。 主动检查时必须配置,且必须与服务器上配置的主机名匹配。 若未定义该值,则从HostnameItem获取。
允许字符:字母数字、'.'、' '、'_'和'-'。 最大长度:每个主机名128个字符,整行2048个字符。
默认值:由HostnameItem设置
一个可选参数,用于定义获取主机名称时使用的Zabbix agent监控项。 此选项仅在未定义主机名时使用。 不支持用户参数或别名,但无论AllowKey/DenyKey值如何设置,都支持system.run[]监控项。
默认值:system.hostname
您可以在配置file中包含单个文件或目录中的所有文件。 为了仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。
有关限制,请参阅special notes。
示例:
TCP队列中待处理连接的最大数量。
默认值为硬编码常量,具体取决于系统。
支持的最大值也取决于系统,过高的值可能会被静默截断为"实现指定的最大值"。
默认值:SOMAXCONN
范围:0 - INT_MAX
一个逗号分隔的IP地址列表,agent应监听这些地址。
默认值:0.0.0.0
agent将在此端口监听来自服务器的连接。
默认值:10050
范围:1024-32767
在agent启动时加载的模块。 模块用于扩展agent的功能。 模块必须位于LoadModulePath指定的目录中,或者路径必须位于模块名称之前。 如果前置路径是绝对路径(以'/'开头),则忽略LoadModulePath。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
允许包含多个LoadModule参数。
agent模块所在位置的完整路径。 默认值取决于编译选项。
日志file的名称.
必填项: 如果LogType设置为file则为是; 否则为否
日志file的最大大小(单位:MB)。
0 - 禁用自动日志轮转。
注意:如果日志file大小达到限制且file轮转失败(无论何种原因),现有日志file将被截断并重新开始记录。
默认值:1
范围:0-1024
启用已执行shell命令的日志记录(作为警告级别)。 仅当远程执行时才会记录命令。 如果system.run[]是通过HostMetadataItem、HostInterfaceItem或HostnameItem参数在本地启动的,则不会创建日志条目。
默认值:0
可选值:0 - 禁用,1 - 启用
日志输出类型:
file - 将日志写入LogFile参数指定的file;
system - 将日志写入syslog;
console - 将日志写入标准输出.
默认值: file
当处理'日志'和'logrt'主动检查时,agent每秒向Zabbix server或proxy发送的新行最大数量。 提供的值将被'日志'或'logrt'监控项键中的'maxlines'参数覆盖。
注意: Zabbix将处理比MaxLinesPerSecond设置多10倍的新行,以在日志监控项中查找所需的string。
默认值: 20
范围: 1-1000
PID名称file.
默认值: /tmp/zabbix_agentd.pid
主动检查列表的刷新频率,以秒为单位。 请注意,若主动检查刷新失败,下一次刷新尝试将在60秒后进行。
默认值:5
范围:1-86400
以逗号分隔的IP地址列表(可选CIDR表示法)或Zabbix servers与Zabbix proxies的DNS名称。 仅接受来自此处列出的主机的传入连接。 若启用IPv6支持,则'127.0.0.1'、'::127.0.0.1'、'::ffff:127.0.0.1'将被等同对待,'::/0'将允许任何IPv4或IPv6地址。 '0.0.0.0/0'可用于允许任何IPv4地址。 注意支持但已被RFC4291弃用的"IPv4兼容IPv6地址"(0000::/96前缀)。 允许包含空格。
示例:
必填项:是(若未显式将StartAgents设为0)
用于get主动检查的Zabbix server/proxy地址或集群配置 server/proxy 地址是一个IP地址或DNS名称,后跟可选的端口号,用冒号分隔。
集群配置是一个或多个服务器地址,用分号分隔。 可以指定多个Zabbix servers/集群和Zabbix proxies,用逗号分隔。 每个Zabbix server/集群中不应指定多个Zabbix proxy 如果指定了Zabbix proxy,则不应为该proxy指定Zabbix server/cluster。
可以提供多个逗号分隔的地址以并行使用多个独立的Zabbix servers。 允许使用空格。
如果未指定端口,则使用默认端口。
如果为主机指定了端口,则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
源IP地址用于:
用于处理被动检查的zabbix_agentd预派生实例数量。 若设置为0,则禁用被动检查且agent不会监听任何TCP端口。
默认值:10
范围:0-100
指定与Zabbix proxy或服务器建立连接及交换数据的等待时间(秒)。
该参数定义各类通信操作的最长持续时间,包括:
vfs.*检查的最大持续时间;该超时设置不适用于在前端(全局、proxy或单个监控项层级)可配置超时的agent检查项。
默认值:3
取值范围:1-30
接受哪些传入连接。 用于被动检查。 可指定多个值,以逗号分隔:
unencrypted - 接受未加密的连接(默认)
psk - 接受使用TLS和预共享密钥(PSK)的连接
cert - 接受使用TLS和证书的连接
必填项:如果定义了TLS证书或PSK参数(即使针对unencrypted连接)则为是;否则为否
包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
包含file的完整路径名,其中含有用于与Zabbix组件进行加密通信的agent证书或证书链。
GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。 覆盖基于证书和PSK加密的默认加密套件选择标准。
示例:
OpenSSL 1.1.1或更高版本在TLS 1.3中使用的密码套件string。 覆盖基于证书和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.509OpenSSL示例:
EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。 覆盖基于证书加密的默认加密套件选择标准。
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.509OpenSSL示例:
OpenSSL 1.1.1或更高版本在TLS 1.3中使用的密码套件string。 覆盖基于证书加密的默认密码套件选择标准。
GnuTLS优先级string或OpenSSL(TLS 1.2)加密套件string。 覆盖基于PSK加密的默认加密套件选择标准。
GnuTLS示例:
NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALLOpenSSL示例:
OpenSSL 1.1.1或更高版本中TLS 1.3使用的密码套件string。 覆盖基于PSK加密的默认密码套件选择标准。
示例:
agent应如何连接到Zabbix server或proxy. 用于主动检查. 只能指定一个值:
unencrypted - 不加密连接(默认)
psk - 使用TLS和预共享密钥(PSK)连接
cert - 使用TLS和证书连接
必填: 如果定义了TLS证书或PSK参数(即使对于unencrypted连接)则为是; 否则为否
包含已撤销证书的file的完整路径名。 该参数用于Zabbix组件之间的加密通信。
包含用于Zabbix组件间加密通信的agent私钥的file完整路径名。
包含用于与Zabbix server进行加密通信的agent预共享密钥的file完整路径名。
预共享密钥标识string,用于与Zabbix server进行加密通信。
允许的服务器(proxy)证书颁发机构。
允许的服务器(proxy)证书主题。
允许在用户自定义参数参数中传递所有字符。 以下字符不允许使用:\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
此外,换行符也不允许使用。
默认值:0
取值:0 - 不允许,1 - 允许
将权限降级为系统中特定的现有用户。
仅当以'root'身份运行run且AllowRoot被禁用时生效。
默认值: zabbix
用于监控的用户自定义参数。 可以定义多个用户自定义参数。
格式: UserParameter=<键值>,<shell命令>
注意shell命令不能返回空的string或仅包含EOL。 如果指定了UserParameterDir参数,shell命令可以使用相对路径。
示例:
UserParameter命令的默认搜索路径。 如果使用此参数,agent将在执行命令前将工作目录切换至此处指定的路径。 因此,UserParameter命令可以使用相对路径的./前缀而非完整路径。
仅允许配置一个条目。
示例: