Skip to content

Commit

Permalink
Enable 4 new 7+ server parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Trent Anderson committed Oct 24, 2024
1 parent feb6014 commit 1785781
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 94 deletions.
37 changes: 37 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -726,6 +730,39 @@ Number of pre-forked instances of pollers.

Default value: `$zabbix::params::server_startpollers`

##### <a name="-zabbix--startagentpollers"></a>`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`

##### <a name="-zabbix--starthttpagentpollers"></a>`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`

##### <a name="-zabbix--startsnmppollers"></a>`startsnmppollers`

Data type: `Integer[1, 1000]`

Number of pre-forked instances of asynchronous SNMP pollers. Also see MaxConcurrentChecksPerPoller.

Default value: `$zabbix::params::server_startsnmppollers`

##### <a name="-zabbix--maxconcurrentchecksperpoller"></a>`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`


##### <a name="-zabbix--startpreprocessors"></a>`startpreprocessors`

Data type: `Integer[1, 1000]`
Expand Down
192 changes: 102 additions & 90 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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, 1000] $maxconcurrentchecksperpoller = $zabbix::params::server_maxconcurrentchecksperpoller,
$startipmipollers = $zabbix::params::server_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::server_startodbcpollers,
$startpollersunreachable = $zabbix::params::server_startpollersunreachable,
Expand Down Expand Up @@ -399,96 +407,100 @@
}

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,
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,
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'],
}

class { 'zabbix::database':
Expand Down
4 changes: 4 additions & 0 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
8 changes: 8 additions & 0 deletions manifests/server.pp
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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, 1000] $maxconcurrentchecksperpoller = $zabbix::params::server_maxconcurrentchecksperpoller,
$startipmipollers = $zabbix::params::server_startipmipollers,
Integer[0, 1000] $startodbcpollers = $zabbix::params::server_startodbcpollers,
$startpollersunreachable = $zabbix::params::server_startpollersunreachable,
Expand Down
8 changes: 4 additions & 4 deletions templates/zabbix_server.conf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -190,31 +190,31 @@ 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=<%= @startsnmppollers %>

### 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
Expand Down

0 comments on commit 1785781

Please sign in to comment.