本节列出了Zabbix agent配置文件(zabbix_agentd.conf)支持的参数。
注意事项:
参数 | 必选 | 范围 | 默认值 | 描述 |
---|---|---|---|---|
Alias | no | 为监控项键设置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. 运行多个处理相同发现low-level discovery的规则 alias=vfs.fs.discovery[*]:vfs.fs.discovery 现在可为每个规则配置不同参数的vfs.fs.discovery发现规则,例如vfs.fs.discovery[foo]、vfs.fs.discovery[bar]等 |
||
AllowKey | no | 允许执行匹配模式的监控项键。键模式为支持"*"通配符的表达式,可匹配任意数量字符。 可与DenyKey组合定义多个键匹配规则,按出现顺序逐个处理。 该参数自Zabbix 5.0.0版本支持。 另见:Restricting agent checks |
||
AllowRoot | no | 0 | 允许agent以'root'身份运行。若禁用且agent由'root'启动,将尝试切换至'zabbix'用户。普通用户启动时无效。 0 - 不允许 1 - 允许 |
|
BufferSend | no | 1-3600 | 5 | 缓冲区数据保留最长时间(秒) |
BufferSize | no | 2-65535 | 100 | 内存缓冲区最大值数量。当缓冲区满时,agent会将所有收集数据发送至Zabbix server或proxy |
DebugLevel | no | 0-5 | 3 | 指定调试级别: 0 - Zabbix进程启停基本信息 1 - 关键信息 2 - 错误信息 3 - 警告信息 4 - 调试信息(大量输出) 5 - 扩展调试(更详细输出) |
DenyKey | no | 拒绝执行匹配模式的监控项键。键模式为支持"*"通配符的表达式。 可与AllowKey组合定义多个键匹配规则,按出现顺序逐个处理。 该参数自Zabbix 5.0.0版本支持。 另见:Restricting agent checks |
||
EnableRemoteCommands | no | 0 | 是否允许来自Zabbix server的远程命令。该参数已弃用,建议改用AllowKey=system.run[*]或DenyKey=system.run[*] 根据值转换为内部alias: 0 - DenyKey=system.run[*] 1 - AllowKey=system.run[*] |
|
HostInterface | no | 0-255 characters | 定义主机接口的可选参数。 主机接口用于主机将-dns-设为默认接口进程。 若值超过255字符限制,agent将问题错误且不启动。 未定义时从HostInterfaceItem获取值。 自Zabbix 4.4.0版本支持 |
|
HostInterfaceItem | no | 定义用于获取主机接口的监控项可选参数。 主机接口用于主机将-dns-设为默认接口进程。 自动注册时若返回值超过255字符限制会记录警告。 无论AllowKey/DenyKey值如何,均支持system.run[]监控项。 仅当HostInterface未定义时生效。 自Zabbix 4.4.0版本支持 |
||
HostMetadata | no | 0-255 characters | 定义主机元数据的可选参数。主机元数据仅用于主机自动注册(主动式agent)。 未定义时从HostMetadataItem获取值。 若指定值超限或包含非UTF-8string,agent将问题错误且不启动 |
|
HostMetadataItem | no | 定义用于获取主机元数据的Zabbix agent监控项可选参数。仅当HostMetadata未定义时生效。 支持UserParameters和别名。无论AllowKey/DenyKey值如何,均支持system.run[]。 每次自动注册尝试时获取HostMetadataItem值,仅用于主机自动注册(主动式agent)。 自动注册时若返回值超过255字符限制会记录警告。 返回值必须为UTF-8string,否则将被忽略 |
||
Hostname | no | 由HostnameItem设置 | 逗号分隔的唯一主机名列表(区分大小写)。 主动检查必需,必须与服务器配置的主机名匹配。未定义时从HostnameItem获取值。 允许字符:字母数字、'.'、' '、'_'和'-'。 最大长度:每个主机名128字符,整行2048字符 |
|
HostnameItem | no | system.hostname | 定义用于获取主机名称的Zabbix agent监控项可选参数。仅当Hostname未定义时生效。 不支持UserParameters或别名,但无论AllowKey/DenyKey值如何,均支持system.run[] |
|
Include | no | 可在配置文件中包含单个文件或目录下所有文件。 为仅包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如: /absolute/path/to/config/files/*.conf 关于限制详见special notes |
||
ListenBacklog | no | 0 - INT_MAX | SOMAXCONN | TCP队列中待处理连接的最大数量。 默认值为系统相关的硬编码常量。 最大支持值取决于系统,过高值可能被静默截断为"实现指定的最大值" |
ListenIP | no | 0.0.0.0 | agent监听的IP地址列表。 1.8.3及以上版本支持多IP地址 |
|
ListenPort | no | 1024-32767 | 10050 | Agent监听此端口以接受服务器连接 |
LoadModule | no | agent启动时加载的模块,用于扩展功能。 格式: LoadModule=<模块.so> LoadModule=<路径/模块.so> LoadModule=</绝对路径/模块.so> 模块必须位于LoadModulePath指定目录或路径需前置模块名。若为绝对路径(以'/'开头)则忽略LoadModulePath。 可配置多个LoadModule参数 |
||
LoadModulePath | no | agent模块的完整路径。 默认值取决于编译选项 |
||
LogFile | yes, if LogType is set to file, otherwise no |
日志文件名 | ||
LogFileSize | no | 0-1024 | 1 | 日志文件最大大小(MB)。 0 - 禁用自动日志轮转 注意:当日志文件大小达到限制且轮转失败时,现有日志文件将被截断并重新开始 |
LogType | no | file | 日志输出类型: file - 输出到LogFile参数指定的文件 system - 输出到syslog console - 输出到标准输出 该参数自Zabbix 3.0.0版本支持 |
|
LogRemoteCommands | no | 0 | 启用以警告级别记录执行的shell命令。 0 - 禁用 1 - 启用 仅记录远程执行的命令。若system.run[]由HostMetadataItem、HostInterfaceItem或HostnameItem参数本地启动,则不会创建日志条目 |
|
MaxLinesPerSecond | no | 1-1000 | 20 | 处理'log'、'logrt'或'log.count'主动检查时,agent每秒发送至Zabbix server或proxy的最大新行数。 该值会被'log'、'logrt'或'log.count'监控项键中的'maxlines'参数覆盖 注意:Zabbix会处理10倍于MaxLinesPerSecond设置的新行数,以在日志监控项中查找所需string |
PidFile | no | /tmp/zabbix_agentd.pid | PID文件名 | |
RefreshActiveChecks | no | 60-3600 | 120 | 主动检查列表刷新频率(秒)。 注意:若刷新失败,下次尝试将在60秒后进行 |
Server | yes, if StartAgents is not explicitly set to 0 | 逗号分隔的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前缀)。 示例:Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com 允许空格 |
||
ServerActive | no | 获取主动检查的Zabbix server/proxy地址或集群配置。 server/proxy地址为IP地址或DNS名称,可选端口用冒号分隔。 集群配置为一个或多个用分号分隔的服务器地址。 可指定多个Zabbix servers/集群和Zabbix proxies,用逗号分隔。 每个Zabbix server/集群不应指定多个Zabbix proxy。 若指定Zabbix proxy,则不应指定该proxy的Zabbix server/集群。 可提供多个逗号分隔地址以并行使用多个独立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 |
||
SourceIP | no | 用于以下场景的源IP地址: - 到Zabbix server或Zabbix proxy的出站连接; - 执行某些监控项(web.page.get、net.tcp.port等)时建立连接 |
||
StartAgents | no | 0-100 | 3 | 处理被动检查的zabbix_agentd预派生实例数。 设为0时禁用被动检查,agent不会监听任何TCP端口 |
Timeout | no | 1-30 | 3 | 处理操作最长耗时(秒) |
TLSAccept | yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no | 接受的入站连接类型(用于被动检查)。可指定多个值,用逗号分隔: unencrypted - 接受未加密连接(默认) psk - 接受带TLS和预共享密钥(PSK)的连接 cert - 接受带TLS和证书的连接 该参数自Zabbix 3.0.0版本支持 |
||
TLSCAFile | no | 包含用于Zabbix组件间加密通信的Top级CA证书的文件完整路径,用于对等证书验证。 该参数自Zabbix 3.0.0版本支持 |
||
TLSCertFile | no | 包含agent证书或证书链的文件完整路径,用于与Zabbix组件的加密通信。 该参数自Zabbix 3.0.0版本支持 |
||
TLSCipherAll | no | GnuTLS优先级string或OpenSSL(TLS 1.2)密码套件string。覆盖基于证书和PSK加密的默认密码套件选择标准。 示例:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 该参数自Zabbix 4.4.7版本支持 |
||
TLSCipherAll13 | no | 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.509 OpenSSL示例:EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128 该参数自Zabbix 4.4.7版本支持 |
||
TLSCipherCert | no | 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.509 OpenSSL示例:EECDH+aRSA+AES128:RSA+aRSA+AES128 该参数自Zabbix 4.4.7版本支持 |
||
TLSCipherCert13 | no | OpenSSL 1.1.1或更高版本在TLS 1.3中的密码套件string。覆盖基于证书加密的默认密码套件选择标准。 该参数自Zabbix 4.4.7版本支持 |
||
TLSCipherPSK | no | 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-ALL OpenSSL示例:kECDHEPSK+AES128:kPSK+AES128 该参数自Zabbix 4.4.7版本支持 |
||
TLSCipherPSK13 | no | OpenSSL 1.1.1或更高版本在TLS 1.3中的密码套件string。覆盖基于PSK加密的默认密码套件选择标准。 示例:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 该参数自Zabbix 4.4.7版本支持 |
||
TLSConnect | yes, if TLS certificate or PSK parameters are defined (even for unencrypted connection), otherwise no | agent连接Zabbix server或proxy的方式(用于主动检查)。仅可指定一个值: unencrypted - 无加密连接(默认) psk - 使用TLS和预共享密钥(PSK)连接 cert - 使用TLS和证书连接 该参数自Zabbix 3.0.0版本支持 |
||
TLSCRLFile | no | 包含吊销证书的文件完整路径,用于与Zabbix组件的加密通信。 该参数自Zabbix 3.0.0版本支持 |
||
TLSKeyFile | no | 包含agent私钥的文件完整路径,用于与Zabbix组件的加密通信。 该参数自Zabbix 3.0.0版本支持 |
||
TLSPSKFile | no | 包含agent预共享密钥的文件完整路径,用于与Zabbix组件的加密通信。 该参数自Zabbix 3.0.0版本支持 |
||
TLSPSKIdentity | no | 预共享密钥标识string,用于与Zabbix server的加密通信。 该参数自Zabbix 3.0.0版本支持 |
||
TLSServerCertIssuer | no | 允许的服务器(proxy)证书颁发者。 该参数自Zabbix 3.0.0版本支持 |
||
TLSServerCertSubject | no | 允许的服务器(proxy)证书主题。 该参数自Zabbix 3.0.0版本支持 |
||
UnsafeUserParameters | no | 0,1 | 0 | 允许在用户定义参数参数中传递所有字符。 0 - 不允许 1 - 允许 以下字符不被允许: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > \ |
User | no | zabbix | 降权到系统中特定现有用户。 仅当以'root'运行且AllowRoot禁用时有效 |
|
UserParameter | no | 用户定义的监控参数。可配置多个用户参数。 格式:UserParameter=<键>,<shell命令> 注意shell命令不能返回空string或仅EOL。 若指定UserParameterDir参数,shell命令可使用相对路径。 示例: UserParameter=system.test,who\ |
||
UserParameterDir | no | UserParameter命令的默认搜索路径。若使用,agent将在执行命令前切换工作目录到此处指定目录。因此UserParameter命令可使用相对路径./ 前缀而非完整路径。仅允许一个条目。 示例:UserParameterDir=/opt/myscripts |