From 71623f12c549b3db680c93977fbf964e977bc471 Mon Sep 17 00:00:00 2001 From: Trent Anderson Date: Thu, 24 Oct 2024 21:01:15 +1100 Subject: [PATCH] Enable 4 new 7+ server parameters --- REFERENCE.md | 37 ++++++++++++++++++++++++++++++++ manifests/init.pp | 8 +++++++ manifests/params.pp | 4 ++++ manifests/server.pp | 8 +++++++ templates/zabbix_server.conf.erb | 8 +++---- 5 files changed, 61 insertions(+), 4 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 92e260d75..2532e7aab 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/init.pp b/manifests/init.pp index 830218ccd..39b90fa8c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -103,6 +103,10 @@ # * 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. @@ -274,6 +278,10 @@ 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, + 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/manifests/params.pp b/manifests/params.pp index 9e6718570..f5b84285d 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 1aea87800..a9d04c9cc 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 9aaba7fd3..20954dd13 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