1 Zabbix server

概述

本节列出了Zabbix服务器配置文件(zabbix_server.conf)中支持的参数. 请注意:

  • 默认值反映守护程序的默认值, 不是附带的配置文件中的值;

  • Zabbix只支持UTF-8编码的配置文件,不支持 BOM;

  • 以“#”开头的注释只支持在行首.

以下参数可以在Zabbix server配置文件中配置:

参数名称必须配置范围默认值描述信息
AlertScriptsPath/usr/local/share/zabbix/alertscripts自定义报警脚本位置 (依赖编译安装时的参数设置 datadir)。
AllowRoot0允许服务以 ‘root’身份运行。 如果该参数配置为禁止,并且服务仍以root身份启动,服务会切换到使用 ‘zabbix’用户启动 。 对于以普通用户启动的,该参数没有影响。
0 - 禁止
1 - 允许
从Zabbix 2.2.0以后的版本都支持这个参数
CacheSize128K-8G8M缓存大小, 单位为字节。
用于存储主机、监控项、触发器数据的共享内存大小。
Zabbix2.2.3以前的版本最大可配置值为2GB。
CacheUpdateFrequency1-360060Zabbix 配置缓存更新频率, 单位为秒.
另外参考 runtime control 选项。
DBHostlocalhost数据库主机名。
如果是MySQL localhost或空字符串会导致使用套接字。 如果是 PostgreSQL
只有空字符串会使用套接字。
DBName数据库名称。
DBPassword数据库登录密码。
如果数据库没有密码,请注释掉此参数。
DBPort1024-65535不使用本地套接字时的数据库端口。
DBSchema数据库Schema 名字。仅IBM DB2 和 PostgreSQL使用。
DBSocketMySQL套接字文件的路径。
DBUser数据库用户名。
DBTLSConnect设置此选项将强制使用TLS连接到数据库:
required - 使用TLS连接
verify_ca - 使用校验证书的TLS连接
verify_full - 使用校验证书的TLS连接,并验证DBHost指定的数据库标识是否与其证书匹配

