「Zabbix」- zabbix_agentd.conf

配置文件 zabbix_agentd.conf 用于调整 Zabbix Agent 的行为,配置参数分为以下类别:
1)基本参数
2)被动检查的相关参数
3)主动检查的相关参数
4)高级参数
5)用户定义检测参数
6)模块加载的相关参数
7)TLS相关的参数

注意:在 Windows 下的 zabbix_agentd.con f配置在 Linux 下的配置稍有不同。本文的内容以 Linux 下的 zabbix_agentd.conf 配置为主,除非有特殊说明。

相关链接

Zabbix Documentation 4.2/Appendixes/3 Daemon configuration/3 Zabbix agent (UNIX)
Zabbix Documentation 4.2/Appendixes/3 Daemon configuration/3 Zabbix agent (Windows)

基本参数

PidFile
PID文件位置。该参数可选。
默认:PidFile=/tmp/zabbix_agentd.pid

SourceIP
发出连接时使用的IP地址。
该参数是可选的
默认值:SourceIP=

EnableRemoteCommands
是否允许Zabbix Server发出的远程命令:

0 – not allowed

1 – allowed

该参数是可选的

默认值:EnableRemoteCommands=0

调整日志信息

LogType
日志要写入的位置,该参数使可选的,默认值为file:

  • system – 写入。yslog
  • file – LogFile参数指定的位置。
  • console – 标准输出,即直接打印到控制台。

LogFile
为LogType=file的参数指定日志文件的位置。
可选的参数。
配置文件中默认LogFile=/tmp/zabbix_agentd.log

LogFileSize
日志文件的最大大小。以MB为单位。
该选项是可选的。范围:0-1024
默认值:1

DebugLevel
指定调试等级:

0 – basic information about starting and stopping of Zabbix processes

1 – critical information

2 – error information

3 – warnings

4 – for debugging (produces lots of information)

5 – extended debugging (produces even more information)

该参数是可选的
取值范围: 0-5
默认值:DebugLevel=3

LogRemoteCommands
将已执行的SHELL命令的值日志作为警告:

0 – disabled

1 – enabled

该参数是可选的

默认值:LogRemoteCommands=0

被动检查(Passive checks)的相关参数

被动模式中,是由 Server 访问 Agent 来获取数据。

Server
该参数指定允许访问的Server,多个Server之间使用逗号分隔。
如果支持IPV6,那么’127.0.0.1′, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’是等价的。
该参数是可选的
默认值:Server=
配置文件中:Server=127.0.0.1

ListenPort
监听的端口号码。用于Server连接。
该参数是可选的
取值范围:1024-32767
默认值:ListenPort=10050

ListenIP
Agent监听的IP地址。多个IP地址之间使用逗号分隔。
如果连接到Agent检索活动检查表。第一个IP地址发送到Zabbix Server。
该参数是可选的
默认值:ListenIP=0.0.0.0

StartAgents
被动模式中,预先产生的zabbix_agentd实例的个数。
该参数是可选的
取值范围: 0-100
默认值:StartAgents=3如果设置为0,则Zabbix Agent不监听任何TCP端口。如果在被动模式中设置了StartAgents为0,那么任何服务器都访问不到。

主动检查(Active checks)的相关参数

主动模式中,由Zabbix Agent主动向Zabbix Server发送数据。

ServerActive
用于接收数据的Zabbix Server列表。多个服务器之间用逗号分割。
格式:(IPAddress|Hostname)[:Port],端口号是可选的。如果未指定,则使用Zabbix Server默认端口。对于IPV6,如果指定了主机的端口,则IPv6地址必须用方括号括起来;如果未指定端口,则IPv6地址的方括号是可选的。例如:ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
该参数是可选的
默认值:ServerActive=
配置文件中默认:ServerActive=127.0.0.1
如果没有指定该参数,则会禁用主动模式 。

Hostname
唯一、大小写敏感的主机名。
需要主动检查,并且必须与Zabbix Server上配置的主机名匹配。如果未定义,则从HostnameItem获取值。
该参数是可选的
默认值:Hostname=
配置文件中默认:Hostname=Zabbix server

HostnameItem
用于生成Hostname(如果未定义)的项。如果定义了Hostname,则忽略它。不支持UserParameters或别名。
该参数是可选的
默认值:HostnameItem=system.hostname

HostMetadata
可选参数定义主机元数据主机元数据用于主机自动注册过程。如果值超过255个字符,代理将发出错误,而不启动。如果未定义,则将从HostMetadataItem获取值。
该参数是可选的
取值范围: 0-255 characters
默认值:HostMetadata=

HostMetadataItem
用于定义用于获取主机元数据的项。主机元数据用于主机自动注册过程。在自动注册请求期间,如果指定项返回的值超过255个字符,Agent将记录一条警告消息。仅当未定义HostMetadata时才使用此选项
该参数是可选的
默认值:HostMetadataItem=

RefreshActiveChecks
活动检查列表的刷新频率,以秒为单位。
该参数是可选的
取值范围: 60-3600
默认值:RefreshActiveChecks=120

