77{% endif -%}
88# Managed by saltstack
99# This is a configuration file for Zabbix proxy daemon
10- # To get more information about Zabbix, visit http ://www.zabbix.com
10+ # To get more information about Zabbix, visit https ://www.zabbix.com
1111
1212############ GENERAL PARAMETERS #################
1313
186186{% if settings .get ('socketdir' , defaults .get ('socketdir' , False )) %} SocketDir={{ settings.get('socketdir', defaults.socketdir) }}{% endif %}
187187{% endif %}
188188
189+ {% if zabbix .version_repo |float >= 7.0 -%}
190+ ### NOTE: Support for Oracle DB is deprecated since Zabbix 7.0 and will be removed in future versions.
191+ {% endif %}
192+
189193### Option: DBHost
190194# Database host name.
191195# If set to localhost, socket is used for MySQL.
287291# ProxyOfflineBuffer=1
288292{% if settings .get ('proxyofflinebuffer' , defaults .get ('proxyofflinebuffer' , False )) %} ProxyOfflineBuffer={{ settings.get('proxyofflinebuffer', defaults.proxyofflinebuffer) }}{% endif %}
289293
294+ {% if zabbix .version_repo |float >= 7.0 -%}
295+ ### Option: ProxyBufferMode
296+ # Specifies history, discovery and auto registration data storage mechanism:
297+ # disk - data are stored in database and uploaded from database
298+ # memory - data are stored in memory and uploaded from memory.
299+ # If buffer runs out of memory the old data will be discarded.
300+ # On shutdown the buffer is discarded.
301+ # hybrid - the proxy buffer normally works like in memory mode until it runs out of memory or
302+ # the oldest record exceeds the configured age. If that happens the buffer is flushed
303+ # to database and it works like in disk mode until all data have been uploaded and
304+ # it starts working with memory again. On shutdown the memory buffer is flushed
305+ # to database.
306+ #
307+ # Mandatory: no
308+ # Values: disk, memory, hybrid
309+ # Default:
310+ # ProxyBufferMode=disk
311+ {% if settings .get ('proxybuffermode' , defaults .get ('proxybuffermode' , False )) %} ProxyBufferMode={{ settings.get('proxybuffermode', defaults.proxybuffermode) }}{% endif %}
312+ {% endif %}
313+
314+ {% if zabbix .version_repo |float >= 7.0 -%}
315+ ### Option: ProxyMemoryBufferSize
316+ # Size of shared memory cache for collected history, discovery and auto registration data, in bytes.
317+ # If enabled (not zero) proxy will keep history discovery and auto registration data in memory unless
318+ # cache is full or stored records are older than defined ProxyMemoryBufferAge.
319+ # This parameter cannot be used together with ProxyLocalBuffer parameter.
320+ #
321+ # Mandatory: no
322+ # Range: 0,128K-2G
323+ # Default:
324+ # ProxyMemoryBufferSize=0
325+ {% if settings .get ('proxymemorybuffersize' , defaults .get ('proxymemorybuffersize' , False )) %} ProxyMemoryBufferSize={{ settings.get('proxymemorybuffersize', defaults.proxymemorybuffersize) }}{% endif %}
326+ {% endif %}
327+
328+ {% if zabbix .version_repo |float >= 7.0 -%}
329+ ### Option: ProxyMemoryBufferAge
330+ # Maximum age of data in proxy memory buffer, in seconds.
331+ # When enabled (not zero) and records in proxy memory buffer are older, then it forces proxy buffer
332+ # to switch to database mode until all records are uploaded to server.
333+ # This parameter must be less or equal to ProxyOfflineBuffer parameter (note different units).
334+ #
335+ # Mandatory: no
336+ # Range: 0,600-864000
337+ # Default:
338+ # ProxyMemoryBufferAge=0
339+ {% if settings .get ('proxymemorybufferage' , defaults .get ('proxymemorybufferage' , False )) %} ProxyMemoryBufferAge={{ settings.get('proxymemorybufferage', defaults.proxymemorybufferage) }}{% endif %}
340+ {% endif %}
341+
290342{% if zabbix .version_repo |float <= 6.2 -%}
291343### Option: HeartbeatFrequency
292344# Frequency of heartbeat messages in seconds.
351403# StartPollers=5
352404{% if settings .get ('startpollers' , defaults .get ('startpollers' , False )) %} StartPollers={{ settings.get('startpollers', defaults.startpollers) }}{% endif %}
353405
406+ {% if zabbix .version_repo |float >= 7.0 -%}
407+ ### Option: StartAgentPollers
408+ # Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
409+ #
410+ # Mandatory: no
411+ # Range: 0-1000
412+ # Default:
413+ # StartAgentPollers=1
414+ {% if settings .get ('startagentpollers' , defaults .get ('startagentpollers' , False )) %} StartAgentPollers={{ settings.get('startagentpollers', defaults.startagentpollers) }}{% endif %}
415+ {% endif %}
416+
417+ {% if zabbix .version_repo |float >= 7.0 -%}
418+ ### Option: StartHTTPAgentPollers
419+ # Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
420+ #
421+ # Mandatory: no
422+ # Range: 0-1000
423+ # Default:
424+ # StartHTTPAgentPollers=1
425+ {% if settings .get ('starthttpagentpollers' , defaults .get ('starthttpagentpollers' , False )) %} StartHTTPAgentPollers={{ settings.get('starthttpagentpollers', defaults.starthttpagentpollers) }}{% endif %}
426+ {% endif %}
427+
428+ {% if zabbix .version_repo |float >= 7.0 -%}
429+ ### Option: StartSNMPPollers
430+ # Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
431+ #
432+ # Mandatory: no
433+ # Range: 0-1000
434+ # Default:
435+ # StartSNMPPollers=1
436+ {% if settings .get ('startsnmppollers' , defaults .get ('startsnmppollers' , False )) %} StartSNMPPollers={{ settings.get('startsnmppollers', defaults.startsnmppollers) }}{% endif %}
437+ {% endif %}
438+
439+ {% if zabbix .version_repo |float >= 7.0 -%}
440+ ### Option: MaxConcurrentChecksPerPoller
441+ # Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
442+ #
443+ # Mandatory: no
444+ # Range: 1-1000
445+ # Default:
446+ # MaxConcurrentChecksPerPoller=1000
447+ {% if settings .get ('maxconcurrentcheckspollers' , defaults .get ('maxconcurrentcheckspollers' , False )) %} MaxConcurrentChecksPerPoller={{ settings.get('maxconcurrentcheckspollers', defaults.maxconcurrentcheckspollers) }}{% endif %}
448+ {% endif %}
449+
354450### Option: StartIPMIPollers
355451# Number of pre-forked instances of IPMI pollers.
356452# The IPMI manager process is automatically started when at least one IPMI poller is started.
363459
364460{% if zabbix .version_repo |float >= 4.2 -%}
365461### Option: StartPreprocessors
366- # Number of pre-started instances of preprocessing workers.
462+ # Number of pre-started instances of preprocessing worker threads should be set to no less than
463+ # the available CPU core count. More workers should be set if preprocessing is not CPU-bound and has
464+ # lots of network requests.
367465#
368466# Mandatory: no
369467# Range: 1-1000
370468# Default:
371- # StartPreprocessors=3
469+ # StartPreprocessors=16
372470{% if settings .get ('startpreprocessors' , defaults .get ('startpreprocessors' , False )) %} StartPreprocessors={{ settings.get('startpreprocessors', defaults.startpreprocessors) }}{% endif %}
373471{% endif %}
374472
383481# StartPollersUnreachable=1
384482{% if settings .get ('startpollersunreachable' , defaults .get ('startpollersunreachable' , False )) %} StartPollersUnreachable={{ settings.get('startpollersunreachable', defaults.startpollersunreachable) }}{% endif %}
385483
386- {% if zabbix .version_repo |float > = 6.0 -%}
484+ {% if zabbix .version_repo |float < = 6.0 -%}
387485### Option: StartHistoryPollers
388486# Number of pre-forked instances of history pollers.
389487# Only required for internal checks.
416514{% if settings .get ('startpingers' , defaults .get ('startpingers' , False )) %} StartPingers={{ settings.get('startpingers', defaults.startpingers) }}{% endif %}
417515
418516### Option: StartDiscoverers
419- # Number of pre-forked instances of discoverers .
517+ # Number of pre-started instances of discovery workers .
420518#
421519# Mandatory: no
422- # Range: 0-250
520+ # Range: 0-1000
423521# Default:
424- # StartDiscoverers=1
522+ # StartDiscoverers=5
425523{% if settings .get ('startdiscoverers' , defaults .get ('startdiscoverers' , False )) %} StartDiscoverers={{ settings.get('startdiscoverers', defaults.startdiscoverers) }}{% endif %}
426524
427525### Option: StartHTTPPollers
440538# Mandatory: no
441539# Default:
442540# JavaGateway=
443- {% if settings .get ('javagateway' , defaults .get ('javagateway' , False )) %}
444- JavaGateway={{ settings.get('javagateway', defaults.javagateway) }}
541+ {% if settings .get ('javagateway' , defaults .get ('javagateway' , False )) %} JavaGateway={{ settings.get('javagateway', defaults.javagateway) }}{% endif %}
445542
446543### Option: JavaGatewayPort
447544# Port that Zabbix Java gateway listens on.
@@ -450,7 +547,7 @@ JavaGateway={{ settings.get('javagateway', defaults.javagateway) }}
450547# Range: 1024-32767
451548# Default:
452549# JavaGatewayPort=10052
453- JavaGatewayPort={{ settings.get('javagatewayport', defaults.javagatewayport) }}
550+ {% if settings . get ( 'javagatewayport' , defaults . get ( 'javagatewayport' , False )) %} JavaGatewayPort={{ settings.get('javagatewayport', defaults.javagatewayport) }} {% endif % }
454551
455552### Option: StartJavaPollers
456553# Number of pre-forked instances of Java pollers.
@@ -459,8 +556,7 @@ JavaGatewayPort={{ settings.get('javagatewayport', defaults.javagatewayport) }}
459556# Range: 0-1000
460557# Default:
461558# StartJavaPollers=0
462- StartJavaPollers={{ settings.get('startjavapollers', defaults.startjavapollers) }}
463- {% endif %}
559+ {% if settings .get ('startjavapollers' , defaults .get ('startjavapollers' , False )) %} StartJavaPollers={{ settings.get('startjavapollers', defaults.startjavapollers) }}{% endif %}
464560
465561### Option: StartVMwareCollectors
466562# Number of pre-forked vmware collector instances.
@@ -617,7 +713,7 @@ StartJavaPollers={{ settings.get('startjavapollers', defaults.startjavapollers)
617713{% endif %}
618714
619715### Option: Timeout
620- # Specifies how long we wait for agent, SNMP device or external check (in seconds) .
716+ # Specifies how long to wait (in seconds) for establishing connection and exchanging data with Zabbix server, agent, web service, and for SNMP checks (except SNMP `walk[OID]` and `get[OID]` items) and `icmpping[*]` item .
621717#
622718# Mandatory: no
623719# Range: 1-30
@@ -626,7 +722,9 @@ StartJavaPollers={{ settings.get('startjavapollers', defaults.startjavapollers)
626722{% if settings .get ('timeout' , defaults .get ('timeout' , False )) %} Timeout={{ settings.get('timeout', defaults.timeout) }}{% endif %}
627723
628724### Option: TrapperTimeout
629- # Specifies how many seconds trapper may spend processing new data.
725+ # Specifies timeout in seconds for:
726+ # Retrieval of configuration data from Zabbix server
727+ # Global script / remote command execution
630728#
631729# Mandatory: no
632730# Range: 1-300
@@ -768,7 +866,7 @@ Include={{ include }}
768866{% if zabbix .version_repo |float >= 2.4 -%}
769867### Option: SSLCertLocation
770868# Location of SSL client certificates.
771- # This parameter is used only in web monitoring.
869+ # This parameter is used in web monitoring and for communication with Vault .
772870# Default depends on compilation options.
773871# To see the default path run command "zabbix_proxy --help".
774872#
@@ -779,7 +877,7 @@ Include={{ include }}
779877
780878### Option: SSLKeyLocation
781879# Location of private keys for SSL client certificates.
782- # This parameter is used only in web monitoring.
880+ # This parameter is used in web monitoring and for communication with Vault .
783881# Default depends on compilation options.
784882# To see the default path run command "zabbix_proxy --help".
785883#
@@ -1071,6 +1169,7 @@ LoadModule={{ loadmodule }}
10711169# Default:
10721170# DBTLSCipher13=
10731171{% if settings .get ('dbtlscipher13' , defaults .get ('dbtlscipher13' , False )) %} DBTLSCipher13={{ settings.get('dbtlscipher13', defaults.dbtlscipher13) }}{% endif %}
1172+ {% endif %}
10741173
10751174{% if zabbix .version_repo |float >= 6.2 -%}
10761175### Option: Vault
@@ -1095,23 +1194,44 @@ LoadModule={{ loadmodule }}
10951194# Default:
10961195# VaultToken=
10971196{% if settings .get ('vaulttoken' , defaults .get ('vaulttoken' , False )) %} VaultToken={{ settings.get('vaulttoken', defaults.vaulttoken) }}{% endif %}
1197+ {% endif %}
10981198
1199+ {% if zabbix .version_repo |float >= 6.0 -%}
10991200### Option: VaultURL
11001201# Vault server HTTP[S] URL. System-wide CA certificates directory will be used if SSLCALocation is not specified.
11011202#
11021203# Mandatory: no
11031204# Default:
11041205# VaultURL=https://127.0.0.1:8200
11051206{% if settings .get ('vaulturl' , defaults .get ('vaulturl' , False )) %} VaultURL={{ settings.get('vaulturl', defaults.vaulturl) }}{% endif %}
1207+ {% endif %}
11061208
1209+ {% if zabbix .version_repo |float >= 7.0 -%}
1210+ ### Option: VaultPrefix
1211+ # Custom prefix for Vault path or query depending on the Vault.
1212+ # Most suitable defaults will be used if not specified.
1213+ # Note that 'data' is automatically appended after mountpoint for HashiCorp if VaultPrefix is not specified.
1214+ # Example prefix for HashiCorp:
1215+ # /v1/secret/data/zabbix/
1216+ # Example prefix for CyberArk:
1217+ # /AIMWebService/api/Accounts?
1218+ # Mandatory: no
1219+ # Default:
1220+ # VaultPrefix=
1221+ {% if settings .get ('vaultprefix' , defaults .get ('vaultprefix' , False )) %} VaultPrefix={{ settings.get('vaultprefix', defaults.vaultprefix) }}{% endif %}
1222+ {% endif %}
1223+
1224+ {% if zabbix .version_repo |float >= 6.0 -%}
11071225### Option: VaultDBPath
11081226# Vault path or query depending on the Vault from where credentials for database will be retrieved by keys.
11091227# Keys used for HashiCorp are 'password' and 'username'.
1110- # Example path:
1111- # secret/zabbix/database
1228+ # Example path with VaultPrefix=/v1/secret/data/zabbix/:
1229+ # database
1230+ # Example path without VaultPrefix:
1231+ # secret/zabbix/database
11121232# Keys used for CyberArk are 'Content' and 'UserName'.
1113- # Example query:
1114- # AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_proxy_database
1233+ # Example query:
1234+ # AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_proxy_database
11151235# This option can only be used if DBUser and DBPassword are not specified.
11161236#
11171237# Mandatory: no
@@ -1130,7 +1250,9 @@ LoadModule={{ loadmodule }}
11301250# Default:
11311251# VaultTLSCertFile=
11321252{% if settings .get ('vaulttlscertfile' , defaults .get ('vaulttlscertfile' , False )) %} VaultTLSCertFile={{ settings.get('vaulttlscertfile', defaults.vaulttlscertfile) }}{% endif %}
1253+ {% endif %}
11331254
1255+ {% if zabbix .version_repo |float >= 6.2 -%}
11341256### Option: VaultTLSKeyFile
11351257# Name of the SSL private key file used for client authentication. The private key file must be in PEM1 format.
11361258# The directory containing this file is specified by configuration parameter SSLKeyLocation.
@@ -1152,6 +1274,26 @@ LoadModule={{ loadmodule }}
11521274# Default: SOMAXCONN (hard-coded constant, depends on system)
11531275# ListenBacklog=
11541276{% if settings .get ('listenbacklog' , defaults .get ('listenbacklog' , False )) %} ListenBacklog={{ settings.get('listenbacklog', defaults.listenbacklog) }}{% endif %}
1277+
1278+ {% if zabbix .version_repo |float >= 7.0 -%}
1279+ ####### Browser monitoring #######
1280+
1281+ ### Option: WebDriverURL
1282+ # WebDriver interface HTTP[S] URL. For example http://localhost:4444 used with Selenium WebDriver standalone server.
1283+ #
1284+ # Mandatory: no
1285+ # Default:
1286+ # WebDriverURL=
1287+ {% if settings .get ('webdriverurl' , defaults .get ('webdriverurl' , False )) %} WebDriverURL={{ settings.get('webdriverurl', defaults.webdriverurl) }}{% endif %}
1288+
1289+ ### Option: StartBrowserPollers
1290+ # Number of pre-forked instances of browser item pollers.
1291+ #
1292+ # Mandatory: no
1293+ # Range: 0-1000
1294+ # Default:
1295+ # StartBrowserPollers=1
1296+ {% if settings .get ('startbrowserpollers' , defaults .get ('startbrowserpollers' , False )) %} StartBrowserPollers={{ settings.get('startbrowserpollers', defaults.startbrowserpollers) }}{% endif %}
11551297{% endif %}
11561298
11571299{{ settings.get('extra_conf','') }}
0 commit comments