1 Zabbix 服务器

概述

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

  • 默认值反映的是守护进程的默认值,而不是附带的配置文件中的值;
  • Zabbix 仅支持 UTF-8 编码的配置文件,不支持 BOM 格式;
  • 以 “#” 开头的注释只支持在行首。

Parameter details

AlertScriptsPath

The location of custom alert scripts (depends on the datadir compile-time installation variable).

Default: /usr/local/share/zabbix/alertscripts

AllowRoot

Allow the server to run as ‘root’. If disabled and the server is started by ‘root’, the server will try to switch to the ‘zabbix’ user instead. Has no effect if started under a regular user.

Default: 0 | Values: 0 - do not allow; 1 - allow

AllowUnsupportedDBVersions

Allow the server to work with unsupported database versions.

Default: 0 | Values: 0 - do not allow; 1 - allow

CacheSize

The size of the configuration cache, in bytes. The shared memory size for storing host, item and trigger data.

Default: 32M | Range: 128K-64G

CacheUpdateFrequency

This parameter determines how often Zabbix will perform the configuration cache update in seconds. See also runtime control options.

Default: 10 | Range: 1-3600

DBHost

The database host name.
With MySQL localhost or empty string results in using a socket. With PostgreSQL only empty string results in attempt to use socket. With Oracle empty string results in using the Net Service Name connection method; in this case consider using the TNS_ADMIN environment variable to specify the directory of the tnsnames.ora file.

Default: localhost

DBName

The database name.
With Oracle, if the Net Service Name connection method is used, specify the service name from tnsnames.ora or set to empty string; set the TWO_TASK environment variable if DBName is set to empty string.

Mandatory: Yes

DBPassword

The database password. Comment this line if no password is used.

DBPort

The database port when not using local socket.
With Oracle, if the Net Service Name connection method is used, this parameter will be ignored; the port number from the tnsnames.ora file will be used instead.

Range: 1024-65535

DBSchema

The database schema name. Used for PostgreSQL.

DBSocket

The path to the MySQL socket file.

DBUser

The database user.

DBTLSConnect

Setting this option to the following values enforces to use a TLS connection to the database:
required - connect using TLS
verify_ca - connect using TLS and verify certificate
verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost matches its certificate

With MySQL, starting from 5.7.11, and PostgreSQL the following values are supported: required, verify\_ca, verify\_full.
With MariaDB, starting from version 10.2.6, the required and verify\_full values are supported.
By default not set to any option and the behavior depends on database configuration.

DBTLSCAFile

The full pathname of a file containing the top-level CA(s) certificates for database certificate verification.

Mandatory: no (yes, if DBTLSConnect set to verify_ca or verify_full)

DBTLSCertFile

The full pathname of a file containing the Zabbix server certificate for authenticating to database.

DBTLSKeyFile

The full pathname of a file containing the private key for authenticating to database.

DBTLSCipher

The list of encryption ciphers that Zabbix server permits for TLS protocols up through TLS v1.2. Supported only for MySQL.

DBTLSCipher13

The list of encryption ciphersuites that Zabbix server permits for the TLS v1.3 protocol. Supported only for MySQL, starting from version 8.0.16.

DebugLevel

Specify the debug level:
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).
See also runtime control options.

Default: 3 | Range: 0-5

ExportDir

The directory for real-time export of events, history and trends in newline-delimited JSON format. If set, enables the real-time export.

ExportFileSize

The maximum size per export file in bytes. Used for rotation if ExportDir is set.

Default: 1G | Range: 1M-1G

ExportType

The 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.

Example for history and trends export:

  1. ExportType=history,trends

Example for event export only:

  1. ExportType=events
ExternalScripts

The location of external scripts (depends on the datadir compile-time installation variable).

Default: /usr/local/share/zabbix/externalscripts

Fping6Location

The location of fping6. Make sure that the fping6 binary has root ownership and the SUID flag set. Make empty (“Fping6Location=”) if your fping utility is capable to process IPv6 addresses.

Default: /usr/sbin/fping6

FpingLocation

The location of fping. Make sure that the fping binary has root ownership and the SUID flag set.