BufferSend
不要在缓冲区中保留长于N秒的数据。
该参数是可选的
取值范围: 1-3600
默认值:BufferSend=5

BufferSize
内存缓冲区中的最大值。如果缓冲区已满,Agent将把所有收集的所有数据发送到Zabbix Server或Proxy。
该参数是可选的
取值范围: 2-65535
默认值:BufferSize=100

MaxLinesPerSecond
每秒总,Zabbix Agent发送给Zabbix Server或Proxy处理“日志”和“logrt”活动检查的最大行数。
该选项提供的值会被’log’或’logrt’项的键中提供的参数’maxlines’覆盖。
该参数是可选的
取值范围: 1-1000
默认值:MaxLinesPerSecond=20

高级参数

Alias
设置item key的别名。它可以用更小和更简单的来替代长和复杂的item key。
可能存在多个别名参数。具有相同别名key的多个参数是不允许的。
不同的别名key可以引用相同的item key。
例如,检索用户‘Zabbix’的ID:Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
现在的速记key zabbix.userid可以用来检索数据。
别名可以用在HostMetadataItem而不在hostnameitem参数。
该参数是可选的
取值范围:
默认值:

Timeout
花费不超过Timeout秒处理
该参数是可选的
取值范围: 1-30
默认值:Timeout=3

AllowRoot
允许Zabbix Agent以“root”运行。如果禁用,并且Zabbix Agent由“root”启动,则代理将尝试切换到User配置选项指定的用户。如果在普通用户下启动没有影响。
0 – do not allow
1 – allow
该参数是可选的
默认值:AllowRoot=0

User
放弃以特权用户启动,使用User指定的用户来启动。
只有以‘root’运行并且AllowRoot=0时,才有效。
该参数是可选的
默认值:User=zabbix

Include
在配置文件中,可以引入单个文件或目录中的所有配置文件。
安装Zabbix时,会在/usr/local/etc创建“引入目录”(除非修改在编译时)。
该参数是可选的
默认值:Include=
配置文件中的默认值:
Include=/usr/local/etc/zabbix_agentd.userparams.conf
Include=/usr/local/etc/zabbix_agentd.conf.d/
Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

用户定义的检测参数

UnsafeUserParameters
是否允许所有的字符参数传入用户定义的参数中。
这些参数属于不允许的:\ ‘ ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | @,除此之外还有换行符也不允许。
0 – do not allow
1 – allow
该参数是可选的
取值范围: 0-1
默认值:UnsafeUserParameters=0

UserParameter
用户自定义的监控参数。可以有几个用户定义的参数。
格式: UserParameter=<key>,<shell command>
示例位于源码目录/conf/zabbix_agentd文件夹中。
该参数是可选的
默认值:UserParameter=

模块加载的相关参数

LoadModulePath
Zabbix Agent模块的完整路径。默认值取决于编译选项,位于${libdir}/modules
该参数是可选的
默认值:LoadModulePath=${libdir}/modules

LoadModule
在Zabbix Agent启动时加载的模块。模块用于扩展Agent的功能。
格式: LoadModule=<module.so>
该模块必须位于指定的LoadModulePath目录。它可以包括多个LoadModule参数。
该参数是可选的
默认值:LoadModule=

TLS 相关的参数

TLSConnect
Agent如何去连接Server或Proxy。用于主动检查。只能指定如下中的一个值:

unencrypted – connect without encryption

psk – connect using TLS and a pre-shared key

cert – connect using TLS and a certificate

如果定义了TLS证书或PSK参数,那么该参数是必须的(即使使用’unencrypted’链接)

默认值:TLSConnect=unencrypted

TLSAccept
接受的连接类型。可以指定多个参数,且多个参数之间用逗号分割:

unencrypted – accept connections without encryption

psk – accept connections secured with TLS and a pre-shared key

cert – accept connections secured with TLS and a certificate

如果定义了TLS证书或PSK参数,那么该参数是必须的(即使使用’unencrypted’链接)

默认值:TLSAccept=unencrypted

TLSCAFile
用于对等证书验证的包含顶层文件CA(s)证书的完整路径名。
该参数是可选的
默认值:TLSCAFile=

TLSCRLFile
包含吊销证书的文件的完整路径名
该参数是可选的
默认值:TLSCRLFile=

TLSServerCertIssuer
允许服务器证书颁发者。
该参数是可选的
默认值:TLSServerCertIssuer=

TLSServerCertSubject
允许服务器证书主题。
该参数是可选的
默认值:TLSServerCertSubject=

TLSCertFile
包含代理的证书或证书链的文件的完整路径名。
该参数是可选的
默认值:TLSCertFile=

TLSKeyFile
包含Agent私钥的全路径名。
该参数是可选的
默认值:TLSKeyFile=

TLSPSKIdentity
用于区分预共享密钥的、唯一的、大小写敏感的字符串。
该参数是可选的
默认值:TLSPSKIdentity=

TLSPSKFile
包含预共享密钥文件的完整路径名。
该参数是可选的
默认值:TLSPSKFile=

参考文献

源码目录/conf/zabbix_agentd.conf
Manual:https://www.zabbix.com/documentation/3.2