diff --git a/REFERENCE.md b/REFERENCE.md
index 92e260d7..2532e7aa 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -145,6 +145,10 @@ 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)
@@ -726,6 +730,39 @@ Number of pre-forked instances of pollers.
Default value: `$zabbix::params::server_startpollers`
+##### `startagentpollers`
+
+Data type: `Integer[1, 1000]`
+
+Number of pre-forked instances of asynchronous Zabbix agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startagentpollers`
+
+##### `starthttpagentpollers`
+
+Data type: `Integer[1, 1000]`
+
+Number of pre-forked instances of asynchronous HTTP agent pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_starthttpagentpollers`
+
+##### `startsnmppollers`
+
+Data type: `Integer[1, 1000]`
+
+Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
+
+Default value: `$zabbix::params::server_startsnmppollers`
+
+##### `maxconcurrentchecksperpoller`
+
+Data type: `Integer[1, 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]`
diff --git a/manifests/params.pp b/manifests/params.pp
index 9e671857..f5b84285 100755
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -252,6 +252,10 @@
$server_startodbcpollers = 1
$server_startpingers = '1'
$server_startpollers = '5'
+ $server_startagentpollers = 1
+ $server_starthttpagentpollers = 1
+ $server_startsnmppollers = 1
+ $server_maxconcurrentchecksperpoller = 1000
$server_startpollersunreachable = '1'
$server_startpreprocessors = 3
$server_startproxypollers = '1'
diff --git a/manifests/server.pp b/manifests/server.pp
index 1aea8780..a9d04c9c 100755
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -48,6 +48,10 @@
# @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.
@@ -205,6 +209,10 @@
Optional[String[1]] $database_tlscipher = $zabbix::params::server_database_tlscipher,
Optional[String[1]] $database_tlscipher13 = $zabbix::params::server_database_tlscipher13,
$startpollers = $zabbix::params::server_startpollers,
+ Integer[1, 100] $startagentpollers = $zabbix::params::server_startagentpollers,
+ Integer[1, 100] $starthttpagentpollers = $zabbix::params::server_starthttpagentpollers,
+ Integer[1, 100] $startsnmppollers = $zabbix::params::server_startsnmppollers,
+ Integer[1, 100] $maxconcurrentchecksperpoller = $zabbix::params::server_maxconcurrentchecksperpoller,
$startipmipollers = $zabbix::params::server_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::server_startodbcpollers,
$startpollersunreachable = $zabbix::params::server_startpollersunreachable,
diff --git a/templates/zabbix_server.conf.erb b/templates/zabbix_server.conf.erb
index 9aaba7fd..20954dd1 100755
--- a/templates/zabbix_server.conf.erb
+++ b/templates/zabbix_server.conf.erb
@@ -190,7 +190,7 @@ 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.
@@ -198,7 +198,7 @@ StartPollers=<%= @startpollers %>
# Mandatory: no
# Range: 0-1000
# Default:
-# StartHTTPAgentPollers=1
+StartHTTPAgentPollers=<%= @starthttpagentpollers %>
### Option: StartSNMPPollers
# Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.
@@ -206,7 +206,7 @@ StartPollers=<%= @startpollers %>
# Mandatory: no
# Range: 0-1000
# Default:
-# StartSNMPPollers=1
+StartSNMPPollers=<%= @startsnmppollers %>
### Option: MaxConcurrentChecksPerPoller
# Maximum number of asynchronous checks that can be executed at once by each HTTP agent poller or agent poller.
@@ -214,7 +214,7 @@ StartPollers=<%= @startpollers %>
# Mandatory: no
# Range: 1-1000
# Default:
-# MaxConcurrentChecksPerPoller=1000
+MaxConcurrentChecksPerPoller=<%= @maxconcurrentchecksperpoller %>
<% end %>
### Option: StartIPMIPollers