Default: /usr/sbin/fping

HANodeName

The high availability cluster node name. When empty the server is working in standalone mode and a node with empty name is created.

HistoryCacheSize

The size of the history cache, in bytes. The shared memory size for storing history data.

Default: 16M | Range: 128K-2G

HistoryIndexCacheSize

The size of the history index cache, in bytes. The shared memory size for indexing the history data stored in history cache. The index cache size needs roughly 100 bytes to cache one item.

Default: 4M | Range: 128K-2G

HistoryStorageDateIndex

Enable preprocessing of history values in history storage to store values in different indices based on date.

Default: 0 | Values: 0 - disable; 1 - enable

HistoryStorageURL

The history storage HTTP[S] URL. This parameter is used for Elasticsearch setup.

HistoryStorageTypes

A comma-separated list of value types to be sent to the history storage. This parameter is used for Elasticsearch setup.

Default: uint,dbl,str,log,text

HousekeepingFrequency

This parameter determines how often Zabbix will perform the housekeeping procedure in hours. Housekeeping is removing outdated information from the database.
Note: To prevent housekeeper from being overloaded (for example, when history and trend periods are greatly reduced), no more than 4 times HousekeepingFrequency hours of outdated information are deleted in one housekeeping cyc,le, for each item. Thus, if HousekeepingFrequency is 1, no more than 4 hours of outdated information (starting from the oldest entry) will be deleted per cycle.
Note: To lower load on server startup housekeeping is postponed for 30 minutes after server start. Thus, if HousekeepingFrequency is 1, the very first housekeeping procedure after server start will run after 30 minutes, and will repeat with one hour delay thereafter.
It is possible to disable automatic housekeeping by setting HousekeepingFrequency to 0. In this case the housekeeping procedure can only be started by housekeeper_execute runtime control option and the period of outdated information deleted in one housekeeping cycle is 4 times the period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days.
See also runtime control options.

Default: 1 | Range: 0-24

Include

You may include individual files or all files in a directory in the configuration file. To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. See special notes about limitations.