从5.7.11开始的MySQL和PostgreSQL支持以下值: “required”, “verify_ca”, “verify_full”。 从版本10.2.6开始的 MariaDB 支持选项 “required” and “verify_full” 。
默认情况下不设置任何选项,连接行为取决于数据库配置。\
从Zabbix 5.0.0开始支持此参数。
DBTLSCAFile
(是, 如果 DBTLSConnect 设置为如下选项时: verify_ca, verify_full)
包含用于数据库证书验证的顶级CA证书文件的完整路径名。
从Zabbix 5.0.0开始支持此参数。
DBTLSCertFile用于对数据库进行身份验证的Zabbix服务器证书文件的完整路径名。
从Zabbix 5.0.0开始支持此参数。
DBTLSKeyFile用于对数据库进行身份验证的私钥文件的完整路径名。
从Zabbix 5.0.0开始支持此参数。
DBTLSCipherZabbix服务器允许TLS协议通过TLSv1.2的加密密码列表。
仅支持 MySQL.
从Zabbix 5.0.0开始支持此参数。
DBTLSCipher13Zabbix服务器允许TLSv1.3协议使用的加密密码套件列表。
仅支持 MySQL 8.0.16 以上版本。
从Zabbix 5.0.0开始支持此参数。
DebugLevel0-53指定调试等级:
0 - Zabbix进程的起停基本信息
1 - 严重(Critical)信息
2 - 错误(Error)信息
3 - 警告(Warning)信息
4 - 调试(Debug)信息 (产生大量信息)
5 - 扩展调试 (产生更多信息)
另外可参考 runtime control 选项。
ExportDir以换行符分隔的JSON格式实时导出事件, 历史数据和趋势数据到这个目录。如果设置,则启用实时导出数据到这个目录。
此参数从Zabbix 4.0.0开始支持。
ExportFileSize1M-1G1G每个导出文件的最大限制,单位为字节。仅当ExportDir参数设置后才使用,用于轮转生成导出的文件。
此参数从Zabbix 4.0.0开始支持。
ExportTypenoList of comma-delimited entity types (events, history, trends) for real-time export (all types by default). Valid only if ExportDir is set.
Note that if ExportType is specified, but ExportDir is not, then this is a configuration error and the server will not start.
e.g.:
ExportType=history,trends - export history and trends only
ExportType=events - export events only
This parameter is supported since Zabbix 5.0.10.
ExternalScripts/usr/local/share/zabbix/externalscripts外部脚本位置 (依赖编译安装时的环境变量datadir)。
Fping6Location/usr/sbin/fping6fping6程序的路径。
确保fping6程序的所有者是root用户,并且设置了SUID标记。
如果fping程序能够处理IPv6地址,就置空(“Fping6Location=”)参数 。
FpingLocation/usr/sbin/fpingfping程序的路径。
确保fping程序的所有者是root用户,并且设置了SUID标记。
HistoryCacheSize128K-2G16M历史缓存数据大小, 单位为字节。
HistoryIndexCacheSize128K-2G4M历史索引缓存大小, 单位为字节。\缓存一个item大概需要大小为100字节的空间。
该参数从Zabbix 3.0.0开始支持。
HistoryStorageDateIndex0启用历史数据预处理,可以将数据存储到不同的基于时间的索引:
0 - 禁止
1 - 允许
HistoryStorageURL历史数据存储 HTTP[S] URL,用于把历史数据存储到ElasticSearch。
这个参数参考 Elasticsearch进行配置。
HistoryStorageTypesuint,dbl,str,log,text以逗号分隔的列表配置哪些类型的历史数据需要存储到Elasticsearch。
这个参数参考 Elasticsearch 进行配置。
HousekeepingFrequency0-241Zabbix 执行 housekeeping 的频率 (单位为小时)。
housekeeping负责从数据库中删除过期的信息。
注意: 为了防止 housekeeper 负载过大 (例如, 当历史和趋势周期大大减小时), 对于每一个监控项,不会在一个housekeeping周期内删除超过4倍HousekeepingFrequency 的过期数据。 因此, 如果 HousekeepingFrequency 是 1小时, 一个周期内不会删除超过4小时的过期信息 (从最旧的数据开始) 。
备注: 为降低 server压力, housekeeping将在server启动以后,延迟30分钟执行。 因此, 如果 HousekeepingFrequency 是1小时,server启动30分后执行第一次 housekeeping , 然后按1小时为周期重复执行。从Zabbix 2.4.0以后有了这种延迟行为。
从Zabbix 3.0.0开始,可以设置HousekeepingFrequency为0来禁止自动housekeeping。 此时 housekeeping 只能通过 housekeeper_execute 启动, 在一个housuekeeping周期内删除的过期信息时长为从最后一次housekeeping以来到配置周期的4倍,不少于4小时且不大于4天。
也可参见运行控制 选项。
Include可以在配置文件中指定单个文件或者指定一个目录(所有文件在该目录中)。
只有在指定的目录中包含相关文件, 才可以使用正则匹配的通配符 。例如: /absolute/path/to/config/files/*.conf. Zabbix 2.4.0以后都支持模式匹配。
参看关于限制条件特例.
JavaGatewayZabbix Java 网关的IP 地址 (或主机名) 。
Java 轮询器启动时才需要该参数。
Zabbix 2.0.0以后的所有版本都支持该参数.
JavaGatewayPort1024-3276710052Zabbix Java 网关监听端口。
Zabbix 2.0.0以后的所有版本都支持该参数。
ListenIP0.0.0.0trapper监听的Ip地址,使用逗号进行分割。
如果没有设置该参数,会监听所有网络接口。
从Zabbix 1.8.3开始支持多Ip地址。
ListenPort1024-3276710051trapper监听端口。
LoadModuleserver端启动时加载的模块,这些模块用来扩展server的功能。
格式: LoadModule=<module.so>
这些模块必须在LoadModulePath参数指定的路径中。
允许多个 LoadModule 参数。
LoadModulePathserver 模块的绝对路径。
默认值在编译时指定。
LogFile是, 如果LogType设置为file, 否则为
日志文件名称。
LogFileSize0-10241日志文件大小,单位 MB。
0 - 禁止日志文件自动回滚.
注意: 如果日志文件达到限定的大小,文件回滚失败, 不管是什么原因, 现有的日志会被截断,并重新记录日志。
LogTypefile日志输出类型:
file - 写入LogFile 参数指定的日志文件中,
system - 写入syslog,
console - 控制台输出.
从Zabbix 3.0.0开始支持该参数。
LogSlowQueries0-36000000数据库查询消耗时间,大于该时间将会记入日志 (毫秒)。
0 - 不记录慢查询日志。
DebugLevel=3时该选项可用。
从Zabbix 1.8.2开始支持该参数
MaxHousekeeperDelete0-10000005000一个housekeeping周期内,一个任务删除的最大行数 (相应的表名,字段名,值)。
如果设置为0,不限制删除的行数,这种情况,你必须清楚这样做的影响!
从Zabbix 1.8.2 开始支持该参数,仅在对已经被删除的监控项进行历史和趋势数据删除操作时有效。
PidFile/tmp/zabbix_server.pidPID文件名称。
ProxyConfigFrequency1-6048003600Zabbix server 多少秒向Zabbix proxy 发送一次配置数据,用于被动模式的proxy 。
从Zabbix 1.8.3开始支持该参数。
ProxyDataFrequency1-36001Zabbix server 多少秒向Zabbix proxy请求一次历史数据, 用于被动模式的proxy。\从Zabbix 1.8.3开始支持该参数。
SNMPTrapperFile/tmp/zabbix_traps.tmp临时文件, 用于传递 SNMP trap守护进程的数据给server.
必须和 zabbix_trap_receiver.pl或 SNMPTT 配置文件中的配置保持一致。
从Zabbix 2.0.0开始支持该参数。
SocketDir/tmpZabbix 内部服务使用的,用于存储 IPC sockets的目录。从Zabbix 3.4.0开始支持该参数。
SourceIP对外连接的源IP地址。
SSHKeyLocationnoSSH检查和操作的公钥和私钥的位置。
SSLCertLocation用于客户端身份验证的SSL证书文件的位置。
该参数只用于web监控,从Zabbix 2.4开始支持该参数。
SSLKeyLocation用于客户端身份验证的SSL私钥文件的位置。
该参数只用于web监控,从Zabbix 2.4开始支持该参数。
SSLCALocation覆盖为SSL服务器证书验证,证书颁发机构(CA)文件的位置。如果不设置,系统范围的目录将被使用。
注意,这个参数的值将被设置为libcurl选项CURLOPT_CAPATH, 在7.42.0之前的libcurl版本中,只有使用OpenSSL编译libcurl才会有效。 更多信息见 cURL 网页.
这个参数从Zabbix 2.4.0开始的web监控和自从Zabbix 3.0.0开始的SMTP身份验证中使用。
StartDBSyncers1-1004数据库进程的初始实例数量。
在版本1.8.5之前,上限是64。
这个参数从Zabbix 1.8.3开始得到了支持。
StartAlerters1-1003报警进程的初始实例数量。
从Zabbix 3.4.0开始支持该参数。
StartDiscoverers0-2501发现进程的初始实例数量。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartEscalators1-1001escalators进程的初始实例数量。
从Zabbix 3.0.0开始支持该参数。
StartHTTPPollers0-10001HTTP 轮询进程的初始实例数量1.
在Zabbix 1.8.5版本之前,最大能设置为255。
StartIPMIPollers0-10000IPMI 轮询进程的初始实例数量。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartJavaPollers0-10000Java 轮询子进程的初始实例数量。1.
从Zabbix 2.0.0开始支持该参数。
StartLLDProcessorsno1-1002Number of pre-forked instances of low-level discovery (LLD) workers1.
The LLD manager process is automatically started when an LLD worker is started.
This parameter is supported since Zabbix 4.2.0.
StartPingers0-10001ICMP pingers进程的初始实例数量1.
在Zabbix 1.8.5版本之前,最大能设置为255。
StartPollersUnreachable0-10001不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。1.
从Zabbix 2.4.0开始,如果IPMI或Java轮询器启动,那么至少有一个针对不可访问主机的轮询进程必须运行。
在Zabbix 1.8.5版本之前,最大能设置为255。
这个参数从Zabbix 1.8.3版本缺失。
StartPollers0-10005轮询进程的初始实例数量。1.\注意如果要内部,聚合,计算的监控项能正常工作,这个参数值必须非0。
StartPreprocessors1-10003预处理工作进程的初始实例数量。\预处理管理进程将跟随预处理工作进程启动。1.
从Zabbix 3.4.0开始支持该参数。
StartProxyPollers0-2501被动proxy的轮询进程初始实例数量。1.\在Zabbix 1.8.5版本之前,最大能设置为255。
从Zabbix 1.8.3开始支持该参数。
StartSNMPTrapper0-10设置为1, SNMP trapper进程将启动。
从Zabbix 2.0.0开始支持该参数。
StartTimers1-10001计时器进程的初始实例数量。
计时器进程处理基于时间的触发器和维护期功能。
只有第一个计时器进程处理维护期。
从Zabbix 2.2.0开始支持该参数。
StartTrappers0-10005trapper进程的初始实例数量。1.
Trapper接收来自Zabbix发送者、主动agent和主动proxies的数据。
至少要运行一个trapper进程用于在web前端展示服务器可用性和队列视图。
在Zabbix 1.8.5版本之前,最大能设置为255。
StartVMwareCollectors0-2500vmware采集器进程的初始实例数量。\从Zabbix 2.2.0开始支持该参数。
StatsAllowedIP逗号分隔的IP地址列表,可选CIDR表示法, 或外部Zabbix实例的DNS名称. 只接受来自此处列出的地址的Stats请求。如果未设置此参数,则不接受stats请求。
如果启用IPv6支持,则’127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ 与’::/0’等价表示为允许任何IPv4或IPv6地址。’0.0.0.0/0’可用于允许任何IPv4地址。
示例: StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
从Zabbix 4.2.0开始支持此参数。
Timeout1-303agent, SNMP设备或外部检查的超时时长(单位为秒)。
TLSCAFile包含用于对等证书验证的顶级CA(s)证书的文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSCertFile包含服务器证书或证书链文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSCipherAllGnuTLS优先级字符串或OpenSSL(TLS 1.2)密码字符串。 覆盖基于证书和PSK的加密的默认密码套件选择标准。
例如: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
从Zabbix 4.4.7开始支持此参数。
TLSCipherAll13TLS 1.3中OpenSSL 1.1.1或更新版本的密码字符串。 覆盖基于证书和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开始支持此参数。
TLSCipherCertGnuTLS优先级字符串或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开始支持此参数。
TLSCipherCert13TLS 1.3中OpenSSL 1.1.1或更新版本的密码字符串。覆盖基于证书的加密的默认密码套件选择标准。
从Zabbix 4.4.7开始支持此参数。
TLSCipherPSKGnuTLS优先级字符串或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开始支持此参数。
TLSCipherPSK13TLS 1.3中OpenSSL 1.1.1或更新版本的密码字符串。覆盖基于PSK的加密的默认密码套件选择标准。
示例: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
从Zabbix 4.4.7开始支持此参数。
TLSCRLFile包含已吊销证书文件的完整路径名, 用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TLSKeyFile包含私钥文件的完整路径名,用于Zabbix组件之间的加密通信。
从Zabbix 3.0.0开始支持该参数。
TmpDir/tmp临时目录。
TrapperTimeout1-300300定义trapper处理数据的超时时间。
TrendCacheSize128K-2G4M趋势数据缓存大小,单位字节。
用于存储趋势数据的共享内存大小。
UnavailableDelay1-360060在资源不可用期间,Zabbix多少秒检查一次资源是否可用。
UnreachableDelay1-360015在资源不可达期间 ,Zabbix多少秒检查一次资源是否可达。
UnreachablePeriod1-360045在主机 不可用多少秒后,即视为主机不可用。
Userzabbix降低系统某普通用户的权限。
仅当以’root’身份运行且AllowRoot参数设置为禁止时,该参数才起作用。
从Zabbix 2.4.0开始支持该参数。
ValueCacheSize0,128K-64G8M
VMwareCacheSize256K-2G8M存储VMware数据的共享内存大小。
VMware内部检查[vmware,buffer,…] 可以用来监控VMware缓存使用情况 (参见 内部检查)。
注意,如果没有配置并启动vmware收集器实例,那么共享内存就不会被分配。\从Zabbix 2.2.0开始支持该参数。
VMwareFrequency10-8640060间隔多少秒从单个VMware服务收集数据。\任何VMware监控项的最小更新周期都大于或等于该时间。
从Zabbix 2.2.0开始支持该参数。
VMwarePerfFrequency10-8640060间隔多少秒从单个VMware服务检索性能计数器统计数据。
该时间为任一VMware 监控项(使用VMware性能计数器)的最小更新间隔。
从Zabbix 2.2.9, 2.4.4开始支持该参数。
VMwareTimeout1-30010vmware采集器等待 VMware 服务(vCenter or ESX 管理程序)响应的最大时长。
从Zabbix 2.2.9, 2.4.4开始支持该参数。
注脚

1 请注意,太多的数据采集进程 (pollers, unreachable pollers, HTTP pollers, Java pollers, pingers, trappers, proxypollers) 与 IPMI manager , SNMP trapper 和预处理工作进程(preprocessing workers)一起会耗尽预处理管理器的每进程文件描述符限制。

这将导致Zabbix服务器停止(通常在启动后不久,但有时可能需要更多时间), 应修改配置文件或提高限制以避免这种情况。

2 当大量监控项被删除时,会增加数据库的负载, 因为housekeeper需要删除这些监控项的所有历史数据。例如, 如果我们只需要删除一个监控项原型,但是这个原型链接到50个主机,每个主机的原型扩展到100个真实的监控项,总共需要删除5000个监控项(1*50*100)。 如果MaxHousekeeperDelete设置了500(MaxHousekeeperDelete=500),则housekeeper进程必须在一个周期内从history和trends表中删除多达2500000个值(5000*500)。