1 Zabbix server
Overview
This section lists parameters supported in a Zabbix server configuration file (zabbix_server.conf). Note that:
The default values reflect daemon defaults, not the values in the shipped configuration files;
Zabbix supports configuration files only in UTF-8 encoding without BOM;
Comments starting with “#” are only supported in the beginning of the line.
Parameters
Parameter | Mandatory | Range | Default | Description |
---|---|---|---|---|
AlertScriptsPath | no | /usr/local/share/zabbix/alertscripts | Location of custom alert scripts (depends on compile-time installation variable datadir). | |
AllowRoot | no | 0 | 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. 0 - do not allow 1 - allow This parameter is supported since Zabbix 2.2.0. | |
CacheSize | no | 128K-64G | 8M | Size of configuration cache, in bytes. Shared memory size for storing host, item and trigger data. The maximum value of this parameter was increased from 8GB to 64GB in Zabbix 5.0.1. |
CacheUpdateFrequency | no | 1-3600 | 60 | How often Zabbix will perform update of configuration cache, in seconds. See also runtime control options. |
DBHost | no | localhost | Database host name. In case of MySQL localhost or empty string results in using a socket. In case of PostgreSQL only empty string results in attempt to use socket. | |
DBName | yes | Database name. | ||
DBPassword | no | Database password. Comment this line if no password is used. | ||
DBPort | no | 1024-65535 | Database port when not using local socket. | |
DBSchema | no | Schema name. Used for PostgreSQL. | ||
DBSocket | no | Path to MySQL socket file. | ||
DBUser | no | Database user. | ||
DBTLSConnect | no | Setting this option enforces to use TLS connection to 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 On MySQL starting from 5.7.11 and PostgreSQL the following values are supported: “required”, “verify_ca”, “verify_full”. On MariaDB starting from version 10.2.6 “required” and “verify_full” values are supported. By default not set to any option and the behavior depends on database configuration. This parameter is supported since Zabbix 5.0.0. | ||
DBTLSCAFile | no (yes, if DBTLSConnect set to one of: verify_ca, verify_full) | Full pathname of a file containing the top-level CA(s) certificates for database certificate verification. This parameter is supported since Zabbix 5.0.0. | ||
DBTLSCertFile | no | Full pathname of file containing Zabbix server certificate for authenticating to database. This parameter is supported since Zabbix 5.0.0. | ||
DBTLSKeyFile | no | Full pathname of file containing the private key for authenticating to database. This parameter is supported since Zabbix 5.0.0. | ||
DBTLSCipher | no | The list of encryption ciphers that Zabbix server permits for TLS protocols up through TLSv1.2. Supported only for MySQL. This parameter is supported since Zabbix 5.0.0. | ||
DBTLSCipher13 | no | The list of encryption ciphersuites that Zabbix server permits for TLSv1.3 protocol. Supported only for MySQL, starting from version 8.0.16. This parameter is supported since Zabbix 5.0.0. | ||
DebugLevel | no | 0-5 | 3 | Specifies 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. |
ExportDir | no | Directory for real-time export of events, history and trends in newline-delimited JSON format. If set, enables real-time export. This parameter is supported since Zabbix 4.0.0. | ||
ExportFileSize | no | 1M-1G | 1G | Maximum size per export file in bytes. Only used for rotation if ExportDir is set. This parameter is supported since 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 | no | /usr/local/share/zabbix/externalscripts | Location of external scripts (depends on compile-time installation variable datadir). | |
Fping6Location | no | /usr/sbin/fping6 | Location of fping6. Make sure that fping6 binary has root ownership and SUID flag set. Make empty (“Fping6Location=”) if your fping utility is capable to process IPv6 addresses. | |
FpingLocation | no | /usr/sbin/fping | Location of fping. Make sure that fping binary has root ownership and SUID flag set! | |
HistoryCacheSize | no | 128K-2G | 16M | Size of history cache, in bytes. Shared memory size for storing history data. |
HistoryIndexCacheSize | no | 128K-2G | 4M | Size of history index cache, in bytes. Shared memory size for indexing history data stored in history cache. The index cache size needs roughly 100 bytes to cache one item. This parameter is supported since Zabbix 3.0.0. |
HistoryStorageDateIndex | no | 0 | Enable preprocessing of history values in history storage to store values in different indices based on date: 0 - disable 1 - enable | |
HistoryStorageURL | no | History storage HTTP[S] URL. This parameter is used for Elasticsearch setup. | ||
HistoryStorageTypes | no | uint,dbl,str,log,text | Comma separated list of value types to be sent to the history storage. This parameter is used for Elasticsearch setup. | |
HousekeepingFrequency | no | 0-24 | 1 | How often Zabbix will perform 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 cycle, 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. This postponing behavior is in place since Zabbix 2.4.0. Since Zabbix 3.0.0 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. |
Include | no | 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. For example: /absolute/path/to/config/files/*.conf . Pattern matching is supported since Zabbix 2.4.0.See special notes about limitations. | ||
JavaGateway | no | IP address (or hostname) of Zabbix Java gateway. Only required if Java pollers are started. This parameter is supported since Zabbix 2.0.0. | ||
JavaGatewayPort | no | 1024-32767 | 10052 | Port that Zabbix Java gateway listens on. This parameter is supported since Zabbix 2.0.0. |
ListenIP | no | 0.0.0.0 | List of comma delimited IP addresses that the trapper should listen on. Trapper will listen on all network interfaces if this parameter is missing. Multiple IP addresses are supported since Zabbix 1.8.3. | |
ListenPort | no | 1024-32767 | 10051 | Listen port for trapper. |
LoadModule | no | Module to load at server startup. Modules are used to extend functionality of the server. Formats: LoadModule=<module.so> LoadModule=<path/module.so> LoadModule=</abs_path/module.so> Either the module must be located in directory specified by LoadModulePath or the path must precede the module name. If the preceding path is absolute (starts with ‘/‘) then LoadModulePath is ignored. It is allowed to include multiple LoadModule parameters. | ||
LoadModulePath | no | Full path to location of server modules. Default depends on compilation options. | ||
LogFile | yes, if LogType is set to file, otherwise no | Name of log file. | ||
LogFileSize | no | 0-1024 | 1 | Maximum size of 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. |
LogType | no | file | Log output type: file - write log to file specified by LogFile parameter, system - write log to syslog, console - write log to standard output. This parameter is supported since Zabbix 3.0.0. | |
LogSlowQueries | no | 0-3600000 | 0 | 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. This parameter is supported since Zabbix 1.8.2. |
MaxHousekeeperDelete | no | 0-1000000 | 5000 | 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 is supported since Zabbix 1.8.2 and applies only to deleting history and trends of already deleted items. |
PidFile | no | /tmp/zabbix_server.pid | Name of PID file. | |
ProxyConfigFrequency | no | 1-604800 | 3600 | How often Zabbix server sends configuration data to a Zabbix proxy in seconds. Used only for proxies in a passive mode. This parameter is supported since Zabbix 1.8.3. |
ProxyDataFrequency | no | 1-3600 | 1 | How often Zabbix server requests history data from a Zabbix proxy in seconds. Used only for proxies in a passive mode. This parameter is supported since Zabbix 1.8.3. |
SNMPTrapperFile | no | /tmp/zabbix_traps.tmp | Temporary file used for passing data from SNMP trap daemon to the server. Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file. This parameter is supported since Zabbix 2.0.0. | |
SocketDir | no | /tmp | Directory to store IPC sockets used by internal Zabbix services. This parameter is supported since Zabbix 3.4.0. | |
SourceIP | no | 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; - preprocessing JavaScript HTTP requests; - sending notification emails (connections to SMTP server); - webhook notifications (JavaScript HTTP connections) | ||
SSHKeyLocation | no | Location of public and private keys for SSH checks and actions | ||
SSLCertLocation | no | Location of SSL client certificate files for client authentication. This parameter is used in web monitoring only and is supported since Zabbix 2.4. | ||
SSLKeyLocation | no | Location of SSL private key files for client authentication. This parameter is used in web monitoring only and is supported since Zabbix 2.4. | ||
SSLCALocation | no | 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 since Zabbix 2.4.0 and in SMTP authentication since Zabbix 3.0.0. | ||
StartDBSyncers | no | 1-100 | 4 | Number of pre-forked instances of DB 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. The upper limit used to be 64 before version 1.8.5. This parameter is supported since Zabbix 1.8.3. |
StartAlerters | no | 1-100 | 3 | Number of pre-forked instances of alerters. This parameter is supported since Zabbix 3.4.0. |
StartDiscoverers | no | 0-250 | 1 | Number of pre-forked instances of discoverers. The upper limit used to be 255 before version 1.8.5. |
StartEscalators | no | 1-100 | 1 | Number of pre-forked instances of escalators. This parameter is supported since Zabbix 3.0.0. |
StartHTTPPollers | no | 0-1000 | 1 | Number of pre-forked instances of HTTP pollers1. The upper limit used to be 255 before version 1.8.5. |
StartIPMIPollers | no | 0-1000 | 0 | Number of pre-forked instances of IPMI pollers. The upper limit used to be 255 before version 1.8.5. |
StartJavaPollers | no | 0-1000 | 0 | Number of pre-forked instances of Java pollers1. This parameter is supported since 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 | no | 0-1000 | 1 | Number of pre-forked instances of ICMP pingers1. The upper limit used to be 255 before version 1.8.5. |
StartPollersUnreachable | no | 0-1000 | 1 | Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java)1. Since Zabbix 2.4.0, at least one poller for unreachable hosts must be running if regular, IPMI or Java pollers are started. The upper limit used to be 255 before version 1.8.5. This option is missing in version 1.8.3. |
StartPollers | no | 0-1000 | 5 | Number of pre-forked instances of pollers1. Note that a non-zero value is required for internal, aggregated and calculated items to work. |
StartPreprocessors | no | 1-1000 | 3 | Number of pre-forked instances of preprocessing workers1. The preprocessing manager process is automatically started when a preprocessor worker is started. This parameter is supported since Zabbix 3.4.0. |
StartProxyPollers | no | 0-250 | 1 | Number of pre-forked instances of pollers for passive proxies1. The upper limit used to be 255 before version 1.8.5. This parameter is supported since Zabbix 1.8.3. |
StartSNMPTrapper | no | 0-1 | 0 | If set to 1, SNMP trapper process will be started. This parameter is supported since Zabbix 2.0.0. |
StartTimers | no | 1-1000 | 1 | Number of pre-forked instances of timers. Timers process maintenance periods. This parameter is supported since Zabbix 2.2.0. |
StartTrappers | no | 0-1000 | 5 | Number of pre-forked instances of trappers1. Trappers accept incoming connections from Zabbix sender, active agents and active proxies. At least one trapper process must be running to display server availability and view queue in the frontend. The upper limit used to be 255 before version 1.8.5. |
StartVMwareCollectors | no | 0-250 | 0 | Number of pre-forked vmware collector instances. This parameter is supported since Zabbix 2.2.0. |
StatsAllowedIP | no | 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: StatsAllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com This parameter is supported since Zabbix 4.2.0. | ||
Timeout | no | 1-30 | 3 | Specifies how long we wait for agent, SNMP device or external check (in seconds). |
TLSCAFile | no | Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components. This parameter is supported since Zabbix 3.0.0. | ||
TLSCertFile | no | Full pathname of a file containing the server certificate or certificate chain, used for encrypted communications between Zabbix components. This parameter is supported since Zabbix 3.0.0. | ||
TLSCipherAll | no | GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption. Example: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 This parameter is supported since Zabbix 4.4.7. | ||
TLSCipherAll13 | no | 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: 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: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128 This parameter is supported since Zabbix 4.4.7. | ||
TLSCipherCert | no | GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption. Example for 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 Example for OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128 This parameter is supported since Zabbix 4.4.7. | ||
TLSCipherCert13 | no | Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption. This parameter is supported since Zabbix 4.4.7. | ||
TLSCipherPSK | no | GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption. Example for GnuTLS: 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: kECDHEPSK+AES128:kPSK+AES128 This parameter is supported since Zabbix 4.4.7. | ||
TLSCipherPSK13 | no | Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption. Example: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 This parameter is supported since Zabbix 4.4.7. | ||
TLSCRLFile | no | Full pathname of a file containing revoked certificates. This parameter is used for encrypted communications between Zabbix components. This parameter is supported since Zabbix 3.0.0. | ||
TLSKeyFile | no | Full pathname of a file containing the server private key, used for encrypted communications between Zabbix components. This parameter is supported since Zabbix 3.0.0. | ||
TmpDir | no | /tmp | Temporary directory. | |
TrapperTimeout | no | 1-300 | 300 | Specifies how many seconds trapper may spend processing new data. |
TrendCacheSize | no | 128K-2G | 4M | Size of trend cache, in bytes. Shared memory size for storing trends data. |
UnavailableDelay | no | 1-3600 | 60 | How often host is checked for availability during the unavailability period, in seconds. |
UnreachableDelay | no | 1-3600 | 15 | How often host is checked for availability during the unreachability period, in seconds. |
UnreachablePeriod | no | 1-3600 | 45 | After how many seconds of unreachability treat a host as unavailable. |
User | no | zabbix | Drop privileges to a specific, existing user on the system. Only has effect if run as ‘root’ and AllowRoot is disabled. This parameter is supported since Zabbix 2.4.0. | |
ValueCacheSize | no | 0,128K-64G | 8M | Size of history value cache, in bytes. Shared memory size for caching item history data requests. Setting to 0 disables value cache (not recommended). When value cache runs out of the shared memory a warning message is written to the server log every 5 minutes. This parameter is supported since Zabbix 2.2.0. |
VMwareCacheSize | no | 256K-2G | 8M | 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. This parameter is supported since Zabbix 2.2.0. |
VMwareFrequency | no | 10-86400 | 60 | 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. This parameter is supported since Zabbix 2.2.0. |
VMwarePerfFrequency | no | 10-86400 | 60 | 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. This parameter is supported since Zabbix 2.2.9, 2.4.4 |
VMwareTimeout | no | 1-300 | 10 | The maximum number of seconds vmware collector will wait for a response from VMware service (vCenter or ESX hypervisor). This parameter is supported since Zabbix 2.2.9, 2.4.4 |
Footnotes
1 Note that too many data gathering processes (pollers, unreachable pollers, HTTP pollers, Java pollers, pingers, trappers, proxypollers) together with IPMI manager, SNMP trapper and preprocessing workers can exhaust the per-process file descriptor limit for the preprocessing manager.
This will cause Zabbix server to stop (usually shortly after the start, but sometimes it can take more time). The configuration file should be revised or the limit should be raised to avoid this situation.
2 When a lot of items are deleted it increases the load to the database, because the housekeeper will need to remove all the history data that these items had. For example, if we only have to remove 1 item prototype, but this prototype is linked to 50 hosts and for every host the prototype is expanded to 100 real items, 5000 items in total have to be removed (1*50*100). If 500 is set for MaxHousekeeperDelete (MaxHousekeeperDelete=500), the housekeeper process will have to remove up to 2500000 values (5000*500) for the deleted items from history and trends tables in one cycle.