1 Zabbix server
概述
本节列出了Zabbix服务器配置文件(zabbix_server.conf)中支持的参数. 请注意:
默认值反映守护程序的默认值, 不是附带的配置文件中的值;
Zabbix只支持UTF-8编码的配置文件,不支持 BOM;
以“#”开头的注释只支持在行首.
以下参数可以在Zabbix server配置文件中配置:
参数名称 | 必须配置 | 范围 | 默认值 | 描述信息 |
---|---|---|---|---|
AlertScriptsPath | 否 | /usr/local/share/zabbix/alertscripts | 自定义报警脚本位置 (依赖编译安装时的参数设置 datadir)。 | |
AllowRoot | 否 | 0 | 允许服务以 ‘root’身份运行。 如果该参数配置为禁止,并且服务仍以root身份启动,服务会切换到使用 ‘zabbix’用户启动 。 对于以普通用户启动的,该参数没有影响。 0 - 禁止 1 - 允许 从Zabbix 2.2.0以后的版本都支持这个参数 | |
CacheSize | 否 | 128K-8G | 8M | 缓存大小, 单位为字节。 用于存储主机、监控项、触发器数据的共享内存大小。 Zabbix2.2.3以前的版本最大可配置值为2GB。 |
CacheUpdateFrequency | 否 | 1-3600 | 60 | Zabbix 配置缓存更新频率, 单位为秒. 另外参考 runtime control 选项。 |
DBHost | 否 | localhost | 数据库主机名。 如果是MySQL localhost或空字符串会导致使用套接字。 如果是 PostgreSQL 只有空字符串会使用套接字。 | |
DBName | 是 | 数据库名称。 | ||
DBPassword | 否 | 数据库登录密码。 如果数据库没有密码,请注释掉此参数。 | ||
DBPort | 否 | 1024-65535 | 不使用本地套接字时的数据库端口。 | |
DBSchema | 否 | 数据库Schema 名字。仅IBM DB2 和 PostgreSQL使用。 | ||
DBSocket | 否 | MySQL套接字文件的路径。 | ||
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开始支持此参数。 | ||
DBTLSCipher | 否 | Zabbix服务器允许TLS协议通过TLSv1.2的加密密码列表。 仅支持 MySQL. 从Zabbix 5.0.0开始支持此参数。 | ||
DBTLSCipher13 | 否 | Zabbix服务器允许TLSv1.3协议使用的加密密码套件列表。 仅支持 MySQL 8.0.16 以上版本。 从Zabbix 5.0.0开始支持此参数。 | ||
DebugLevel | 否 | 0-5 | 3 | 指定调试等级: 0 - Zabbix进程的起停基本信息 1 - 严重(Critical)信息 2 - 错误(Error)信息 3 - 警告(Warning)信息 4 - 调试(Debug)信息 (产生大量信息) 5 - 扩展调试 (产生更多信息) 另外可参考 runtime control 选项。 |
ExportDir | 否 | 以换行符分隔的JSON格式实时导出事件, 历史数据和趋势数据到这个目录。如果设置,则启用实时导出数据到这个目录。 此参数从Zabbix 4.0.0开始支持。 | ||
ExportFileSize | 否 | 1M-1G | 1G | 每个导出文件的最大限制,单位为字节。仅当ExportDir参数设置后才使用,用于轮转生成导出的文件。 此参数从Zabbix 4.0.0开始支持。 |
ExportType | no | List 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/fping6 | fping6程序的路径。 确保fping6程序的所有者是root用户,并且设置了SUID标记。 如果fping程序能够处理IPv6地址,就置空(“Fping6Location=”)参数 。 | |
FpingLocation | 否 | /usr/sbin/fping | fping程序的路径。 确保fping程序的所有者是root用户,并且设置了SUID标记。 | |
HistoryCacheSize | 否 | 128K-2G | 16M | 历史缓存数据大小, 单位为字节。 |
HistoryIndexCacheSize | 否 | 128K-2G | 4M | 历史索引缓存大小, 单位为字节。\缓存一个item大概需要大小为100字节的空间。 该参数从Zabbix 3.0.0开始支持。 |
HistoryStorageDateIndex | 否 | 0 | 启用历史数据预处理,可以将数据存储到不同的基于时间的索引: 0 - 禁止 1 - 允许 | |
HistoryStorageURL | 否 | 历史数据存储 HTTP[S] URL,用于把历史数据存储到ElasticSearch。 这个参数参考 Elasticsearch进行配置。 | ||
HistoryStorageTypes | 否 | uint,dbl,str,log,text | 以逗号分隔的列表配置哪些类型的历史数据需要存储到Elasticsearch。 这个参数参考 Elasticsearch 进行配置。 | |
HousekeepingFrequency | 否 | 0-24 | 1 | Zabbix 执行 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以后都支持模式匹配。参看关于限制条件特例. | ||
JavaGateway | 否 | Zabbix Java 网关的IP 地址 (或主机名) 。 Java 轮询器启动时才需要该参数。 Zabbix 2.0.0以后的所有版本都支持该参数. | ||
JavaGatewayPort | 否 | 1024-32767 | 10052 | Zabbix Java 网关监听端口。 Zabbix 2.0.0以后的所有版本都支持该参数。 |
ListenIP | 否 | 0.0.0.0 | trapper监听的Ip地址,使用逗号进行分割。 如果没有设置该参数,会监听所有网络接口。 从Zabbix 1.8.3开始支持多Ip地址。 | |
ListenPort | 否 | 1024-32767 | 10051 | trapper监听端口。 |
LoadModule | 否 | server端启动时加载的模块,这些模块用来扩展server的功能。 格式: LoadModule=<module.so> 这些模块必须在LoadModulePath参数指定的路径中。 允许多个 LoadModule 参数。 | ||
LoadModulePath | 否 | server 模块的绝对路径。 默认值在编译时指定。 | ||
LogFile | 是, 如果LogType设置为file, 否则为 否 | 日志文件名称。 | ||
LogFileSize | 否 | 0-1024 | 1 | 日志文件大小,单位 MB。 0 - 禁止日志文件自动回滚. 注意: 如果日志文件达到限定的大小,文件回滚失败, 不管是什么原因, 现有的日志会被截断,并重新记录日志。 |
LogType | 否 | file | 日志输出类型: file - 写入LogFile 参数指定的日志文件中, system - 写入syslog, console - 控制台输出. 从Zabbix 3.0.0开始支持该参数。 | |
LogSlowQueries | 否 | 0-3600000 | 0 | 数据库查询消耗时间,大于该时间将会记入日志 (毫秒)。 0 - 不记录慢查询日志。 DebugLevel=3时该选项可用。 从Zabbix 1.8.2开始支持该参数 |
MaxHousekeeperDelete | 否 | 0-1000000 | 5000 | 一个housekeeping周期内,一个任务删除的最大行数 (相应的表名,字段名,值)。 如果设置为0,不限制删除的行数,这种情况,你必须清楚这样做的影响! 从Zabbix 1.8.2 开始支持该参数,仅在对已经被删除的监控项进行历史和趋势数据删除操作时有效。 |
PidFile | 否 | /tmp/zabbix_server.pid | PID文件名称。 | |
ProxyConfigFrequency | 否 | 1-604800 | 3600 | Zabbix server 多少秒向Zabbix proxy 发送一次配置数据,用于被动模式的proxy 。 从Zabbix 1.8.3开始支持该参数。 |
ProxyDataFrequency | 否 | 1-3600 | 1 | Zabbix 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 | 否 | /tmp | Zabbix 内部服务使用的,用于存储 IPC sockets的目录。从Zabbix 3.4.0开始支持该参数。 | |
SourceIP | 否 | 对外连接的源IP地址。 | ||
SSHKeyLocation | no | SSH检查和操作的公钥和私钥的位置。 | ||
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身份验证中使用。 | ||
StartDBSyncers | 否 | 1-100 | 4 | 数据库进程的初始实例数量。 在版本1.8.5之前,上限是64。 这个参数从Zabbix 1.8.3开始得到了支持。 |
StartAlerters | 否 | 1-100 | 3 | 报警进程的初始实例数量。 从Zabbix 3.4.0开始支持该参数。 |
StartDiscoverers | 否 | 0-250 | 1 | 发现进程的初始实例数量。 在Zabbix 1.8.5版本之前,最大能设置为255。 |
StartEscalators | 否 | 1-100 | 1 | escalators进程的初始实例数量。 从Zabbix 3.0.0开始支持该参数。 |
StartHTTPPollers | 否 | 0-1000 | 1 | HTTP 轮询进程的初始实例数量1. 在Zabbix 1.8.5版本之前,最大能设置为255。 |
StartIPMIPollers | 否 | 0-1000 | 0 | IPMI 轮询进程的初始实例数量。 在Zabbix 1.8.5版本之前,最大能设置为255。 |
StartJavaPollers | 否 | 0-1000 | 0 | Java 轮询子进程的初始实例数量。1. 从Zabbix 2.0.0开始支持该参数。 |
StartLLDProcessors | no | 1-100 | 2 | Number 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. |
StartPingers | 否 | 0-1000 | 1 | ICMP pingers进程的初始实例数量1. 在Zabbix 1.8.5版本之前,最大能设置为255。 |
StartPollersUnreachable | 否 | 0-1000 | 1 | 不可达主机 (包括IPMI 和 Java)的轮询进程的初始实例数量。1. 从Zabbix 2.4.0开始,如果IPMI或Java轮询器启动,那么至少有一个针对不可访问主机的轮询进程必须运行。 在Zabbix 1.8.5版本之前,最大能设置为255。 这个参数从Zabbix 1.8.3版本缺失。 |
StartPollers | 否 | 0-1000 | 5 | 轮询进程的初始实例数量。1.\注意如果要内部,聚合,计算的监控项能正常工作,这个参数值必须非0。 |
StartPreprocessors | 否 | 1-1000 | 3 | 预处理工作进程的初始实例数量。\预处理管理进程将跟随预处理工作进程启动。1. 从Zabbix 3.4.0开始支持该参数。 |
StartProxyPollers | 否 | 0-250 | 1 | 被动proxy的轮询进程初始实例数量。1.\在Zabbix 1.8.5版本之前,最大能设置为255。 从Zabbix 1.8.3开始支持该参数。 |
StartSNMPTrapper | 否 | 0-1 | 0 | 设置为1, SNMP trapper进程将启动。 从Zabbix 2.0.0开始支持该参数。 |
StartTimers | 否 | 1-1000 | 1 | 计时器进程的初始实例数量。 计时器进程处理基于时间的触发器和维护期功能。 只有第一个计时器进程处理维护期。 从Zabbix 2.2.0开始支持该参数。 |
StartTrappers | 否 | 0-1000 | 5 | trapper进程的初始实例数量。1. Trapper接收来自Zabbix发送者、主动agent和主动proxies的数据。 至少要运行一个trapper进程用于在web前端展示服务器可用性和队列视图。 在Zabbix 1.8.5版本之前,最大能设置为255。 |
StartVMwareCollectors | 否 | 0-250 | 0 | vmware采集器进程的初始实例数量。\从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开始支持此参数。 | ||
Timeout | 否 | 1-30 | 3 | agent, SNMP设备或外部检查的超时时长(单位为秒)。 |
TLSCAFile | 否 | 包含用于对等证书验证的顶级CA(s)证书的文件的完整路径名,用于Zabbix组件之间的加密通信。 从Zabbix 3.0.0开始支持该参数。 | ||
TLSCertFile | 否 | 包含服务器证书或证书链文件的完整路径名,用于Zabbix组件之间的加密通信。 从Zabbix 3.0.0开始支持该参数。 | ||
TLSCipherAll | 否 | GnuTLS优先级字符串或OpenSSL(TLS 1.2)密码字符串。 覆盖基于证书和PSK的加密的默认密码套件选择标准。 例如: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 从Zabbix 4.4.7开始支持此参数。 | ||
TLSCipherAll13 | 否 | TLS 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开始支持此参数。 | ||
TLSCipherCert | 否 | GnuTLS优先级字符串或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开始支持此参数。 | ||
TLSCipherCert13 | 否 | TLS 1.3中OpenSSL 1.1.1或更新版本的密码字符串。覆盖基于证书的加密的默认密码套件选择标准。 从Zabbix 4.4.7开始支持此参数。 | ||
TLSCipherPSK | 否 | GnuTLS优先级字符串或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开始支持此参数。 | ||
TLSCipherPSK13 | 否 | TLS 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 | 临时目录。 | |
TrapperTimeout | 否 | 1-300 | 300 | 定义trapper处理数据的超时时间。 |
TrendCacheSize | 否 | 128K-2G | 4M | 趋势数据缓存大小,单位字节。 用于存储趋势数据的共享内存大小。 |
UnavailableDelay | 否 | 1-3600 | 60 | 在资源不可用期间,Zabbix多少秒检查一次资源是否可用。 |
UnreachableDelay | 否 | 1-3600 | 15 | 在资源不可达期间 ,Zabbix多少秒检查一次资源是否可达。 |
UnreachablePeriod | 否 | 1-3600 | 45 | 在主机 不可用多少秒后,即视为主机不可用。 |
User | 否 | zabbix | 降低系统某普通用户的权限。 仅当以’root’身份运行且AllowRoot参数设置为禁止时,该参数才起作用。 从Zabbix 2.4.0开始支持该参数。 | |
ValueCacheSize | 否 | 0,128K-64G | 8M | |
VMwareCacheSize | 否 | 256K-2G | 8M | 存储VMware数据的共享内存大小。 VMware内部检查[vmware,buffer,…] 可以用来监控VMware缓存使用情况 (参见 内部检查)。 注意,如果没有配置并启动vmware收集器实例,那么共享内存就不会被分配。\从Zabbix 2.2.0开始支持该参数。 |
VMwareFrequency | 否 | 10-86400 | 60 | 间隔多少秒从单个VMware服务收集数据。\任何VMware监控项的最小更新周期都大于或等于该时间。 从Zabbix 2.2.0开始支持该参数。 |
VMwarePerfFrequency | 否 | 10-86400 | 60 | 间隔多少秒从单个VMware服务检索性能计数器统计数据。 该时间为任一VMware 监控项(使用VMware性能计数器)的最小更新间隔。 从Zabbix 2.2.9, 2.4.4开始支持该参数。 |
VMwareTimeout | 否 | 1-300 | 10 | vmware采集器等待 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)。