3 Zabbix agent (UNIX)

概述

本节列出Zabbix agent配置 file (zabbix_agentd.conf)中支持的参数

请注意:

  • 默认值反映守护进程的默认设置,而非随附配置文件中的值
  • Zabbix仅支持UTF-8编码的配置文件,不含BOM
  • 以"#"开头的注释仅支持在行首使用

参数

参数 必选 范围 默认值 描述
Alias no 为监控项键设置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]来getCPU利用率的具体数据.

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'身份run. 若禁用且agent由'root'启动时, agent将尝试切换至'zabbix'用户运行. 以普通用户启动时此参数无效.
0 - 禁止
1 - 允许
BufferSend no 1-3600 5 在缓冲区中保留数据不超过N秒。
BufferSize no 2-65535 100 memory缓冲区中值的最大数量。当缓冲区满时,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[*]
它是AllowKey/DenyKey参数的内部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字符限制,agent将记录警告消息.
无论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字符限制,agent将记录警告消息。
监控项返回的值必须是UTF-8 string,否则将被忽略。
Hostname no 按主机名项设置 以逗号分隔的唯一且区分大小写的主机名列表。
主动检查所必需,必须与服务器上配置的主机名匹配。如果未定义,则从HostnameItem获取值。
允许的字符:字母数字、'.'、' '、'_'和'-'。
最大长度:每个主机名128个字符,整行2048个字符。
HostnameItem no system.hostname 可选参数,用于定义获取主机名时使用的Zabbix agent 监控项。此选项仅在未定义主机名时使用。
不支持UserParameters或别名,但支持system.run[],且不受AllowKey/DenyKey值影响。
Include no 您可以在配置file中包含单个文件或目录中的所有文件。
若仅需包含指定目录中的相关文件,支持使用星号通配符进行模式匹配。例如:/absolute/path/to/config/files/*.conf
关于限制条件,请参阅special notes
ListenBacklog no 0 - INT_MAX SOMAXCONN TCP队列中等待连接的最大数量。
默认值为硬编码常量,具体取决于系统。
支持的最大值也取决于系统,过高的值可能会被静默截断为"实现指定的最大值"。
ListenIP no 0.0.0.0 以逗号分隔的IP地址列表,agent应监听的地址。
在version 1.8.3及更高版本中支持多个IP地址。
ListenPort no 1024-32767 10050 Agent 将在此端口监听来自服务器的连接。
LoadModule no 在agent启动时加载的模块。模块用于扩展agent的功能。
格式:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
模块必须位于LoadModulePath指定的目录中,或者路径必须位于模块名称之前。如果前置路径是绝对路径(以'/'开头),则忽略LoadModulePath。
允许包含多个LoadModule参数。
LoadModulePath no agent模块所在位置的完整路径。
默认值取决于编译选项。
LogFile yes, if LogType is set to file, otherwise
no
日志file名称
LogFileSize no 0-1024 1 日志文件file的最大大小(MB)。
0 - 禁用自动日志轮转。
注意:如果日志文件file大小达到限制且file轮转失败(无论何种原因),现有日志文件file将被截断并重新开始记录。
LogType no file 日志输出类型:
file - 将日志写入由LogFile参数指定的file,
system - 将日志写入syslog,
console - 将日志写入标准输出.
该参数自Zabbix 3.0.0版本起支持.
LogRemoteCommands no 0 启用将执行的shell命令记录为警告的功能.
0 - 禁用
1 - 启用
仅当远程执行时才会记录命令. 如果system.run[]是通过HostMetadataItem、HostInterfaceItem或HostnameItem参数在本地启动的, 则不会创建日志条目.
MaxLinesPerSecond no 1-1000 20 当处理'日志'、'logrt'或'log.count'主动检查时,agent每秒向Zabbix server或proxy发送的最大新行数。
提供的值将被'日志'、'logrt'或'log
.count' 监控项监控项键值中的'maxlines'参数覆盖。
注意: Zabbix将处理比MaxLinesPerSecond设置多10倍的新行数,以在日志监控项中查找所需的string。
PidFile no /tmp/zabbix_agentd.pid PID文件名称 file.
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地址。
注意:"IPv4兼容的IPv6地址"(0000::/96前缀)受支持但已被RFC4291弃用。
示例:Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
允许包含空格。
ServerActive no Zabbix server/proxy地址或集群配置,用于get主动检查的来源。
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 处理时间不超过Timeout秒。
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 包含用于对等证书验证的Top级CA证书的file完整路径名,用于Zabbix组件之间的加密通信。
该参数自Zabbix 3.0.0版本起支持。
TLSCertFile no 包含用于与Zabbix组件加密通信的agent证书或证书链的file完整路径名。
该参数自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 包含已吊销证书的file完整路径名。该参数用于与Zabbix组件进行加密通信。
此参数自Zabbix 3.0.0版本起支持。
TLSKeyFile no 包含用于与Zabbix组件进行加密通信的file agent私钥的完整路径名。
该参数自Zabbix 3.0.0版本起支持。
TLSPSKFile no 包含用于与Zabbix组件进行加密通信的file agent预共享密钥的完整路径名。
该参数自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'身份运行run且AllowRoot被禁用时生效。
UserParameter no 用于监控的用户自定义参数。可定义多个用户参数。
格式:UserParameter=<键>,<shell命令>
注意shell命令不能返回空string或仅包含EOL。
若指定了UserParameterDir参数,shell命令可使用相对路径。
示例:
UserParameter=system.test,who\
UserParameterDir no UserParameter命令的默认搜索路径。若启用此参数,agent将在执行命令前将工作目录切换至此处指定的路径。因此,UserParameter命令可使用相对路径前缀./替代完整路径。
仅允许配置单个条目。
示例:UserParameterDir=/opt/myscripts

另请参阅

  1. Differences in the Zabbix agent configuration for active and passive checks starting from version 2.0.0