diff --git a/REFERENCE.md b/REFERENCE.md
index 357f592a..c09a3432 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -145,10 +145,15 @@ The following parameters are available in the `zabbix` class:
* [`database_tlsconnect`](#-zabbix--database_tlsconnect)
* [`database_tlscafile`](#-zabbix--database_tlscafile)
* [`startpollers`](#-zabbix--startpollers)
+* [`startagentpollers`](#-zabbix--startagentpollers)
+* [`starthttpagentpollers`](#-zabbix--starthttpagentpollers)
+* [`startsnmppollers`](#-zabbix--startsnmppollers)
+* [`maxconcurrentchecksperpoller`](#-zabbix--maxconcurrentchecksperpoller)
* [`startpreprocessors`](#-zabbix--startpreprocessors)
* [`startipmipollers`](#-zabbix--startipmipollers)
* [`startodbcpollers`](#-zabbix--startodbcpollers)
* [`startpollersunreachable`](#-zabbix--startpollersunreachable)
+* [`starthistorypollers`](#-zabbix--starthistorypollers)
* [`starttrappers`](#-zabbix--starttrappers)
* [`startpingers`](#-zabbix--startpingers)
* [`startalerters`](#-zabbix--startalerters)
@@ -721,12 +726,44 @@ Default value: `$zabbix::params::server_database_tlscafile`
##### `startpollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers.
Default value: `$zabbix::params::server_startpollers`
+##### `startagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startagentpollers`
+
+##### `starthttpagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_starthttpagentpollers`
+
+##### `startsnmppollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startsnmppollers`
+
+##### `maxconcurrentchecksperpoller`
+
+Data type: `Integer[0, 1000]`
+
+Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
+
+Default value: `$zabbix::params::server_maxconcurrentchecksperpoller`
+
##### `startpreprocessors`
Data type: `Integer[1, 1000]`
@@ -737,7 +774,7 @@ Default value: `$zabbix::params::server_startpreprocessors`
##### `startipmipollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of ipmi pollers.
@@ -753,12 +790,22 @@ Default value: `$zabbix::params::server_startodbcpollers`
##### `startpollersunreachable`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
Default value: `$zabbix::params::server_startpollersunreachable`
+##### `starthistorypollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of history pollers.
+Only required for calculated checks.
+A database connection is required for each history poller instance.
+
+Default value: `$zabbix::params::server_starthistorypollers`
+
##### `starttrappers`
Data type: `Any`
@@ -2570,6 +2617,10 @@ The following parameters are available in the `zabbix::proxy` class:
* [`proxyconfigfrequency`](#-zabbix--proxy--proxyconfigfrequency)
* [`datasenderfrequency`](#-zabbix--proxy--datasenderfrequency)
* [`startpollers`](#-zabbix--proxy--startpollers)
+* [`startagentpollers`](#-zabbix--proxy--startagentpollers)
+* [`starthttpagentpollers`](#-zabbix--proxy--starthttpagentpollers)
+* [`startsnmppollers`](#-zabbix--proxy--startsnmppollers)
+* [`maxconcurrentchecksperpoller`](#-zabbix--proxy--maxconcurrentchecksperpoller)
* [`startpreprocessors`](#-zabbix--proxy--startpreprocessors)
* [`startipmipollers`](#-zabbix--proxy--startipmipollers)
* [`startodbcpollers`](#-zabbix--proxy--startodbcpollers)
@@ -3046,12 +3097,44 @@ Default value: `$zabbix::params::proxy_datasenderfrequency`
##### `startpollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers.
Default value: `$zabbix::params::proxy_startpollers`
+##### `startagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbis::params::proxy_startagentpollers`
+
+##### `starthttpagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::proxy_starthttpagentpollers`
+
+##### `startsnmppollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::proxy_startsnmppollers`
+
+##### `maxconcurrentchecksperpoller`
+
+Data type: `Integer[0, 1000]`
+
+Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
+
+Default value: `$zabbix::params::proxy_maxconcurrentchecksperpoller`
+
##### `startpreprocessors`
Data type: `Integer[1, 1000]`
@@ -3062,7 +3145,7 @@ Default value: `$zabbix::params::proxy_startpreprocessors`
##### `startipmipollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of ipmi pollers.
@@ -3078,7 +3161,7 @@ Default value: `$zabbix::params::proxy_startodbcpollers`
##### `startpollersunreachable`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
@@ -4004,10 +4087,15 @@ The following parameters are available in the `zabbix::server` class:
* [`database_tlscipher`](#-zabbix--server--database_tlscipher)
* [`database_tlscipher13`](#-zabbix--server--database_tlscipher13)
* [`startpollers`](#-zabbix--server--startpollers)
+* [`startagentpollers`](#-zabbix--server--startagentpollers)
+* [`starthttpagentpollers`](#-zabbix--server--starthttpagentpollers)
+* [`startsnmppollers`](#-zabbix--server--startsnmppollers)
+* [`maxconcurrentchecksperpoller`](#-zabbix--server--maxconcurrentchecksperpoller)
* [`startpreprocessors`](#-zabbix--server--startpreprocessors)
* [`startipmipollers`](#-zabbix--server--startipmipollers)
* [`startodbcpollers`](#-zabbix--server--startodbcpollers)
* [`startpollersunreachable`](#-zabbix--server--startpollersunreachable)
+* [`starthistorypollers`](#-zabbix--server--starthistorypollers)
* [`starttrappers`](#-zabbix--server--starttrappers)
* [`startpingers`](#-zabbix--server--startpingers)
* [`startalerters`](#-zabbix--server--startalerters)
@@ -4372,12 +4460,44 @@ Default value: `$zabbix::params::server_database_tlscipher13`
##### `startpollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers.
Default value: `$zabbix::params::server_startpollers`
+##### `startagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startagentpollers`
+
+##### `starthttpagentpollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_starthttpagentpollers`
+
+##### `startsnmppollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startsnmppollers`
+
+##### `maxconcurrentchecksperpoller`
+
+Data type: `Integer[0, 1000]`
+
+Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
+
+Default value: `$zabbix::params::server_maxconcurrentchecksperpoller`
+
##### `startpreprocessors`
Data type: `Integer[1, 1000]`
@@ -4388,7 +4508,7 @@ Default value: `$zabbix::params::server_startpreprocessors`
##### `startipmipollers`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of ipmi pollers.
@@ -4404,12 +4524,22 @@ Default value: `$zabbix::params::server_startodbcpollers`
##### `startpollersunreachable`
-Data type: `Any`
+Data type: `Integer[0, 1000]`
Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
Default value: `$zabbix::params::server_startpollersunreachable`
+##### `starthistorypollers`
+
+Data type: `Integer[0, 1000]`
+
+Number of pre-forked instances of history pollers.
+Only required for calculated checks.
+A database connection is required for each history poller instance.
+
+Default value: `$zabbix::params::server_starthistorypollers`
+
##### `starttrappers`
Data type: `Any`
diff --git a/manifests/init.pp b/manifests/init.pp
index 12c0f4aa..21637871 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -103,10 +103,18 @@
# * verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost matches its certificate
# @param database_tlscafile Full pathname of a file containing the top-level CA(s) certificates for database certificate verification.
# @param startpollers Number of pre-forked instances of pollers.
+# @param startagentpollers Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param starthttpagentpollers Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param startsnmppollers Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+# @param maxconcurrentchecksperpoller Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
# @param startpreprocessors Number of pre-forked instances of preprocessing workers
# @param startipmipollers Number of pre-forked instances of ipmi pollers.
# @param startodbcpollers Number of pre-forked instances of ODBC pollers.
# @param startpollersunreachable Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
+# @param starthistorypollers
+# Number of pre-forked instances of history pollers.
+# Only required for calculated checks.
+# A database connection is required for each history poller instance.
# @param starttrappers Number of pre-forked instances of trappers.
# @param startpingers Number of pre-forked instances of icmp pingers.
# @param startalerters Number of pre-forked instances of alerters.
@@ -274,10 +282,15 @@
$database_tablespace = $zabbix::params::server_database_tablespace,
Optional[Enum['required', 'verify_ca', 'verify_full']] $database_tlsconnect = $zabbix::params::server_database_tlsconnect,
Optional[Stdlib::Absolutepath] $database_tlscafile = $zabbix::params::server_database_tlscafile,
- $startpollers = $zabbix::params::server_startpollers,
- $startipmipollers = $zabbix::params::server_startipmipollers,
+ Integer[0, 1000] $startpollers = $zabbix::params::server_startpollers,
+ Integer[0, 1000] $startagentpollers = $zabbix::params::server_startagentpollers,
+ Integer[0, 1000] $starthttpagentpollers = $zabbix::params::server_starthttpagentpollers,
+ Integer[0, 1000] $startsnmppollers = $zabbix::params::server_startsnmppollers,
+ Integer[0, 1000] $maxconcurrentchecksperpoller = $zabbix::params::server_maxconcurrentchecksperpoller,
+ Integer[0, 1000] $startipmipollers = $zabbix::params::server_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::server_startodbcpollers,
- $startpollersunreachable = $zabbix::params::server_startpollersunreachable,
+ Integer[0, 1000] $startpollersunreachable = $zabbix::params::server_startpollersunreachable,
+ Integer[0, 1000] $starthistorypollers = $zabbix::params::server_starthistorypollers,
Integer[1, 1000] $startpreprocessors = $zabbix::params::server_startpreprocessors,
$starttrappers = $zabbix::params::server_starttrappers,
$startpingers = $zabbix::params::server_startpingers,
@@ -401,97 +414,102 @@
}
class { 'zabbix::server':
- database_type => $database_type,
- database_path => $database_path,
- zabbix_version => $zabbix_version,
- zabbix_package_state => $zabbix_package_state,
- manage_firewall => $manage_firewall,
- manage_repo => $manage_repo,
- manage_database => $manage_database,
- manage_service => $manage_service,
- listenport => $listenport,
- sourceip => $sourceip,
- logfile => $logfile,
- logfilesize => $logfilesize,
- logtype => $logtype,
- debuglevel => $debuglevel,
- pidfile => $pidfile,
- database_host => $database_host,
- database_name => $database_name,
- database_schema => $database_schema,
- database_user => $database_user,
- database_password => $database_password,
- database_socket => $database_socket,
- database_port => $database_port,
- database_tlsconnect => $database_tlsconnect,
- database_tlscafile => $database_tlscafile,
- smsdevices => $smsdevices,
- startpollers => $startpollers,
- startipmipollers => $startipmipollers,
- startpollersunreachable => $startpollersunreachable,
- startpreprocessors => $startpreprocessors,
- starttrappers => $starttrappers,
- startpingers => $startpingers,
- startalerters => $startalerters,
- startdiscoverers => $startdiscoverers,
- startescalators => $startescalators,
- starthttppollers => $starthttppollers,
- starttimers => $starttimers,
- javagateway => $javagateway,
- javagatewayport => $javagatewayport,
- startjavapollers => $startjavapollers,
- startlldprocessors => $startlldprocessors,
- startvmwarecollectors => $startvmwarecollectors,
- vaultdbpath => $vaultdbpath,
- vaulttoken => $vaulttoken,
- vaulturl => $vaulturl,
- vmwarefrequency => $vmwarefrequency,
- vmwarecachesize => $vmwarecachesize,
- vmwaretimeout => $vmwaretimeout,
- snmptrapperfile => $snmptrapperfile,
- startsnmptrapper => $startsnmptrapper,
- listenip => $listenip,
- housekeepingfrequency => $housekeepingfrequency,
- maxhousekeeperdelete => $maxhousekeeperdelete,
- cachesize => $cachesize,
- cacheupdatefrequency => $cacheupdatefrequency,
- startdbsyncers => $startdbsyncers,
- historycachesize => $historycachesize,
- trendcachesize => $trendcachesize,
- historyindexcachesize => $historyindexcachesize,
- valuecachesize => $valuecachesize,
- timeout => $timeout,
- tlscafile => $tlscafile,
- tlscertfile => $tlscertfile,
- tlscrlfile => $tlscrlfile,
- tlskeyfile => $tlskeyfile,
- tlscipherall => $tlscipherall,
- tlscipherall13 => $tlscipherall13,
- tlsciphercert => $tlsciphercert,
- tlsciphercert13 => $tlsciphercert13,
- tlscipherpsk => $tlscipherpsk,
- tlscipherpsk13 => $tlscipherpsk13,
- trappertimeout => $trappertimeout,
- unreachableperiod => $unreachableperiod,
- unavailabledelay => $unavailabledelay,
- unreachabledelay => $unreachabledelay,
- alertscriptspath => $alertscriptspath,
- externalscripts => $externalscripts,
- fpinglocation => $fpinglocation,
- fping6location => $fping6location,
- sshkeylocation => $sshkeylocation,
- logslowqueries => $logslowqueries,
- tmpdir => $tmpdir,
- startproxypollers => $startproxypollers,
- proxyconfigfrequency => $proxyconfigfrequency,
- proxydatafrequency => $proxydatafrequency,
- allowroot => $allowroot,
- include_dir => $include_dir,
- loadmodulepath => $loadmodulepath,
- loadmodule => $loadmodule,
- manage_selinux => $manage_selinux,
- additional_service_params => $additional_service_params,
- require => Class['zabbix::database'],
+ database_type => $database_type,
+ database_path => $database_path,
+ zabbix_version => $zabbix_version,
+ zabbix_package_state => $zabbix_package_state,
+ manage_firewall => $manage_firewall,
+ manage_repo => $manage_repo,
+ manage_database => $manage_database,
+ manage_service => $manage_service,
+ listenport => $listenport,
+ sourceip => $sourceip,
+ logfile => $logfile,
+ logfilesize => $logfilesize,
+ logtype => $logtype,
+ debuglevel => $debuglevel,
+ pidfile => $pidfile,
+ database_host => $database_host,
+ database_name => $database_name,
+ database_schema => $database_schema,
+ database_user => $database_user,
+ database_password => $database_password,
+ database_socket => $database_socket,
+ database_port => $database_port,
+ database_tlsconnect => $database_tlsconnect,
+ database_tlscafile => $database_tlscafile,
+ startpollers => $startpollers,
+ startagentpollers => $startagentpollers,
+ starthttpagentpollers => $starthttpagentpollers,
+ startsnmppollers => $startsnmppollers,
+ maxconcurrentchecksperpoller => $maxconcurrentchecksperpoller,
+ startipmipollers => $startipmipollers,
+ startodbcpollers => $startodbcpollers,
+ startpollersunreachable => $startpollersunreachable,
+ starthistorypollers => $starthistorypollers,
+ startpreprocessors => $startpreprocessors,
+ starttrappers => $starttrappers,
+ startpingers => $startpingers,
+ startalerters => $startalerters,
+ startdiscoverers => $startdiscoverers,
+ startescalators => $startescalators,
+ starthttppollers => $starthttppollers,
+ starttimers => $starttimers,
+ javagateway => $javagateway,
+ javagatewayport => $javagatewayport,
+ startjavapollers => $startjavapollers,
+ startlldprocessors => $startlldprocessors,
+ startvmwarecollectors => $startvmwarecollectors,
+ vaultdbpath => $vaultdbpath,
+ vaulttoken => $vaulttoken,
+ vaulturl => $vaulturl,
+ vmwarefrequency => $vmwarefrequency,
+ vmwarecachesize => $vmwarecachesize,
+ vmwaretimeout => $vmwaretimeout,
+ snmptrapperfile => $snmptrapperfile,
+ startsnmptrapper => $startsnmptrapper,
+ listenip => $listenip,
+ housekeepingfrequency => $housekeepingfrequency,
+ maxhousekeeperdelete => $maxhousekeeperdelete,
+ cachesize => $cachesize,
+ cacheupdatefrequency => $cacheupdatefrequency,
+ startdbsyncers => $startdbsyncers,
+ historycachesize => $historycachesize,
+ trendcachesize => $trendcachesize,
+ historyindexcachesize => $historyindexcachesize,
+ valuecachesize => $valuecachesize,
+ timeout => $timeout,
+ tlscafile => $tlscafile,
+ tlscertfile => $tlscertfile,
+ tlscrlfile => $tlscrlfile,
+ tlskeyfile => $tlskeyfile,
+ tlscipherall => $tlscipherall,
+ tlscipherall13 => $tlscipherall13,
+ tlsciphercert => $tlsciphercert,
+ tlsciphercert13 => $tlsciphercert13,
+ tlscipherpsk => $tlscipherpsk,
+ tlscipherpsk13 => $tlscipherpsk13,
+ trappertimeout => $trappertimeout,
+ unreachableperiod => $unreachableperiod,
+ unavailabledelay => $unavailabledelay,
+ unreachabledelay => $unreachabledelay,
+ alertscriptspath => $alertscriptspath,
+ externalscripts => $externalscripts,
+ fpinglocation => $fpinglocation,
+ fping6location => $fping6location,
+ sshkeylocation => $sshkeylocation,
+ logslowqueries => $logslowqueries,
+ tmpdir => $tmpdir,
+ startproxypollers => $startproxypollers,
+ proxyconfigfrequency => $proxyconfigfrequency,
+ proxydatafrequency => $proxydatafrequency,
+ allowroot => $allowroot,
+ include_dir => $include_dir,
+ loadmodulepath => $loadmodulepath,
+ loadmodule => $loadmodule,
+ manage_selinux => $manage_selinux,
+ additional_service_params => $additional_service_params,
+ require => Class['zabbix::database'],
}
class { 'zabbix::database':
diff --git a/manifests/params.pp b/manifests/params.pp
index baf616c4..da38feb0 100755
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -249,13 +249,18 @@
$server_startdiscoverers = '1'
$server_startescalators = 1
$server_starthttppollers = '1'
- $server_startipmipollers = '0'
+ $server_startipmipollers = 0
$server_startjavapollers = '5'
$server_startlldprocessors = 2
$server_startodbcpollers = 1
$server_startpingers = '1'
- $server_startpollers = '5'
- $server_startpollersunreachable = '1'
+ $server_startpollers = 5
+ $server_startagentpollers = 1
+ $server_starthttpagentpollers = 1
+ $server_startsnmppollers = 1
+ $server_maxconcurrentchecksperpoller = 100
+ $server_startpollersunreachable = 1
+ $server_starthistorypollers = 5
$server_startpreprocessors = 3
$server_startproxypollers = '1'
$server_startsnmptrapper = '0'
@@ -422,12 +427,16 @@
$proxy_startdbsyncers = '4'
$proxy_startdiscoverers = '1'
$proxy_starthttppollers = '1'
- $proxy_startipmipollers = '0'
+ $proxy_startipmipollers = 0
$proxy_startjavapollers = '5'
$proxy_startpingers = '1'
$proxy_startodbcpollers = 1
- $proxy_startpollers = '5'
- $proxy_startpollersunreachable = '1'
+ $proxy_startpollers = 5
+ $proxy_startagentpollers = 1
+ $proxy_starthttpagentpollers = 1
+ $proxy_startsnmppollers = 1
+ $proxy_maxconcurrentchecksperpoller = 100
+ $proxy_startpollersunreachable = 1
$proxy_startpreprocessors = 3
$proxy_starttrappers = '5'
$proxy_startvmwarecollectors = '0'
diff --git a/manifests/proxy.pp b/manifests/proxy.pp
index f0116998..b7efe7f9 100755
--- a/manifests/proxy.pp
+++ b/manifests/proxy.pp
@@ -62,6 +62,10 @@
# @param proxyconfigfrequency How often proxy retrieves configuration data from Zabbix Server in seconds (Zabbix 6.4).
# @param datasenderfrequency Proxy will send collected data to the Server every N seconds.
# @param startpollers Number of pre-forked instances of pollers.
+# @param startagentpollers Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param starthttpagentpollers Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param startsnmppollers Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+# @param maxconcurrentchecksperpoller Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
# @param startpreprocessors Number of pre-forked instances of preprocessing workers
# @param startipmipollers Number of pre-forked instances of ipmi pollers.
# @param startodbcpollers Number of pre-forked instances of ODBC pollers.
@@ -239,10 +243,14 @@
$configfrequency = $zabbix::params::proxy_configfrequency,
Optional[Integer[1,604800]] $proxyconfigfrequency = $zabbix::params::proxy_proxyconfigfrequency,
$datasenderfrequency = $zabbix::params::proxy_datasenderfrequency,
- $startpollers = $zabbix::params::proxy_startpollers,
- $startipmipollers = $zabbix::params::proxy_startipmipollers,
+ Integer[0, 1000] $startpollers = $zabbix::params::proxy_startpollers,
+ Integer[0, 1000] $startagentpollers = $zabbis::params::proxy_startagentpollers,
+ Integer[0, 1000] $starthttpagentpollers = $zabbix::params::proxy_starthttpagentpollers,
+ Integer[0, 1000] $startsnmppollers = $zabbix::params::proxy_startsnmppollers,
+ Integer[0, 1000] $maxconcurrentchecksperpoller = $zabbix::params::proxy_maxconcurrentchecksperpoller,
+ Integer[0, 1000] $startipmipollers = $zabbix::params::proxy_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::proxy_startodbcpollers,
- $startpollersunreachable = $zabbix::params::proxy_startpollersunreachable,
+ Integer[0, 1000] $startpollersunreachable = $zabbix::params::proxy_startpollersunreachable,
Integer[1, 1000] $startpreprocessors = $zabbix::params::proxy_startpreprocessors,
$starttrappers = $zabbix::params::proxy_starttrappers,
$startpingers = $zabbix::params::proxy_startpingers,
diff --git a/manifests/server.pp b/manifests/server.pp
index 83b496ed..c8f1689e 100755
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -48,10 +48,18 @@
# @param database_tlscipher The list of encryption ciphers that Zabbix server permits for TLS protocols up through TLSv1.2.
# @param database_tlscipher13 The list of encryption ciphersuites that Zabbix server permits for TLSv1.3 protocol.
# @param startpollers Number of pre-forked instances of pollers.
+# @param startagentpollers Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param starthttpagentpollers Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+# @param startsnmppollers Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+# @param maxconcurrentchecksperpoller Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
# @param startpreprocessors Number of pre-forked instances of preprocessing workers
# @param startipmipollers Number of pre-forked instances of ipmi pollers.
# @param startodbcpollers Number of pre-forked instances of ODBC pollers.
# @param startpollersunreachable Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
+# @param starthistorypollers
+# Number of pre-forked instances of history pollers.
+# Only required for calculated checks.
+# A database connection is required for each history poller instance.
# @param starttrappers Number of pre-forked instances of trappers.
# @param startpingers Number of pre-forked instances of icmp pingers.
# @param startalerters Number of pre-forked instances of alerters.
@@ -206,10 +214,15 @@
Optional[String[1]] $database_tlscipher = $zabbix::params::server_database_tlscipher,
Optional[String[1]] $database_tlscipher13 = $zabbix::params::server_database_tlscipher13,
Array[String[1]] $smsdevices = $zabbix::params::server_smsdevices,
- $startpollers = $zabbix::params::server_startpollers,
- $startipmipollers = $zabbix::params::server_startipmipollers,
+ Integer[0, 1000] $startpollers = $zabbix::params::server_startpollers,
+ Integer[0, 1000] $startagentpollers = $zabbix::params::server_startagentpollers,
+ Integer[0, 1000] $starthttpagentpollers = $zabbix::params::server_starthttpagentpollers,
+ Integer[0, 1000] $startsnmppollers = $zabbix::params::server_startsnmppollers,
+ Integer[0, 1000] $maxconcurrentchecksperpoller = $zabbix::params::server_maxconcurrentchecksperpoller,
+ Integer[0, 1000] $startipmipollers = $zabbix::params::server_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::server_startodbcpollers,
- $startpollersunreachable = $zabbix::params::server_startpollersunreachable,
+ Integer[0, 1000] $startpollersunreachable = $zabbix::params::server_startpollersunreachable,
+ Integer[0, 1000] $starthistorypollers = $zabbix::params::server_starthistorypollers,
Integer[1, 1000] $startpreprocessors = $zabbix::params::server_startpreprocessors,
$starttrappers = $zabbix::params::server_starttrappers,
$startpingers = $zabbix::params::server_startpingers,
diff --git a/templates/zabbix_proxy.conf.erb b/templates/zabbix_proxy.conf.erb
index 03c044cb..6845ead1 100755
--- a/templates/zabbix_proxy.conf.erb
+++ b/templates/zabbix_proxy.conf.erb
@@ -300,32 +300,28 @@ StartPollers=<%= @startpollers %>
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartAgentPollers=1
+StartAgentPollers=<%= @startagentpollers %>
### Option: StartHTTPAgentPollers
# Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartHTTPAgentPollers=1
+StartHTTPAgentPollers=<%= @starthttpagentpollers %>
### Option: StartSNMPPollers
# Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartSNMPPollers=1
+StartSNMPPollers=<%= @startsnmpagentpollers %>
### Option: MaxConcurrentChecksPerPoller
# Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
#
# Mandatory: no
# Range: 1-1000
-# Default:
-# MaxConcurrentChecksPerPoller=1000
+MaxConcurrentChecksPerPoller=<%= @maxconcurrentchecksperpoller %>
<% end %>
### Option: StartIPMIPollers
diff --git a/templates/zabbix_server.conf.erb b/templates/zabbix_server.conf.erb
index db4a64c1..06867de4 100755
--- a/templates/zabbix_server.conf.erb
+++ b/templates/zabbix_server.conf.erb
@@ -189,32 +189,28 @@ StartPollers=<%= @startpollers %>
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartAgentPollers=1
+StartAgentPollers=<%= @startagentpollers %>
### Option: StartHTTPAgentPollers
# Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartHTTPAgentPollers=1
+StartHTTPAgentPollers=<%= @starthttpagentpollers %>
### Option: StartSNMPPollers
# Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
#
# Mandatory: no
# Range: 0-1000
-# Default:
-# StartSNMPPollers=1
+StartSNMPPollers=<%= @startsnmpagentpollers %>
### Option: MaxConcurrentChecksPerPoller
# Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
#
# Mandatory: no
# Range: 1-1000
-# Default:
-# MaxConcurrentChecksPerPoller=1000
+MaxConcurrentChecksPerPoller=<%= @maxconcurrentchecksperpoller %>
<% end %>
### Option: StartIPMIPollers
@@ -250,7 +246,7 @@ StartPollersUnreachable=<%= @startpollersunreachable %>
# Mandatory: no
# Range: 0-1000
# Default:
-# StartHistoryPollers=5
+StartHistoryPollers=<%= @starthistorypollers %>
<% end %>
<% if @zabbix_version.to_f >= 6.0 %>