Example:

  1. Include=/absolute/path/to/config/files/*.conf
JavaGateway

The IP address (or hostname) of Zabbix Java gateway. Only required if Java pollers are started.

JavaGatewayPort

The port that Zabbix Java gateway listens on.

Default: 10052 | Range: 1024-32767

ListenBacklog

The maximum number of pending connections in the TCP queue.
The default value is a hard-coded constant, which depends on the system.
The maximum supported value depends on the system, too high values may be silently truncated to the ‘implementation-specified maximum’.

Default: SOMAXCONN | Range: 0 - INT_MAX

ListenIP

A list of comma-delimited IP addresses that the trapper should listen on.
Trapper will listen on all network interfaces if this parameter is missing.

Default: 0.0.0.0

ListenPort

The listen port for trapper.

Default: 10051 | Range: 1024-32767

LoadModule

The module to load at server startup. Modules are used to extend the functionality of the server. The module must be located in the directory specified by LoadModulePath or the path must precede the module name. If the preceding path is absolute (starts with ‘/‘) then LoadModulePath is ignored.
Formats:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
It is allowed to include multiple LoadModule parameters.

LoadModulePath

Full path to location of server modules.
Default depends on compilation options.

LogFile

Name of the log file.

Mandatory: Yes, if LogType is set to file; otherwise no

LogFileSize

Maximum size of the log file in MB.
0 - disable automatic log rotation.
Note: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.

Default: 1 | Range: 0-1024 | Mandatory: Yes, if LogType is set to file; otherwise no

LogSlowQueries

Determines how long a database query may take before being logged in milliseconds.
0 - don’t log slow queries.
This option becomes enabled starting with DebugLevel=3.

Default: 0 | Range: 0-3600000

LogType

Type of the log output:
file - write log to file specified by LogFile parameter;
system - write log to syslog;
console - write log to standard output.

Default: file

MaxHousekeeperDelete

No more than ‘MaxHousekeeperDelete’ rows (corresponding to [tablename], [field], [value]) will be deleted per one task in one housekeeping cycle.
If set to 0 then no limit is used at all. In this case you must know what you are doing, so as not to overload the database! 2
This parameter applies only to deleting history and trends of already deleted items.

Default: 5000 | Range: 0-1000000

NodeAddress

IP or hostname with optional port to override how the frontend should connect to the server.
Format: <address>[:<port>]

The priority of addresses used by the frontend to specify the server address is:
- the address specified in NodeAddress (1)
- ListenIP (if not 0.0.0.0 or ::) (2)
- localhost (default) (3)
The priority of ports used by the frontend to specify the server port is:
- the port specified in NodeAddress (1)
- ListenPort (2)
- 10051 (default) (3)
See also: HANodeName parameter; Enabling high availability.

Default: ‘localhost:10051’

PidFile

Name of the PID file.

Default: /tmp/zabbix\_server.pid

ProblemHousekeepingFrequency

Determines how often Zabbix will delete problems for deleted triggers in seconds.

Default: 60 | Range: 1-3600

ProxyConfigFrequency

Determines how often Zabbix server sends configuration data to a Zabbix proxy in seconds. Used only for proxies in a passive mode.

Default: 10 | Range: 1-604800

ProxyDataFrequency

Determines how often Zabbix server requests history data from a Zabbix proxy in seconds. Used only for proxies in the passive mode.

Default: 1 | Range: 1-3600

ServiceManagerSyncFrequency

Determines how often Zabbix will synchronize the configuration of a service manager in seconds.

Default: 60 | Range: 1-3600

SNMPTrapperFile

Temporary file used for passing data from the SNMP trap daemon to the server.
Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.

Default: /tmp/zabbix\_traps.tmp

SocketDir

Directory to store IPC sockets used by internal Zabbix services.

Default: /tmp

SourceIP

Source IP address for:
- outgoing connections to Zabbix proxy and Zabbix agent;
- agentless connections (VMware, SSH, JMX, SNMP, Telnet and simple checks);
- HTTP agent connections;
- script item JavaScript HTTP requests;
- preprocessing JavaScript HTTP requests;
- sending notification emails (connections to SMTP server);
- webhook notifications (JavaScript HTTP connections);
- connections to the Vault

SSHKeyLocation

Location of public and private keys for SSH checks and actions.

SSLCertLocation

Location of SSL client certificate files for client authentication.
This parameter is used in web monitoring only.

SSLKeyLocation

Location of SSL private key files for client authentication.
This parameter is used in web monitoring only.

SSLCALocation

Override the location of certificate authority (CA) files for SSL server certificate verification. If not set, system-wide directory will be used.
Note that the value of this parameter will be set as libcurl option CURLOPT_CAPATH. For libcurl versions before 7.42.0, this only has effect if libcurl was compiled to use OpenSSL. For more information see cURL web page.
This parameter is used in web monitoring and in SMTP authentication.

StartAlerters

The number of pre-forked instances of alerters.

Default: 3 | Range: 1-100

StartConnectors

The number of pre-forked instances of connector workers. The connector manager process is started automatically when a connector worker is started.

Range: 0-1000

StartDBSyncers

The number of pre-forked instances of history syncers.
Note: Be careful when changing this value, increasing it may do more harm than good. Roughly, the default value should be enough to handle up to 4000 NVPS.

Default: 4 | Range: 1-100

StartDiscoverers

The number of pre-forked instances of discoverers.

Default: 1 | Range: 0-250

StartEscalators

The number of pre-forked instances of escalators.

Default: 1 | Range: 1-100

StartHistoryPollers

The number of pre-forked instances of history pollers.
Only required for calculated checks.

Default: 5 | Range: 0-1000

StartHTTPPollers

The number of pre-forked instances of HTTP pollers1.

Default: 1 | Range: 0-1000

StartIPMIPollers

The number of pre-forked instances of IPMI pollers.

Default: 0 | Range: 0-1000

StartJavaPollers

The number of pre-forked instances of Java pollers1.

Default: 0 | Range: 0-1000

StartLLDProcessors

The number of pre-forked instances of low-level discovery (LLD) workers1.
The LLD manager process is automatically started when an LLD worker is started.

Default: 2 | Range: 0-100

StartODBCPollers

The number of pre-forked instances of ODBC pollers1.

Default: 1 | Range: 0-1000

StartPingers

The number of pre-forked instances of ICMP pingers1.

Default: 1 | Range: 0-1000

StartPollersUnreachable

The number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java)1.
At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers are started.

Default: 1 | Range: 0-1000

StartPollers

The number of pre-forked instances of pollers1.

Default: 5 | Range: 0-1000

StartPreprocessors

The number of pre-forked instances of preprocessing workers1.
The preprocessing manager process is automatically started when a preprocessor worker is started.

Default: 3 | Range: 1-1000

StartProxyPollers

The number of pre-forked instances of pollers for passive proxies1.

Default: 1 | Range: 0-250

StartReportWriters

The number of pre-forked instances of report writers.
If set to 0, scheduled report generation is disabled.
The report manager process is automatically started when a report writer is started.

Default: 0 | Range: 0-100

StartSNMPTrapper

If set to 1, an SNMP trapper process will be started.

Default: 0 | Range: 0-1

StartTimers

The number of pre-forked instances of timers.
Timers process maintenance periods.

Default: 1 | Range: 1-1000

StartTrappers

The number of pre-forked instances of trappers1.
Trappers accept incoming connections from Zabbix sender, active agents and active proxies.

Default: 5 | Range: 1-1000

StartVMwareCollectors

The number of pre-forked VMware collector instances.

Default: 0 | Range: 0-250

StatsAllowedIP

List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of external Zabbix instances. Stats request will be accepted only from the addresses listed here. If this parameter is not set no stats requests will be accepted.
If IPv6 support is enabled then ‘127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ are treated equally and ‘::/0’ will allow any IPv4 or IPv6 address. ‘0.0.0.0/0’ can be used to allow any IPv4 address.

Example:

  1. StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Timeout

Specifies how long we wait for agent, SNMP device or external check in seconds.

Default: 3 | Range: 1-30

TLSCAFile

Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.

TLSCertFile

Full pathname of a file containing the server certificate or certificate chain, used for encrypted communications between Zabbix components.

TLSCipherAll

GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.

Example:

  1. TLS\_AES\_256\_GCM\_SHA384:TLS\_CHACHA20\_POLY1305\_SHA256:TLS\_AES\_128\_GCM\_SHA256
TLSCipherAll13

Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.

Example for GnuTLS:

  1. 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

Example for OpenSSL:

  1. EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
TLSCipherCert

GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.

Example for GnuTLS:

  1. 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

Example for OpenSSL:

  1. EECDH+aRSA+AES128:RSA+aRSA+AES128
TLSCipherCert13

Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.

TLSCipherPSK

GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.

Example for GnuTLS:

  1. NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL

Example for OpenSSL:

  1. kECDHEPSK+AES128:kPSK+AES128
TLSCipherPSK13

Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.

Example:

  1. TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
TLSCRLFile

Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications between Zabbix components.

TLSKeyFile

Full pathname of a file containing the server private key, used for encrypted communications between Zabbix components.

TmpDir

Temporary directory.

Default: /tmp

TrapperTimeout

Specifies how many seconds the trapper may spend processing new data.

Default: 300 | Range: 1-300

TrendCacheSize

Size of the trend cache, in bytes.
The shared memory size for storing trends data.

Default: 4M | Range: 128K-2G

TrendFunctionCacheSize

Size of the trend function cache, in bytes.
The shared memory size for caching calculated trend function data.

Default: 4M | Range: 128K-2G

UnavailableDelay

Determines how often host is checked for availability during the unavailability period in seconds.

Default: 60 | Range: 1-3600

UnreachableDelay

Determines how often host is checked for availability during the unreachability period in seconds.

Default: 15 | Range: 1-3600

UnreachablePeriod

Determines after how many seconds of unreachability treats a host as unavailable.

Default: 45 | Range: 1-3600

User

Drop privileges to a specific, existing user on the system.
Only has effect if run as ‘root’ and AllowRoot is disabled.

Default: zabbix

ValueCacheSize

Size of the history value cache, in bytes.
The shared memory size for caching item history data requests.
Setting to 0 disables the value cache (not recommended).
When the value cache runs out of the shared memory a warning message is written to the server log every 5 minutes.

Default: 8M | Range: 0,128K-64G

Vault

Specifies the vault provider:
HashiCorp - HashiCorp KV Secrets Engine version 2
CyberArk - CyberArk Central Credential Provider
Must match the vault provider set in the frontend.

Default: HashiCorp

VaultDBPath

Specifies a location, from where database credentials should be retrieved by keys. Depending on the Vault, can be vault path or query.
The keys used for HashiCorp are ‘password’ and ‘username’.

Example:

  1. secret/zabbix/database

The keys used for CyberArk are ‘Content’ and ‘UserName’.

Example:

  1. AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_proxy_database

This option can only be used if DBUser and DBPassword are not specified.

VaultTLSCertFile

Name of the SSL certificate file used for client authentication
The certificate file must be in PEM1 format.
If the certificate file contains also the private key, leave the SSL key file field empty.
The directory containing this file is specified by the configuration parameter SSLCertLocation.
This option can be omitted but is recommended for CyberArkCCP vault.

VaultTLSKeyFile

Name of the SSL private key file used for client authentication.
The private key file must be in PEM1 format.
The directory containing this file is specified by the configuration parameter SSLKeyLocation.
This option can be omitted but is recommended for CyberArkCCP vault.

VaultToken

HashiCorp Vault authentication token that should have been generated exclusively for Zabbix server with read-only permission to the paths specified in Vault macros and read-only permission to the path specified in the optional VaultDBPath configuration parameter.
It is an error if VaultToken and VAULT_TOKEN environment variable are defined at the same time.

Mandatory: Yes, if Vault is set to HashiCorp; otherwise no

VaultURL

Vault server HTTP[S] URL. The system-wide CA certificates directory will be used if SSLCALocation is not specified.

Default: https://127.0.0.1:8200

VMwareCacheSize

Shared memory size for storing VMware data.
A VMware internal check zabbix[vmware,buffer,…] can be used to monitor the VMware cache usage (see Internal checks).
Note that shared memory is not allocated if there are no vmware collector instances configured to start.

Default: 8M | Range: 256K-2G

VMwareFrequency

Delay in seconds between data gathering from a single VMware service.
This delay should be set to the least update interval of any VMware monitoring item.

Default: 60 | Range: 10-86400

VMwarePerfFrequency

Delay in seconds between performance counter statistics retrieval from a single VMware service.
This delay should be set to the least update interval of any VMware monitoring item that uses VMware performance counters.

Default: 60 | Range: 10-86400

VMwareTimeout

The maximum number of seconds a vmware collector will wait for a response from VMware service (vCenter or ESX hypervisor).

Default: 10 | Range: 1-300

WebServiceURL

HTTP[S] URL to Zabbix web service in the format <host:port>/report.

Example:

  1. WebServiceURL=http://localhost:10053/report
附注

1 请注意,过多的数据采集进程(例如:pollers、unreachable pollers、ODBC pollers、HTTP pollers、Java pollers、pingers、trappers、proxypollers)连同 IPMI 管理进程、SNMP 捕获进程和预处理线程可能会耗尽预处理管理器的每进程文件描述符限制。

上述行为会导致 Zabbix 服务器宕机(通常发生在启动后不久,或是启动后的一段时间内发生)。因此,您应修改配置文件或提高最大限制以避免这种情况的发生。

2 删除大量监控项时,会增加数据库的负载,这是因为删除某个监控项,管理程序需要删除该监控项的所有历史数据。例如,如果我们只需要删除 1 项监控项原型,但这个监控项原型链接到了 50 台主机,并且每台主机的监控项原型又扩展到了 100 个实际监控项,也就是说总共要删除 5000 个监控项(1*50*100)。如果 MaxHousekeeperDelete 设置为 500(MaxHousekeeperDelete=500),管理流程则必须在一个周期内从历史和趋势表中删除多达 2500000 个被删除监控项的相关值(5000*500)。