zabbix
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- Archlinux, Gentoo, , , , , , , , , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-zabbix', '10.0.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-zabbix
Table of Contents
- Overview
- Upgrade
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with the zabbix module
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Contributors
- Notes
Overview
This module contains the classes for installing and configuring the following zabbix components:
- zabbix-server
- zabbix-agent
- zabbix-proxy
- zabbix-javagateway
- zabbix-sender
This readme will contain all basic information to get you started. Some more information can be found on the github wiki, location: https://github.com/voxpupuli/puppet-zabbix/wiki
Module Description
When using this module, you can monitor your whole environment with zabbix. It can install the various zabbix components like the server and agent, but you will also be able to install specific "userparameter" file which zabbix can use for monitoring.
With the 0.4.0 release, you can - when you have configured exported resources - configure agents and proxies in the webinterface. So when you add an zabbix::agent to an host, it first install the agent onto the host. It will send some data to the puppetdb and when puppet runs on the zabbix-server it will create this new host via the zabbix-api.
Be aware when you have a lot of hosts, it will increase the puppet runtime on the zabbix-server host. It will check via the zabbix-api if hosts exits and costs time.
This module make uses of this gem: https://github.com/express42/zabbixapi With this gem it is possible to create/update hosts/proxy in ruby easy.
Upgrade
1.0.0
With release 1.0.0 the zabbix::server class is split into 3 classes:
- zabbix::web
- zabbix::server
- zabbix::database
Now you can use 3 machines for each purpose. This is something for the bigger environments to spread the load.
When upgrading from 0.x.x to 1.x.x, be aware of the following changes:
- Choose the correct zabbix setup for your environment *:
- Single node
- Multi node
- Path changes for the database ".done" file. Create the following files in /etc/zabbix/:
- /etc/zabbix/.schema.done
- /etc/zabbix/.images.done
- /etc/zabbix/.data.done
- Rename of the following parameters:
- dbtype --> database_type
- dbhost --> database_host
- dbuser --> database_user
- dbpass --> database_password
- dbschema --> database_schema
- dbname --> database_name
- dbsocket --> database_socket
- dbport --> database_port
* check this document/paragraph how to setup your environment. There were multiple changes to make this work (Like moving parameters to other (new) classes).
In case I missed something, please let me know and will update this document.
2.0.0
Altough this is an major update, there is only one small change that we need to discuss and is specifically for the Zabbix Proxy.
The following properties for the zabbix::proxy needs to have the sizes:
- vmwarecachesize
- cachesize
- historycachesize
- historytextcachesize
Before 2.0.0 these could be used with an single integer, as in the template was hardcoded the 'M'. With release 2.0.0 you'll have to use the correct full size like: 8M, 16M or 2G.
Setup
As this puppet module contains specific components for zabbix, you'll need to specify which you want to install. Every zabbix component has his own zabbix:: class. Here you'll find each component.
Setup zabbix-server
This will install an basic zabbix-server instance. You'll have to decide if you want to run everything on a single host or multiple hosts. When installing on a single host, the 'zabbix' class can be used. When you want to use more than 1 host, you'll need the following classes:
- zabbix::web
- zabbix::server
- zabbix::database
You can see at "usage" in this documentation how all of this can be achieved.
You will need to supply one parameter: zabbix_url. This is the url on which the zabbix instance will be available. With the example at "setup", the zabbix webinterface will be: http://zabbix.example.com.
When installed succesfully, zabbix web interface will be accessable and you can login with the default credentials:
Username: Admin Password: zabbix
Usage
The following will provide an basic usage of the zabbix components.
Usage zabbix-server
The zabbix-server can be used in 2 ways:
- one node setup
- multiple node setup.
The following is an example for using the PostgreSQL as database:
node 'zabbix.example.com' {
class { 'apache':
mpm_module => 'prefork',
}
class { 'zabbix':
zabbix_url => 'zabbix.example.com',
}
}
When you want to make use of an MySQL database as backend:
node 'zabbix.example.com' {
class { 'apache':
mpm_module => 'prefork',
}
class { 'zabbix':
zabbix_url => 'zabbix.example.com',
database_type => 'mysql',
}
}
Everything will be installed on the same server. There is also an possibility to seperate the components, please check the following wiki: https://github.com/voxpupuli/puppet-zabbix/wiki/Multi-node-Zabbix-Server-setup
Please note that if you use apache as the frontend (which is the default) and SELinux is enabled, you need to set these SEBooleans (preferably in a profile) to allow apache to connect to the database:
if $facts['selinux'] {
selboolean { ['httpd_can_network_connect', 'httpd_can_network_connect_db']:
persistent => true,
value => 'on',
}
}
Usage zabbix-agent
Basic one way of setup, wheter it is monitored by zabbix-server or zabbix-proxy:
class { 'zabbix::agent':
server => '192.168.20.11',
}
To install on Windows without requiring the use of chocolatey
:
$tmpdir = $facts['windows_env']['TMP'];
download_file { 'get zabbix-installer.msi':
url => "https://<hostname>/zabbix_agent-${zabbix_version}-windows-amd64-openssl.msi",
destination_directory => $tmpdir,
destination_file => "zabbix_agent-windows-amd64-openssl.msi",
}
class { 'zabbix::agent':
zabbix_version => $zabbix_version,
manage_resources => true,
manage_choco => false,
zabbix_package_agent => "Zabbix Agent (64-bit)",
zabbix_package_state => present,
zabbix_package_provider => 'windows',
zabbix_package_source => "${tmpdir}/zabbix_agent-windows-amd64-openssl.msi",
}
Usage zabbix-agent2
Basic one way of setup, wheter it is monitored by zabbix-server or zabbix-proxy:
class { 'zabbix::agent':
agent_configfile_path => '/etc/zabbix/zabbix_agent2.conf',
include_dir => '/etc/zabbix/zabbix_agent2.d',
include_dir_purge => false,
zabbix_package_agent => 'zabbix-agent2',
servicename => 'zabbix-agent2',
manage_startup_script => false,
server => '192.168.20.11',
}
Usage zabbix-proxy
Like the zabbix-server, the zabbix-proxy can also be used in 2 ways:
- single node
- multiple node
The following is an example for using the PostgreSQL as database:
node 'proxy.example.com' {
class { 'zabbix::database':
database_type => 'postgresql',
}
class { 'zabbix::proxy':
zabbix_server_host => '192.168.20.11',
database_type => 'postgresql',
}
}
When you want to make use of an MySQL database as backend:
node 'proxy.example.com' {
class { 'zabbix::database':
database_type => 'mysql',
}
class { 'zabbix::proxy':
zabbix_server_host => '192.168.20.11',
database_type => 'mysql',
}
}
When you want to make use of an sqlite database as backend:
class { 'zabbix::proxy':
zabbix_server_host => 'zabbix.example.com',
database_type => 'sqlite',
database_name => '/tmp/database',
}
You'll have to specify the location to the file in the database_name
parameter. Zabbix should have write access to the file/directory.
Everything will be installed on the same server. There is also an possibility to seperate the components, please check the following wiki: https://github.com/voxpupuli/puppet-zabbix/wiki/Multi-node-Zabbix-Proxy-setup
Usage zabbix-javagateway
The zabbix-javagateway can be used with an zabbix-server or zabbix-proxy. You'll need to install it on an server. (Can be together with zabbix-server or zabbix-proxy, you can even install it on a sperate machine.). The following example shows you to use it on a seperate machine.
node 'server05.example.com' {
# My ip: 192.168.20.15
class { 'zabbix::javagateway': }
}
When installed on seperate machine, the zabbix::server configuration should be updated by adding the javagateway
parameter.
node 'server01.example.com' {
class { 'zabbix::server':
zabbix_url => 'zabbix.example.com',
javagateway => '192.168.20.15',
}
}
Or when using with an zabbix-proxy:
node 'server11.example.com' {
class { 'zabbix::proxy':
zabbix_server_host => '192.168.20.11',
javagateway => '192.168.20.15',
}
}
Usage zabbix-sender
The zabbix-sender installation is quite simple and straightforward:
include zabbix::sender
Usage zabbix-userparameters
Using an 'source' file:
zabbix::userparameters { 'mysql':
source => 'puppet:///modules/zabbix/mysqld.conf',
}
Or for example when you have just one entry:
zabbix::userparameters { 'mysql':
content => 'UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive',
}
Using an LLD 'script' file:
zabbix::userparameters { 'lld_snort.sh':
script => 'puppet:///modules/zabbix/lld_snort.sh',
}
When you are using Hiera or The Foreman, you can use it like this:
---
classes:
zabbix::userparameter:
data:
mongo:
source: puppet:///modules/zabbix/mongo.conf
Content of the mongo.conf:
UserParameter=mongo.coll.count[*],echo "db.setSlaveOk();db.getCollection('$1').count()" | /opt/mongo/bin/mongo processor | sed -n 3p
UserParameter=mongo.db.queries,echo "db.currentOp().inprog.length" | /opt/mongo/bin/mongo processor | sed -n 3p
Screenshot from The Foreman (With thanks to "inspired-geek" )
When running the puppet-agent command, it will install the mongo.conf file on the host.
Usage zabbix-template
With the 'zabbix::template' define, you can install Zabbix templates via the API. You'll have to make sure you store the XML file somewere on your puppet server or in your module.
Please be aware that you can only make use of this feature when you have configured the module to make use of exported resources.
You can install the MySQL template xml via the next example:
zabbix::template { 'Template App MySQL':
templ_source => 'puppet:///modules/zabbix/MySQL.xml'
}
zabbix::template
class accepts zabbix_version
parameter, by default is set to module's default Zabbix version.
Please override if you are using a different version.
zabbix::template { 'Template App MySQL':
templ_source => 'puppet:///modules/zabbix/MySQL.xml',
zabbix_version => '5.2'
}
Zabbix Upgrades
It is possible to do upgrades via this module. An example for the zabbix agent:
class{'zabbix::agent':
zabbix_version => '2.4',
manage_repo => true,
}
This will install the latest zabbix 2.4 agent for you. The module won't to any upgrades nor install patch releases. If you want to get patch releases automatically:
class{'zabbix::agent':
zabbix_version => '2.4',
manage_repo => true,
zabbix_package_state => 'latest',
}
Let's asume zabbix just released version 3.4. Than you can do upgrades as follow:
class{'zabbix::agent':
zabbix_version => '3.4',
manage_repo => true,
zabbix_package_state => 'latest',
}
You can also tell the module to only create the new repository, but not to update the existing agent:
class{'zabbix::agent':
zabbix_version => '3.4',
manage_repo => true,
zabbix_package_state => 'installed',
}
Last but not least you can disable the repo management completely, which will than install zabbix from the present system repos:
class{'zabbix::agent':
manage_repo => false,
zabbix_package_state => 'present',
}
Even in this scenario you can do automatic upgrades via the module (it is the job of the user to somehow bring updates into the repo, for example by managing the repo on their own):
class{'zabbix::agent':
manage_repo => false,
zabbix_package_state => 'latest',
}
Reference
Take a look at the REFERENCE.md.
Limitations
This module supports Zabbix 4.0, 5.0, and 6.0. The upstream supported versions are documented here Please have a look into the metadata.json for all supported operating systems.
This module is supported on both the community and the Enterprise version of Puppet.
Please be aware, that when manage_resources is enabled, it can increase an puppet run on the zabbix-server a lot when you have a lot of hosts.
Contributors
ericsysmin will be helping and maintaining this puppet module. In Github terms he is an Collaborator. So don't be suprised if he acceps/rejects Pull Requests and comment in issues.
The following have contributed to this puppet module:
- Suff
- gattebury
- sq4ind
- nburtsev
- actionjack
- karolisc
- lucas42
- f0
- mmerfort
- genebean
- meganuke19
- fredprod
- ericsysmin
- JvdW
- rleemorlang
- genebean
- exptom
- sbaryakov
- roidelapluie
- andresvia
- ju5t
- elricsfate
- IceBear2k
- altvnk
- rnelson0
- hkumarmk
- Wprosdocimo
- 1n
- szemlyanoy
- Wprosdocimo
- sgnl05
- hmn
- BcTpe4HbIu
- mschuett
- claflico
- bastelfreak
- Oyabi
- akostetskiy
- DjxDeaf
- tcatut
- inspired-geek
- ekohl
- z3rogate
- mkrakowitzer
- eander210
- hkumarmk
- ITler
- slashr00t
- channone-arif-nbcuni
- BcTpe4HbIu
- vide
Many thanks for this! (If I have forgotten you, please let me know and put you in the list of fame. :-))
Note
Standard usage
- Not specified as required but for working correctly, the epel repository should be available for the 'fping'|'fping6' packages.
- Make sure you have sudo installed and configured with: !requiretty.
SE Linux
On systems with SE Linux active and enforcing, Zabbix agent will be limited unless given proper rights with an SE Linux module. This Puppet module will apply some default SE Linux rules for it. More can be provided if needed by using two class parameters, for example in Hiera YAML:
zabbix::agent::selinux_require:
- 'type zabbix_agent_t'
- 'class process setrlimit'
zabbix::agent::selinux_rules:
zabbix_agent_t:
- 'allow zabbix_agent_t self:process setrlimit'
zabbix_script_t:
- 'allow zabbix_script_t zabbix_agent_t:process sigchld'
When using exported resources
At the moment of writing, the puppet run will fail one or more times when manage_resources
is set to true when you install an fresh Zabbix server. It is an issue and I'm aware of it. Don't know yet how to solve this, but someone suggested to try puppet stages and for know I haven't made it work yet.
- Please be aware, that when
manage_resources
is enabled, it can increase an puppet run on the zabbix-server a lot when you have a lot of hosts. You also need to ensure that you've got ruby installed on your machine, and related packages to compile native extensions for gems (usually gcc and make). - First run of puppet on the zabbix-server can result in this error:
Error: Could not run Puppet configuration client: cannot load such file -- zabbixapi
Error: Could not run: can't convert Puppet::Util::Log into Integer
See: http://comments.gmane.org/gmane.comp.sysutils.puppet.user/47508, comment: Jeff McCune | 20 Nov 20:42 2012
This specific issue is a chicken and egg problem where by a provider needs a gem, but the catalog run itself is the thing that provides the gem dependency. That is to say, even in Puppet 3.0 where we delay loading all of the providers until after pluginsync finishes, the catalog run hasn't yet installed the gem when the provider is loaded.
The reason I think this is basically a very specific incarnation of #6907 is because that ticket is pretty specific from a product functionality perspective, "You should not have to run puppet twice to use a provider."
After another puppet run, it will run succesfully.
- On a Red Hat family server, the 2nd run will sometimes go into error:
Could not evaluate: Connection refused - connect(2)
When running puppet again (for 3rd time) everything goes fine.
Transfer Notice
This plugin was originally authored by Werner Dijkerman. The maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance. Existing pull requests and issues were transferred over, please fork and continue to contribute at https://github.com/voxpupuli/puppet-zabbix
Previously: https://github.com/dj-wasabi/puppet-zabbix
Reference
Table of Contents
Classes
Public Classes
zabbix
: This will install and configure the zabbix-server on a single host.zabbix::agent
: This will install and configure the zabbix-agent deamonzabbix::database
: This will install the correct database and one or more users for correct usagezabbix::database::sqlite
: Class to handle sqlite database installations zabbix will automatically create a sqlite schema if one does not already exist.zabbix::javagateway
: This will install and configure the zabbix-agent deamonzabbix::params
: This class manages zabbix server parameterszabbix::proxy
: This will install and configure the zabbix-proxy deamonzabbix::repo
: If enabled, this will install the repository used for installing zabbixzabbix::resources::agent
: This will create resources into puppetdb for automatically configuring agent into zabbix front-end.zabbix::resources::proxy
: This will create resources into puppetdb for automatically configuring proxy agent into zabbix front-end.zabbix::resources::web
: This will load all zabbix related items from the puppet database and uses the zabbixapi gem to add/configure hosts via the zabbix-apizabbix::sender
: This will install and configure the zabbix-agent deamonzabbix::server
: This will install and configure the zabbix-server deamonzabbix::userparameter
: This class can be used when you use hiera or The Foreman. With this tools you can't use and define. This make use of "create_resources".zabbix::web
: This will install the zabbix-web package and install an virtual host.zabbix::zabbixapi
: This will install the zabbixapi gem.zabbix::zapache
: This will install and configure the zapache monitoring script Upstream: https://github.com/lorf/zapache
Private Classes
zabbix::database::mysql
: This will install and load the sql files for the tables and other data which is needed for zabbix.zabbix::database::postgresql
: This will install and load the sql files for the tables and other data which is needed for zabbix.
Defined types
zabbix::resources::template
: This will create resources into puppetdb for automatically configuring agent into zabbix front-end.zabbix::resources::userparameters
: This will create resources into puppetdb for automatically configuring agent into zabbix front-end.zabbix::startup
: This manage the zabbix related service startup script.zabbix::template
: This will upload an Zabbix Template (XML format)zabbix::userparameters
: This will install an userparameters file with keys for items that can be checked with zabbix.
Resource types
zabbix_application
: Manage zabbix applications Example: zabbix_application{"app1": ensure => present, template => 'template1', } It Raise exceptiozabbix_host
: Manage zabbix hostszabbix_hostgroup
: Manage zabbix hostgroupszabbix_proxy
: Manage zabbix proxieszabbix_template
: Manage zabbix templateszabbix_template_host
: Link or Unlink template to host. Only for Zabbix < 6.0! Example: zabbix_template_host{ 'mysql_template@db1': ensure => present, } Nazabbix_userparameters
: Manage zabbix user templates
Data types
Zabbix::Databases
: Type for supported databases by the zabbix moduleZabbix::Historyics
: Type for size values in bytes (also allows k/K and m/M as appendix)
Classes
zabbix
This will install and configure the zabbix-server on a single host.
Examples
Single host setup:
class { 'zabbix':
zabbix_url => 'zabbix.dj-wasabi.nl',
}
This assumes that you want to use the postgresql database. If not and you want to supply your own database crendentials:
class { 'zabbix':
zabbix_url => 'zabbix.dj-wasabi.nl',
database_type => 'mysql',
database_user => 'zabbix',
database_password => 'ThisIsVeryDifficult.nl',
}
Parameters
The following parameters are available in the zabbix
class:
zabbix_url
zabbix_version
zabbix_timezone
zabbix_template_dir
zabbix_package_state
zabbix_server
zabbix_server_ip
zabbix_web
zabbix_web_ip
database_type
database_path
manage_database
manage_repo
manage_firewall
manage_service
manage_resources
manage_vhost
default_vhost
apache_use_ssl
apache_ssl_cert
apache_ssl_key
apache_ssl_cipher
apache_ssl_chain
apache_listen_ip
apache_listenport
apache_listenport_ssl
apache_php_max_execution_time
apache_php_memory_limit
apache_php_post_max_size
apache_php_upload_max_filesize
apache_php_max_input_time
apache_php_always_populate_raw_post_data
ldap_cacert
ldap_clientcert
ldap_clientkey
ldap_reqcert
zabbix_api_user
zabbix_api_pass
zabbix_api_access
listenport
sourceip
logfile
logfilesize
logtype
debuglevel
pidfile
database_host
database_name
database_schema
database_double_ieee754
database_user
database_password
database_socket
database_port
database_charset
database_collate
database_tablespace
database_tlsconnect
database_tlscafile
startpollers
startpreprocessors
startipmipollers
startodbcpollers
startpollersunreachable
starttrappers
startpingers
startalerters
startdiscoverers
startescalators
starthttppollers
starttimers
javagateway
javagatewayport
startjavapollers
startlldprocessors
startvmwarecollectors
vaultdbpath
vaulttoken
vaulturl
vmwarefrequency
vmwarecachesize
vmwaretimeout
snmptrapperfile
startsnmptrapper
listenip
housekeepingfrequency
maxhousekeeperdelete
cachesize
cacheupdatefrequency
startdbsyncers
historycachesize
historyindexcachesize
trendcachesize
valuecachesize
timeout
tlscafile
tlscertfile
tlscrlfile
tlskeyfile
tlscipherall
tlscipherall13
tlsciphercert
tlsciphercert13
tlscipherpsk
tlscipherpsk13
trappertimeout
unreachableperiod
unavailabledelay
unreachabledelay
alertscriptspath
externalscripts
fpinglocation
fping6location
sshkeylocation
logslowqueries
tmpdir
startproxypollers
proxyconfigfrequency
proxydatafrequency
allowroot
include_dir
loadmodulepath
loadmodule
socketdir
manage_selinux
additional_service_params
zabbix_user
zabbix_server_name
saml_sp_key
saml_sp_cert
saml_idp_cert
saml_settings
zabbix_url
Data type: Any
Url on which zabbix needs to be available. Will create an vhost in apache. Only needed when manage_vhost is set to true. Example: zabbix.example.com
Default value: ''
zabbix_version
Data type: Any
This is the zabbix version.
Default value: $zabbix::params::zabbix_version
zabbix_timezone
Data type: Any
The current timezone for vhost configuration needed for the php timezone. Example: Europe/Amsterdam
Default value: $zabbix::params::zabbix_timezone
zabbix_template_dir
Data type: Any
The directory where all templates are stored before uploading via API
Default value: $zabbix::params::zabbix_template_dir
zabbix_package_state
Data type: Any
The state of the package that needs to be installed: present or latest.
Default value: $zabbix::params::zabbix_package_state
zabbix_server
Data type: Any
This is the FQDN for the host running zabbix-server. This parameter is used when database_type = mysql. Default: localhost
Default value: $zabbix::params::zabbix_server
zabbix_server_ip
Data type: Any
This is the actual ip address of the host running zabbix-server This parameter is used when database_type = postgresql. Default: 127.0.0.1
Default value: $zabbix::params::zabbix_server_ip
zabbix_web
Data type: Any
This is the hostname of the server which is running the zabbix-web package. This parameter is used when database_type = mysql. When single node: localhost
Default value: $zabbix::params::zabbix_web
zabbix_web_ip
Data type: Any
This is the ip address of the server which is running the zabbix-web package. This parameter is used when database_type = postgresql. When single node: 127.0.0.1
Default value: $zabbix::params::zabbix_web_ip
database_type
Data type: Zabbix::Databases
Type of database. Can use the following 2 databases:
- postgresql
- mysql
Default value: $zabbix::params::database_type
database_path
Data type: Any
When database binaries are not found on the default path: /bin:/usr/bin:/usr/local/sbin:/usr/local/bin you can use this parameter to add the database_path to the above mentioned path.
Default value: $zabbix::params::database_path
manage_database
Data type: Any
When true, it will configure the database and execute the sql scripts.
Default value: $zabbix::params::manage_database
manage_repo
Data type: Any
When true (default) this module will manage the Zabbix repository.
Default value: $zabbix::params::manage_repo
manage_firewall
Data type: Any
When true, it will create iptables rules.
Default value: $zabbix::params::manage_firewall
manage_service
Data type: Any
When true, it will ensure service running and enabled. When false, it does not care about service
Default value: $zabbix::params::manage_service
manage_resources
Data type: Any
When true, it will export resources to something like puppetdb. When set to true, you'll need to configure 'storeconfigs' to make this happen. Default is set to false, as not everyone has this enabled.
Default value: $zabbix::params::manage_resources
manage_vhost
Data type: Any
When true, it will create an vhost for apache. The parameter zabbix_url has to be set.
Default value: $zabbix::params::manage_vhost
default_vhost
Data type: Any
When true priority of 15 is passed to zabbix vhost which would end up with marking zabbix vhost as default one, when false priority is set to 25
Default value: $zabbix::params::default_vhost
apache_use_ssl
Data type: Any
Will create an ssl vhost. Also nonssl vhost will be created for redirect nonssl to ssl vhost.
Default value: $zabbix::params::apache_use_ssl
apache_ssl_cert
Data type: Any
The location of the ssl certificate file. You'll need to make sure this file is present on the system, this module will not install this file.
Default value: $zabbix::params::apache_ssl_cert
apache_ssl_key
Data type: Any
The location of the ssl key file. You'll need to make sure this file is present on the system, this module will not install this file.
Default value: $zabbix::params::apache_ssl_key
apache_ssl_cipher
Data type: Any
The ssl cipher used. Cipher is used from this website: https://wiki.mozilla.org/Security/Server_Side_TLS
Default value: $zabbix::params::apache_ssl_cipher
apache_ssl_chain
Data type: Any
The ssl chain file.
Default value: $zabbix::params::apache_ssl_chain
apache_listen_ip
Data type: Any
The IP the apache service should listen on.
Default value: $zabbix::params::apache_listen_ip
apache_listenport
Data type: Variant[Array[Stdlib::Port], Stdlib::Port]
The port for the apache vhost.
Default value: $zabbix::params::apache_listenport
apache_listenport_ssl
Data type: Variant[Array[Stdlib::Port], Stdlib::Port]
The port for the apache SSL vhost.
Default value: $zabbix::params::apache_listenport_ssl
apache_php_max_execution_time
Data type: Any
Max execution time for php. Default: 300
Default value: $zabbix::params::apache_php_max_execution_time
apache_php_memory_limit
Data type: Any
PHP memory size limit. Default: 128M
Default value: $zabbix::params::apache_php_memory_limit
apache_php_post_max_size
Data type: Any
PHP maximum post size data. Default: 16M
Default value: $zabbix::params::apache_php_post_max_size
apache_php_upload_max_filesize
Data type: Any
PHP maximum upload filesize. Default: 2M
Default value: $zabbix::params::apache_php_upload_max_filesize
apache_php_max_input_time
Data type: Any
Max input time for php. Default: 300
Default value: $zabbix::params::apache_php_max_input_time
apache_php_always_populate_raw_post_data
Data type: Any
Default: -1
Default value: $zabbix::params::apache_php_always_populate_raw_post_data
ldap_cacert
Data type: Optional[Stdlib::Absolutepath]
Set location of ca_cert used by LDAP authentication.
Default value: $zabbix::params::ldap_cacert
ldap_clientcert
Data type: Optional[Stdlib::Absolutepath]
Set location of client cert used by LDAP authentication.
Default value: $zabbix::params::ldap_clientcert
ldap_clientkey
Data type: Optional[Stdlib::Absolutepath]
Set location of client key used by LDAP authentication.
Default value: $zabbix::params::ldap_clientkey
ldap_reqcert
Data type: Optional[Enum['never', 'allow', 'try', 'demand', 'hard']]
Specifies what checks to perform on a server certificate
Default value: $zabbix::params::ldap_reqcert
zabbix_api_user
Data type: Any
Name of the user which the api should connect to. Default: Admin
Default value: $zabbix::params::server_api_user
zabbix_api_pass
Data type: Any
Password of the user which connects to the api. Default: zabbix
Default value: $zabbix::params::server_api_pass
zabbix_api_access
Data type: Optional[Array[Stdlib::Host,1]]
Which host has access to the api. Default: no restriction
Default value: $zabbix::params::server_api_access
listenport
Data type: Any
Listen port for the zabbix-server. Default: 10051
Default value: $zabbix::params::server_listenport
sourceip
Data type: Any
Source ip address for outgoing connections.
Default value: $zabbix::params::server_sourceip
logfile
Data type: Optional[Stdlib::Absolutepath]
Name of log file.
Default value: $zabbix::params::server_logfile
logfilesize
Data type: Any
Maximum size of log file in MB.
Default value: $zabbix::params::server_logfilesize
logtype
Data type: Enum['console', 'file', 'system']
Specifies where log messages are written to. (options: console, file, system)
Default value: $zabbix::params::server_logtype
debuglevel
Data type: Any
Specifies debug level.
Default value: $zabbix::params::server_debuglevel
pidfile
Data type: Any
Name of pid file.
Default value: $zabbix::params::server_pidfile
database_host
Data type: Any
Database host name.
Default value: $zabbix::params::server_database_host
database_name
Data type: Any
Database name.
Default value: $zabbix::params::server_database_name
database_schema
Data type: Any
Schema name. used for ibm db2.
Default value: $zabbix::params::server_database_schema
database_double_ieee754
Data type: Boolean
Enable extended range of float values for new installs of Zabbix >= 5.0 and after patching upgraded installs to 5.0 or greater. https://www.zabbix.com/documentation/5.0/manual/installation/upgrade_notes_500#enabling_extended_range_of_numeric_float_values
Default value: $zabbix::params::server_database_double_ieee754
database_user
Data type: Any
Database user. ignored for sqlite.
Default value: $zabbix::params::server_database_user
database_password
Data type: Any
Database password. ignored for sqlite.
Default value: $zabbix::params::server_database_password
database_socket
Data type: Any
Path to mysql socket.
Default value: $zabbix::params::server_database_socket
database_port
Data type: Any
Database port when not using local socket. Ignored for sqlite.
Default value: $zabbix::params::server_database_port
database_charset
Data type: Any
The default charset of the database.
Default value: $zabbix::params::server_database_charset
database_collate
Data type: Any
The default collation of the database.
Default value: $zabbix::params::server_database_collate
database_tablespace
Data type: Any
The tablespace the database will be created in. This setting only affects PostgreSQL databases.
Default value: $zabbix::params::server_database_tablespace
database_tlsconnect
Data type: Optional[Enum['required', 'verify_ca', 'verify_full']]
Available options:
- required - connect using TLS
- verify_ca - connect using TLS and verify certificate
- verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost matches its certificate
Default value: $zabbix::params::server_database_tlsconnect
database_tlscafile
Data type: Optional[Stdlib::Absolutepath]
Full pathname of a file containing the top-level CA(s) certificates for database certificate verification.
Default value: $zabbix::params::server_database_tlscafile
startpollers
Data type: Any
Number of pre-forked instances of pollers.
Default value: $zabbix::params::server_startpollers
startpreprocessors
Data type: Integer[1, 1000]
Number of pre-forked instances of preprocessing workers
Default value: $zabbix::params::server_startpreprocessors
startipmipollers
Data type: Any
Number of pre-forked instances of ipmi pollers.
Default value: $zabbix::params::server_startipmipollers
startodbcpollers
Data type: Integer[0, 1000]
Number of pre-forked instances of ODBC pollers.
Default value: $zabbix::params::server_startodbcpollers
startpollersunreachable
Data type: Any
Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
Default value: $zabbix::params::server_startpollersunreachable
starttrappers
Data type: Any
Number of pre-forked instances of trappers.
Default value: $zabbix::params::server_starttrappers
startpingers
Data type: Any
Number of pre-forked instances of icmp pingers.
Default value: $zabbix::params::server_startpingers
startalerters
Data type: Integer[1, 100]
Number of pre-forked instances of alerters.
Default value: $zabbix::params::server_startalerters
startdiscoverers
Data type: Any
Number of pre-forked instances of discoverers.
Default value: $zabbix::params::server_startdiscoverers
startescalators
Data type: Integer[1, 100]
Number of pre-forked instances of escalators.
Default value: $zabbix::params::server_startescalators
starthttppollers
Data type: Any
Number of pre-forked instances of http pollers.
Default value: $zabbix::params::server_starthttppollers
starttimers
Data type: Any
Number of pre-forked instances of timers.
Default value: $zabbix::params::server_starttimers
javagateway
Data type: Any
IP address (or hostname) of zabbix java gateway.
Default value: $zabbix::params::server_javagateway
javagatewayport
Data type: Any
Port that zabbix java gateway listens on.
Default value: $zabbix::params::server_javagatewayport
startjavapollers
Data type: Any
Number of pre-forked instances of java pollers.
Default value: $zabbix::params::server_startjavapollers
startlldprocessors
Data type: Integer[1, 100]
Number of pre-forked instances of low-level discovery (LLD) workers.
Default value: $zabbix::params::server_startlldprocessors
startvmwarecollectors
Data type: Any
Number of pre-forked vmware collector instances.
Default value: $zabbix::params::server_startvmwarecollectors
vaultdbpath
Data type: Optional[String[1]]
Vault path from where credentials for database will be retrieved by keys 'password' and 'username'.
Default value: $zabbix::params::server_vaultdbpath
vaulttoken
Data type: Optional[String[1]]
Vault authentication token that should have been generated exclusively for Zabbix proxy with read-only permission to the path specified in the optional VaultDBPath configuration parameter.
Default value: $zabbix::params::server_vaulttoken
vaulturl
Data type: Stdlib::HTTPSUrl
Vault server HTTP[S] URL. System-wide CA certificates directory will be used if SSLCALocation is not specified.
Default value: $zabbix::params::server_vaulturl
vmwarefrequency
Data type: Any
How often zabbix will connect to vmware service to obtain a new datan.
Default value: $zabbix::params::server_vmwarefrequency
vmwarecachesize
Data type: Any
Size of vmware cache, in bytes.
Default value: $zabbix::params::server_vmwarecachesize
vmwaretimeout
Data type: Any
The maximum number of seconds vmware collector will wait for a response from VMware service.
Default value: $zabbix::params::server_vmwaretimeout
snmptrapperfile
Data type: Any
Temporary file used for passing data from snmp trap daemon to the server.
Default value: $zabbix::params::server_snmptrapperfile
startsnmptrapper
Data type: Any
If 1, snmp trapper process is started.
Default value: $zabbix::params::server_startsnmptrapper
listenip
Data type: Any
List of comma delimited ip addresses that the zabbix-server should listen on.
Default value: $zabbix::params::server_listenip
housekeepingfrequency
Data type: Any
How often zabbix will perform housekeeping procedure (in hours).
Default value: $zabbix::params::server_housekeepingfrequency
maxhousekeeperdelete
Data type: Any
the table "housekeeper" contains "tasks" for housekeeping procedure in the format: [housekeeperid], [tablename], [field], [value]. no more than 'maxhousekeeperdelete' rows (corresponding to [tablename], [field], [value]) will be deleted per one task in one housekeeping cycle. sqlite3 does not use this parameter, deletes all corresponding rows without a limit. if set to 0 then no limit is used at all. in this case you must know what you are doing!
Default value: $zabbix::params::server_maxhousekeeperdelete
cachesize
Data type: Any
Size of configuration cache, in bytes.
Default value: $zabbix::params::server_cachesize
cacheupdatefrequency
Data type: Any
How often zabbix will perform update of configuration cache, in seconds.
Default value: $zabbix::params::server_cacheupdatefrequency
startdbsyncers
Data type: Any
Number of pre-forked instances of db syncers.
Default value: $zabbix::params::server_startdbsyncers
historycachesize
Data type: Any
Size of history cache, in bytes.
Default value: $zabbix::params::server_historycachesize
historyindexcachesize
Data type: Zabbix::Historyics
Size of history index cache, in bytes.
Default value: $zabbix::params::server_historyindexcachesize
trendcachesize
Data type: Any
Size of trend cache, in bytes.
Default value: $zabbix::params::server_trendcachesize
valuecachesize
Data type: Any
Size of history value cache, in bytes.
Default value: $zabbix::params::server_valuecachesize
timeout
Data type: Any
Specifies how long we wait for agent, snmp device or external check (in seconds).
Default value: $zabbix::params::server_timeout
tlscafile
Data type: Any
Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.
Default value: $zabbix::params::server_tlscafile
tlscertfile
Data type: Any
Full pathname of a file containing the server certificate or certificate chain.
Default value: $zabbix::params::server_tlscertfile
tlscrlfile
Data type: Any
Full pathname of a file containing revoked certificates.
Default value: $zabbix::params::server_tlscrlfile
tlskeyfile
Data type: Any
Full pathname of a file containing the server private key.
Default value: $zabbix::params::server_tlskeyfile
tlscipherall
Data type: Any
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::server_tlscipherall
tlscipherall13
Data type: Any
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::server_tlscipherall13
tlsciphercert
Data type: Any
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::server_tlsciphercert
tlsciphercert13
Data type: Any
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::server_tlsciphercert13
tlscipherpsk
Data type: Any
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.
Default value: $zabbix::params::server_tlscipherpsk
tlscipherpsk13
Data type: Any
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.
Default value: $zabbix::params::server_tlscipherpsk13
trappertimeout
Data type: Any
Specifies how many seconds trapper may spend processing new data.
Default value: $zabbix::params::server_trappertimeout
unreachableperiod
Data type: Any
After how many seconds of unreachability treat a host as unavailable.
Default value: $zabbix::params::server_unreachableperiod
unavailabledelay
Data type: Any
How often host is checked for availability during the unavailability period, in seconds.
Default value: $zabbix::params::server_unavailabledelay
unreachabledelay
Data type: Any
How often host is checked for availability during the unreachability period, in seconds.
Default value: $zabbix::params::server_unreachabledelay
alertscriptspath
Data type: Any
Full path to location of custom alert scripts.
Default value: $zabbix::params::server_alertscriptspath
externalscripts
Data type: Any
Full path to location of external scripts.
Default value: $zabbix::params::server_externalscripts
fpinglocation
Data type: Any
Location of fping.
Default value: $zabbix::params::server_fpinglocation
fping6location
Data type: Any
Location of fping6.
Default value: $zabbix::params::server_fping6location
sshkeylocation
Data type: Any
Location of public and private keys for ssh checks and actions.
Default value: $zabbix::params::server_sshkeylocation
logslowqueries
Data type: Any
How long a database query may take before being logged (in milliseconds).
Default value: $zabbix::params::server_logslowqueries
tmpdir
Data type: Any
Temporary directory.
Default value: $zabbix::params::server_tmpdir
startproxypollers
Data type: Any
Number of pre-forked instances of pollers for passive proxies.
Default value: $zabbix::params::server_startproxypollers
proxyconfigfrequency
Data type: Any
How often zabbix server sends configuration data to a zabbix proxy in seconds.
Default value: $zabbix::params::server_proxyconfigfrequency
proxydatafrequency
Data type: Any
How often zabbix server requests history data from a zabbix proxy in seconds.
Default value: $zabbix::params::server_proxydatafrequency
allowroot
Data type: Any
Allow the server to run as 'root'.
Default value: $zabbix::params::server_allowroot
include_dir
Data type: Any
You may include individual files or all files in a directory in the configuration file.
Default value: $zabbix::params::server_include
loadmodulepath
Data type: Any
Full path to location of server modules.
Default value: $zabbix::params::server_loadmodulepath
loadmodule
Data type: Any
Module to load at server startup.
Default value: $zabbix::params::server_loadmodule
socketdir
Data type: Optional[Stdlib::Absolutepath]
IPC socket directory. Directory to store IPC sockets used by internal Zabbix services.
Default value: $zabbix::params::server_socketdir
manage_selinux
Data type: Boolean
Whether we should manage SELinux rules.
Default value: $zabbix::params::manage_selinux
additional_service_params
Data type: String
Additional parameters to pass to the service.
Default value: $zabbix::params::additional_service_params
zabbix_user
Data type: Optional[String[1]]
User the zabbix service will run as.
Default value: $zabbix::params::server_zabbix_user
zabbix_server_name
Data type: Optional[String]
The fqdn name of the host running the zabbix-server. When single node: localhost This can also be used to upave a different name such as "Zabbix DEV"
Default value: $zabbix::params::zabbix_server
saml_sp_key
Data type: Optional[Stdlib::Absolutepath]
The location of the SAML Service Provider Key file.
Default value: $zabbix::params::saml_sp_key
saml_sp_cert
Data type: Optional[Stdlib::Absolutepath]
The location of the SAML Service Provider Certificate.
Default value: $zabbix::params::saml_sp_cert
saml_idp_cert
Data type: Optional[Stdlib::Absolutepath]
The location of the SAML Identity Provider Certificate.
Default value: $zabbix::params::saml_idp_cert
saml_settings
Data type: Hash[String[1], Variant[ScalarData, Hash]]
A hash of additional SAML SSO settings.
Default value: $zabbix::params::saml_settings
zabbix::agent
This will install and configure the zabbix-agent deamon
Examples
Basic installation:
class { 'zabbix::agent':
zabbix_version => '6.0',
server => '192.168.1.1',
}
With exported resources:
class { 'zabbix::agent':
manage_resources => true,
monitored_by_proxy => 'my_proxy_host',
server => '192.168.1.1',
}
Using Zabbix Agent 2
class { 'zabbix::agent':
agent_configfile_path => '/etc/zabbix/zabbix_agent2.conf',
include_dir => '/etc/zabbix/zabbix_agent2.d',
include_dir_purge => false,
zabbix_package_agent => 'zabbix-agent2',
servicename => 'zabbix-agent2',
manage_startup_script => false,
}
Parameters
The following parameters are available in the zabbix::agent
class:
zabbix_version
zabbix_package_state
zabbix_package_agent
manage_firewall
manage_repo
manage_choco
zabbix_package_provider
zabbix_package_source
manage_resources
monitored_by_proxy
agent_use_ip
zbx_groups
zbx_group_create
zbx_templates
zbx_macros
zbx_interface_type
zbx_interface_details
agent_configfile_path
pidfile
servicename
logfile
logfilesize
logtype
debuglevel
sourceip
allowkey
denykey
enableremotecommands
logremotecommands
server
listenport
listenip
startagents
serveractive
service_ensure
service_enable
hostname
hostnameitem
hostmetadata
hostmetadataitem
hostinterface
hostinterfaceitem
refreshactivechecks
buffersend
buffersize
maxlinespersecond
allowroot
zabbix_user
zabbix_alias
timeout
tlsaccept
tlscafile
tlscertfile
tlscertissuer
tlscertsubject
tlsconnect
tlscrlfile
tlskeyfile
tlspskfile
tlspskidentity
tlscipherall
tlscipherall13
tlsciphercert
tlsciphercert13
tlscipherpsk
tlscipherpsk13
tlsservercertissuer
tlsservercertsubject
agent_config_owner
agent_config_group
manage_selinux
selinux_require
selinux_rules
additional_service_params
service_type
include_dir
include_dir_purge
unsafeuserparameters
userparameter
loadmodulepath
loadmodule
manage_startup_script
zabbix_version
Data type: Any
This is the zabbix version.
Default value: $zabbix::params::zabbix_version
zabbix_package_state
Data type: Any
The state of the package that needs to be installed: present or latest.
Default value: $zabbix::params::zabbix_package_state
zabbix_package_agent
Data type: Any
The name of the agent package that we manage
Default value: $zabbix::params::zabbix_package_agent
manage_firewall
Data type: Boolean
When true, it will create iptables rules.
Default value: $zabbix::params::manage_firewall
manage_repo
Data type: Boolean
When true, it will create repository for installing the agent.
Default value: $zabbix::params::manage_repo
manage_choco
Data type: Boolean
When true on windows, it will use chocolatey to install the agent. The module chocolatey is required https://forge.puppet.com/puppetlabs/chocolatey.
Default value: $zabbix::params::manage_choco
zabbix_package_provider
Data type: Optional[String[1]]
Which package's provider to use to install the agent. It is undef for all linux os and set to 'chocolatey' on windows.
Default value: $zabbix::params::zabbix_package_provider
zabbix_package_source
Data type: Optional[Stdlib::Windowspath]
Path to a Windows MSI file used to install the agent.
Default value: undef
manage_resources
Data type: Boolean
When true, it will export resources to something like puppetdb. When set to true, you'll need to configure 'storeconfigs' to make this happen. Default is set to false, as not everyone has this enabled.
Default value: $zabbix::params::manage_resources
monitored_by_proxy
Data type: Any
When this is monitored by an proxy, please fill in the name of this proxy. If the proxy is also installed via this module, please fill in the FQDN
Default value: $zabbix::params::monitored_by_proxy
agent_use_ip
Data type: Any
When true, when creating hosts via the zabbix-api, it will configure that connection should me made via ip, not fqdn.
Default value: $zabbix::params::agent_use_ip
zbx_groups
Data type: Variant[String[1],Array[String[1]]]
An array of hostgroups where this host needs to be added.
Default value: $zabbix::params::agent_zbx_groups
zbx_group_create
Data type: Any
Whether to create hostgroup if missing.
Default value: $zabbix::params::agent_zbx_group_create
zbx_templates
Data type: Any
List of templates which will be added when host is configured.
Default value: $zabbix::params::agent_zbx_templates
zbx_macros
Data type: Array[Hash]
List of macros which will be added when host is configured.
Default value: []
zbx_interface_type
Data type: Integer[1,4]
Integer specifying type of interface to be created.
Default value: 1
zbx_interface_details
Data type: Variant[Array, Hash]
Hash with interface details for SNMP when interface type is 2.
Default value: []
agent_configfile_path
Data type: Any
Agent config file path defaults to /etc/zabbix/zabbix_agentd.conf.
Default value: $zabbix::params::agent_configfile_path
pidfile
Data type: Any
Name of pid file.
Default value: $zabbix::params::agent_pidfile
servicename
Data type: Any
Zabbix's agent service name.
Default value: $zabbix::params::agent_servicename
logfile
Data type: Optional[Stdlib::Absolutepath]
Name of log file.
Default value: $zabbix::params::agent_logfile
logfilesize
Data type: Any
Maximum size of log file in MB.
Default value: $zabbix::params::agent_logfilesize
logtype
Data type: Enum['console', 'file', 'system']
Specifies where log messages are written to. Can be one of: console, file, system.
Default value: $zabbix::params::agent_logtype
debuglevel
Data type: Any
Specifies debug level.
Default value: $zabbix::params::agent_debuglevel
sourceip
Data type: Any
Source ip address for outgoing connections.
Default value: $zabbix::params::agent_sourceip
allowkey
Data type: Optional[String[1]]
Allow execution of item keys matching pattern.
Default value: $zabbix::params::agent_allowkey
denykey
Data type: Optional[String[1]]
Deny execution of items keys matching pattern.
Default value: $zabbix::params::agent_denykey
enableremotecommands
Data type: Any
Whether remote commands from zabbix server are allowed.
Default value: $zabbix::params::agent_enableremotecommands
logremotecommands
Data type: Any
Enable logging of executed shell commands as warnings.
Default value: $zabbix::params::agent_logremotecommands
server
Data type: Any
List of comma delimited ip addresses (or hostnames) of zabbix servers.
Default value: $zabbix::params::agent_server
listenport
Data type: Any
Agent will listen on this port for connections from the server.
Default value: $zabbix::params::agent_listenport
listenip
Data type: Any
List of comma delimited ip addresses that the agent should listen on. You can also specify which network interface it should listen on.
listenip => 'eth0', or listenip => 'bond0.73',
It will find out which ip is configured for this ipaddress. Can be handy if more than 1 interface is on the server.
Default value: $zabbix::params::agent_listenip
startagents
Data type: Any
Number of pre-forked instances of zabbix_agentd that process passive checks.
Default value: $zabbix::params::agent_startagents
serveractive
Data type: Any
List of comma delimited ip:port (or hostname:port) pairs of zabbix servers for active checks.
Default value: $zabbix::params::agent_serveractive
service_ensure
Data type: Stdlib::Ensure::Service
Start / stop the agent service. E.g. to preconfigure a hosts agent and turn on the service at a later time (when the server reaches production SLA)
Default value: $zabbix::params::agent_service_ensure
service_enable
Data type: Boolean
Automatically start the agent on system boot
Default value: $zabbix::params::agent_service_enable
hostname
Data type: Any
Unique, case sensitive hostname.
Default value: $zabbix::params::agent_hostname
hostnameitem
Data type: Any
Zabbix item used for generating hostname if it is undefined.
Default value: $zabbix::params::agent_hostnameitem
hostmetadata
Data type: Any
Optional parameter that defines host metadata.
Default value: $zabbix::params::agent_hostmetadata
hostmetadataitem
Data type: Any
Optional parameter that defines a zabbix item used for getting host metadata.
Default value: $zabbix::params::agent_hostmetadataitem
hostinterface
Data type: Optional[Stdlib::Fqdn]
Optional parameter that defines host metadata. Host metadata is used only at host auto-registration process (active agent).
Default value: $zabbix::params::agent_hostinterface
hostinterfaceitem
Data type: Optional[Stdlib::Fqdn]
Optional parameter that defines an item used for getting host interface. Host interface is used at host auto-registration process.
Default value: $zabbix::params::agent_hostinterfaceitem
refreshactivechecks
Data type: Any
How often list of active checks is refreshed, in seconds.
Default value: $zabbix::params::agent_refreshactivechecks
buffersend
Data type: Any
Do not keep data longer than n seconds in buffer.
Default value: $zabbix::params::agent_buffersend
buffersize
Data type: Any
Maximum number of values in a memory buffer.
Default value: $zabbix::params::agent_buffersize
maxlinespersecond
Data type: Any
Maximum number of new lines the agent will send per second to zabbix server or proxy processing.
Default value: $zabbix::params::agent_maxlinespersecond
allowroot
Data type: Any
Allow the agent to run as 'root'.
Default value: $zabbix::params::agent_allowroot
zabbix_user
Data type: Optional[String[1]]
Drop privileges to a specific, existing user on the system. Only has effect if run as 'root' and AllowRoot is disabled.
Default value: $zabbix::params::agent_zabbix_user
zabbix_alias
Data type: Optional[Array]
Sets an alias for parameter.
Default value: $zabbix::params::agent_zabbix_alias
timeout
Data type: Any
Spend no more than timeout seconds on processing.
Default value: $zabbix::params::agent_timeout
tlsaccept
Data type: Optional[Enum['unencrypted','psk','cert']]
What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy.
Default value: $zabbix::params::agent_tlsaccept
tlscafile
Data type: Any
Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.
Default value: $zabbix::params::agent_tlscafile
tlscertfile
Data type: Any
Full pathname of a file containing the proxy certificate or certificate chain.
Default value: $zabbix::params::agent_tlscertfile
tlscertissuer
Data type: Optional[String[1]]
Issuer of the certificate that is allowed to talk with the serve
Default value: undef
tlscertsubject
Data type: Optional[String[1]]
Subject of the certificate that is allowed to talk with the server
Default value: undef
tlsconnect
Data type: Optional[Enum['unencrypted','psk','cert']]
How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy.
Default value: $zabbix::params::agent_tlsconnect
tlscrlfile
Data type: Any
Full pathname of a file containing revoked certificates.
Default value: $zabbix::params::agent_tlscrlfile
tlskeyfile
Data type: Any
Full pathname of a file containing the proxy private key.
Default value: $zabbix::params::agent_tlskeyfile
tlspskfile
Data type: Any
Full pathname of a file containing the pre-shared key.
Default value: $zabbix::params::agent_tlspskfile
tlspskidentity
Data type: Any
Unique, case sensitive string used to identify the pre-shared key.
Default value: $zabbix::params::agent_tlspskidentity
tlscipherall
Data type: Optional[String[1]]
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::agent_tlscipherall
tlscipherall13
Data type: Optional[String[1]]
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::agent_tlscipherall13
tlsciphercert
Data type: Optional[String[1]]
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::agent_tlsciphercert
tlsciphercert13
Data type: Optional[String[1]]
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::agent_tlsciphercert13
tlscipherpsk
Data type: Optional[String[1]]
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for PSK-based encryption.
Default value: $zabbix::params::agent_tlscipherpsk
tlscipherpsk13
Data type: Optional[String[1]]
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for PSK-based encryption.
Default value: $zabbix::params::agent_tlscipherpsk13
tlsservercertissuer
Data type: Any
Allowed server certificate issuer.
Default value: $zabbix::params::agent_tlsservercertissuer
tlsservercertsubject
Data type: Any
Allowed server certificate subject.
Default value: $zabbix::params::agent_tlsservercertsubject
agent_config_owner
Data type: Optional[String[1]]
The owner of Zabbix's agent config file.
Default value: $zabbix::params::agent_config_owner
agent_config_group
Data type: Optional[String[1]]
The group of Zabbix's agent config file.
Default value: $zabbix::params::agent_config_group
manage_selinux
Data type: Boolean
Whether the module should manage SELinux rules or not.
Default value: $zabbix::params::manage_selinux
selinux_require
Data type: Array[String]
An array of SELinux require {} rules.
Default value: $zabbix::params::selinux_require
selinux_rules
Data type: Hash[String, Array]
A Hash of SELinux rules.
Default value: $zabbix::params::selinux_rules
additional_service_params
Data type: String
Additional parameters to pass to the service.
Default value: $zabbix::params::additional_service_params
service_type
Data type: String
Systemd service type
Default value: $zabbix::params::service_type
include_dir
Data type: Any
You may include individual files or all files in a directory in the configuration file.
Default value: $zabbix::params::agent_include
include_dir_purge
Data type: Any
Include dir to purge.
Default value: $zabbix::params::agent_include_purge
unsafeuserparameters
Data type: Any
Allow all characters to be passed in arguments to user-defined parameters.
Default value: $zabbix::params::agent_unsafeuserparameters
userparameter
Data type: Any
User-defined parameter to monitor.
Default value: $zabbix::params::agent_userparameter
loadmodulepath
Data type: Optional[String[1]]
Full path to location of agent modules.
Default value: $zabbix::params::agent_loadmodulepath
loadmodule
Data type: Any
Module to load at agent startup.
Default value: $zabbix::params::agent_loadmodule
manage_startup_script
Data type: Boolean
If the init script should be managed by this module. Attention: This might cause problems with some config options of this module (e.g agent_configfile_path)
Default value: $zabbix::params::manage_startup_script
zabbix::database
This will install the correct database and one or more users for correct usage
Examples
The following is an example of an multiple host setup:
node 'wdpuppet04.dj-wasabi.local' {
# class { 'postgresql::server':
# listen_addresses => '192.168.20.14'
# }
class { 'mysql::server':
override_options => {
'mysqld' => {
'bind_address' => '192.168.20.14',
},
},
}
class { 'zabbix::database':
database_type => 'mysql',
#zabbix_front_ip => '192.168.20.12',
#zabbix_server_ip => '192.168.20.13',
zabbix_server => 'wdpuppet03.dj-wasabi.local',
zabbix_web => 'wdpuppet02.dj-wasabi.local',
}
}
The above example is when database_type = mysql. When you want to
use the postgresql as database, uncomment the lines of postgresql
class and both *_ip parameters. Comment the mysql class and comment
the zabbix_server and zabbix_web parameter.
Parameters
The following parameters are available in the zabbix::database
class:
zabbix_type
zabbix_web
zabbix_web_ip
zabbix_server
zabbix_server_ip
zabbix_proxy
zabbix_proxy_ip
manage_database
database_type
database_schema_path
database_name
database_user
database_password
database_host
database_host_ip
database_charset
database_collate
database_tablespace
zabbix_type
Data type: Any
The type of zabbix which is used: server or proxy. This will determine what sql files will be loaded into database.
Default value: 'server'
zabbix_web
Data type: Any
This is the hostname of the server which is running the zabbix-web package. This parameter is used when database_type = mysql. When single node: localhost
Default value: $zabbix::params::zabbix_web
zabbix_web_ip
Data type: Any
This is the ip address of the server which is running the zabbix-web package. This parameter is used when database_type = postgresql. When single node: 127.0.0.1
Default value: $zabbix::params::zabbix_web_ip
zabbix_server
Data type: Any
This is the FQDN for the host running zabbix-server. This parameter is used when database_type = mysql. Default: localhost
Default value: $zabbix::params::zabbix_server
zabbix_server_ip
Data type: Any
This is the actual ip address of the host running zabbix-server This parameter is used when database_type = postgresql. Default: 127.0.0.1
Default value: $zabbix::params::zabbix_server_ip
zabbix_proxy
Data type: Any
This is the FQDN for the host running zabbix-proxy. This parameter is used when database_type = mysql. Default: localhost
Default value: $zabbix::params::zabbix_proxy
zabbix_proxy_ip
Data type: Any
This is the actual ip address of the host running zabbix-proxy This parameter is used when database_type = postgresql. Default: 127.0.0.1
Default value: $zabbix::params::zabbix_proxy_ip
manage_database
Data type: Any
When set to true, it will create the database and will load the sql files for basic setup. Otherwise you should do this manually.
Default value: $zabbix::params::manage_database
database_type
Data type: Zabbix::Databases
The database which is used: postgresql or mysql
Default value: $zabbix::params::database_type
database_schema_path
Data type: Any
The path to the directory containing the .sql schema files
Default value: $zabbix::params::database_schema_path
database_name
Data type: Any
The name of the database. Default: zabbix-server
Default value: $zabbix::params::server_database_name
database_user
Data type: Any
The user which is used for connecting to the database
Default value: $zabbix::params::server_database_user
database_password
Data type: Any
The password of the database_user.
Default value: $zabbix::params::server_database_password
database_host
Data type: Any
The hostname of the server running the database.
Default value: $zabbix::params::server_database_host
database_host_ip
Data type: Any
IP of the machine the database runs on.
Default value: $zabbix::params::server_database_host_ip
database_charset
Data type: Any
The default charset of the database.
Default value: $zabbix::params::server_database_charset
database_collate
Data type: Any
The default collation of the database.
Default value: $zabbix::params::server_database_collate
database_tablespace
Data type: Optional[String[1]]
The tablespace the database will be created in. This setting only affects PostgreSQL databases.
Default value: $zabbix::params::server_database_tablespace
zabbix::database::sqlite
Class to handle sqlite database installations zabbix will automatically create a sqlite schema if one does not already exist.
zabbix::javagateway
This will install and configure the zabbix-agent deamon
Examples
class { 'zabbix::javagateway':
zabbix_version => '6.0',
}
Parameters
The following parameters are available in the zabbix::javagateway
class:
zabbix_version
zabbix_package_state
manage_firewall
manage_repo
pidfile
listenip
listenport
startpollers
timeout
zabbix_version
Data type: Any
This is the zabbix version.
Default value: $zabbix::params::zabbix_version
zabbix_package_state
Data type: Any
The state of the package that needs to be installed: present or latest.
Default value: $zabbix::params::zabbix_package_state
manage_firewall
Data type: Boolean
When true, it will create iptables rules.
Default value: $zabbix::params::manage_firewall
manage_repo
Data type: Boolean
When true, it will create repository for installing the javagateway.
Default value: $zabbix::params::manage_repo
pidfile
Data type: Any
Name of pid file.
Default value: $zabbix::params::javagateway_pidfile
listenip
Data type: Any
List of comma delimited ip addresses that the agent should listen on.
Default value: $zabbix::params::javagateway_listenip
listenport
Data type: Any
Agent will listen on this port for connections from the server.
Default value: $zabbix::params::javagateway_listenport
startpollers
Data type: Any
Number of worker threads to start.
Default value: $zabbix::params::javagateway_startpollers
timeout
Data type: Any
Number of worker threads to start.
Default value: $zabbix::params::javagateway_timeout
zabbix::params
This class manages zabbix server parameters
zabbix::proxy
This will install and configure the zabbix-proxy deamon
Examples
When you want to run everything on one machine, you can use the following:
class { 'zabbix::proxy':
zabbix_server_host => '192.168.1.1',
zabbix_server_port => '10051',
}
When you want to use mysql:
class { 'zabbix::proxy':
zabbix_server_host => '192.168.1.1',
zabbix_server_port => '10051',
database_type => 'mysql',
}
The following is an example of running the proxy on 2 servers:
node 'wdpuppet03.dj-wasabi.local' {
#class { 'postgresql::client': }
class { 'mysql::client': }
class { 'zabbix::proxy':
zabbix_server_host => '192.168.1.1',
manage_database => false,
database_host => 'wdpuppet04.dj-wasabi.local',
database_type => 'mysql',
}
}
node 'wdpuppet04.dj-wasabi.local' {
#class { 'postgresql::server':
# listen_addresses => '192.168.20.14'
# }
class { 'mysql::server':
override_options => {
'mysqld' => {
'bind_address' => '192.168.20.14',
},
},
}
class { 'zabbix::database':
database_type => 'mysql',
zabbix_type => 'proxy',
#zabbix_proxy_ip => '192.168.20.13',
zabbix_proxy => 'wdpuppet03.dj-wasabi.local',
database_name => 'zabbix-proxy',
database_user => 'zabbix-proxy',
database_password => 'zabbix-proxy',
}
}
Parameters
The following parameters are available in the zabbix::proxy
class:
database_type
database_path
zabbix_version
zabbix_package_state
manage_database
manage_firewall
manage_repo
manage_resources
manage_service
zabbix_proxy
zabbix_proxy_ip
use_ip
zbx_templates
proxy_configfile_path
proxy_service_name
mode
zabbix_server_host
zabbix_server_port
hostname
listenport
sourceip
enableremotecommands
logremotecommands
logfile
logfilesize
logtype
debuglevel
pidfile
database_schema_path
database_host
database_name
database_schema
database_user
database_password
database_socket
database_port
database_charset
database_collate
database_tlsconnect
database_tlscafile
database_tlscertfile
database_tlskeyfile
database_tlscipher
database_tlscipher13
localbuffer
offlinebuffer
heartbeatfrequency
configfrequency
proxyconfigfrequency
datasenderfrequency
startpollers
startpreprocessors
startipmipollers
startodbcpollers
startpollersunreachable
starttrappers
startpingers
startdiscoverers
starthttppollers
javagateway
javagatewayport
startjavapollers
startvmwarecollectors
vmwarefrequency
vmwareperffrequency
vmwaretimeout
vmwarecachesize
vaultdbpath
vaulttoken
vaulturl
snmptrapperfile
snmptrapper
listenip
housekeepingfrequency
cachesize
startdbsyncers
historycachesize
historyindexcachesize
historytextcachesize
timeout
tlsaccept
tlscafile
tlscertfile
tlsconnect
tlscrlfile
tlskeyfile
tlspskfile
tlspskidentity
tlscipherall
tlscipherall13
tlsciphercert
tlsciphercert13
tlscipherpsk
tlscipherpsk13
tlsservercertissuer
tlsservercertsubject
trappertimeout
unreachableperiod
unavaliabledelay
unreachabedelay
externalscripts
fpinglocation
fping6location
sshkeylocation
statsallowedip
sslcalocation_dir
sslcertlocation_dir
sslkeylocation_dir
logslowqueries
tmpdir
allowroot
include_dir
loadmodulepath
loadmodule
manage_selinux
socketdir
database_type
Data type: Zabbix::Databases
Type of database. Can use the following 3 databases: postgresql, mysql, sqlite
Default value: $zabbix::params::database_type
database_path
Data type: Any
When database binaries are not found on the default path: /bin:/usr/bin:/usr/local/sbin:/usr/local/bin you can use this parameter to add the database_path to the above mentiond path.
Default value: $zabbix::params::database_path
zabbix_version
Data type: Any
This is the zabbix version.
Default value: $zabbix::params::zabbix_version
zabbix_package_state
Data type: Any
The state of the package that needs to be installed: present or latest.
Default value: $zabbix::params::zabbix_package_state
manage_database
Data type: Boolean
When true, it will configure the database and execute the sql scripts.
Default value: $zabbix::params::manage_database
manage_firewall
Data type: Boolean
When true, it will create iptables rules.
Default value: $zabbix::params::manage_firewall
manage_repo
Data type: Boolean
When true, it will create repository for installing the proxy.
Default value: $zabbix::params::manage_repo
manage_resources
Data type: Boolean
When true, it will export resources so that the zabbix-server can create via the zabbix-api proxy.
Default value: $zabbix::params::manage_resources
manage_service
Data type: Boolean
When true, it will ensure service running and enabled. When false, it does not care about service
Default value: $zabbix::params::manage_service
zabbix_proxy
Data type: Any
Hostname of zabbix proxy.
Default value: $zabbix::params::zabbix_proxy
zabbix_proxy_ip
Data type: Any
IP of zabbix proxy.
Default value: $zabbix::params::zabbix_proxy_ip
use_ip
Data type: Any
When true, when creating proxies via the zabbix-api, it will configure that connection should me made via ip, not fqdn.
Default value: $zabbix::params::proxy_use_ip
zbx_templates
Data type: Any
Template which will be added when proxy is configured.
Default value: $zabbix::params::proxy_zbx_templates
proxy_configfile_path
Data type: Any
Proxy config file path defaults to /etc/zabbix/zabbix_proxy.conf
Default value: $zabbix::params::proxy_configfile_path
proxy_service_name
Data type: Any
The service name of Zabbix proxy.
Default value: $zabbix::params::proxy_service_name
mode
Data type: Any
Proxy operating mode.
Default value: $zabbix::params::proxy_mode
zabbix_server_host
Data type: Any
Hostname or the ipaddress of the zabbix-server.
Default value: $zabbix::params::proxy_zabbix_server_host
zabbix_server_port
Data type: Any
Port on which the server is listening.
Default value: $zabbix::params::proxy_zabbix_server_port
hostname
Data type: Any
Hostname for the proxy. Default is $::fqdn or this parameter.
Default value: $zabbix::params::proxy_hostname
listenport
Data type: Any
Listen port for trapper.
Default value: $zabbix::params::proxy_listenport
sourceip
Data type: Any
Source ip address for outgoing connections.
Default value: $zabbix::params::proxy_sourceip
enableremotecommands
Data type: Integer[0]
Whether remote commands from zabbix server are allowed.
Default value: $zabbix::params::proxy_enableremotecommands
logremotecommands
Data type: Integer[0]
Enable logging of executed shell commands as warnings.
Default value: $zabbix::params::proxy_logremotecommands
logfile
Data type: Optional[Stdlib::Absolutepath]
Name of log file.
Default value: $zabbix::params::proxy_logfile
logfilesize
Data type: Any
Maximum size of log file in MB.
Default value: $zabbix::params::proxy_logfilesize
logtype
Data type: Enum['console', 'file', 'system']
Specifies where log messages are written to. Can be one of: console, file, system
Default value: $zabbix::params::proxy_logtype
debuglevel
Data type: Any
Specifies debug level.
Default value: $zabbix::params::proxy_debuglevel
pidfile
Data type: Any
Name of pid file.
Default value: $zabbix::params::proxy_pidfile
database_schema_path
Data type: Any
The path to the directory containing the .sql schema files
Default value: $zabbix::params::database_schema_path
database_host
Data type: Any
Database host name.
Default value: $zabbix::params::proxy_database_host
database_name
Data type: Any
Database name.
Default value: $zabbix::params::proxy_database_name
database_schema
Data type: Any
Schema name. used for ibm db2.
Default value: $zabbix::params::proxy_database_schema
database_user
Data type: Any
Database user. ignored for sqlite.
Default value: $zabbix::params::proxy_database_user
database_password
Data type: Any
Database password. ignored for sqlite.
Default value: $zabbix::params::proxy_database_password
database_socket
Data type: Any
Path to mysql socket.
Default value: $zabbix::params::proxy_database_socket
database_port
Data type: Any
Database port when not using local socket. Ignored for sqlite.
Default value: $zabbix::params::proxy_database_port
database_charset
Data type: Any
The default charset of the database.
Default value: $zabbix::params::server_database_charset
database_collate
Data type: Any
The default collation of the database.
Default value: $zabbix::params::server_database_collate
database_tlsconnect
Data type: Optional[Enum['required', 'verify_ca', 'verify_full']]
Available options:
- required - connect using TLS
- verify_ca - connect using TLS and verify certificate
- verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost matches its certificate
Default value: $zabbix::params::proxy_database_tlsconnect
database_tlscafile
Data type: Optional[Stdlib::Absolutepath]
Full pathname of a file containing the top-level CA(s) certificates for database certificate verification.
Default value: $zabbix::params::proxy_database_tlscafile
database_tlscertfile
Data type: Optional[Stdlib::Absolutepath]
Full pathname of file containing Zabbix server certificate for authenticating to database.
Default value: $zabbix::params::proxy_database_tlscertfile
database_tlskeyfile
Data type: Optional[Stdlib::Absolutepath]
Full pathname of file containing the private key for authenticating to database.
Default value: $zabbix::params::proxy_database_tlskeyfile
database_tlscipher
Data type: Optional[String[1]]
The list of encryption ciphers that Zabbix server permits for TLS protocols up through TLSv1.2.
Default value: $zabbix::params::proxy_database_tlscipher
database_tlscipher13
Data type: Optional[String[1]]
The list of encryption ciphersuites that Zabbix server permits for TLSv1.3 protocol.
Default value: $zabbix::params::proxy_database_tlscipher13
localbuffer
Data type: Any
Proxy will keep data locally for N hours, even if the data have already been synced with the server
Default value: $zabbix::params::proxy_localbuffer
offlinebuffer
Data type: Any
Proxy will keep data for N hours in case if no connectivity with Zabbix Server
Default value: $zabbix::params::proxy_offlinebuffer
heartbeatfrequency
Data type: Any
Unique nodeid in distributed setup.
Default value: $zabbix::params::proxy_heartbeatfrequency
configfrequency
Data type: Any
How often proxy retrieves configuration data from Zabbix Server in seconds.
Default value: $zabbix::params::proxy_configfrequency
proxyconfigfrequency
Data type: Optional[Integer[1,604800]]
How often proxy retrieves configuration data from Zabbix Server in seconds (Zabbix 6.4).
Default value: $zabbix::params::proxy_proxyconfigfrequency
datasenderfrequency
Data type: Any
Proxy will send collected data to the Server every N seconds.
Default value: $zabbix::params::proxy_datasenderfrequency
startpollers
Data type: Any
Number of pre-forked instances of pollers.
Default value: $zabbix::params::proxy_startpollers
startpreprocessors
Data type: Integer[1, 1000]
Number of pre-forked instances of preprocessing workers
Default value: $zabbix::params::proxy_startpreprocessors
startipmipollers
Data type: Any
Number of pre-forked instances of ipmi pollers.
Default value: $zabbix::params::proxy_startipmipollers
startodbcpollers
Data type: Integer[0, 1000]
Number of pre-forked instances of ODBC pollers.
Default value: $zabbix::params::proxy_startodbcpollers
startpollersunreachable
Data type: Any
Number of pre-forked instances of pollers for unreachable hosts (including ipmi).
Default value: $zabbix::params::proxy_startpollersunreachable
starttrappers
Data type: Any
Number of pre-forked instances of trappers.
Default value: $zabbix::params::proxy_starttrappers
startpingers
Data type: Any
Number of pre-forked instances of icmp pingers.
Default value: $zabbix::params::proxy_startpingers
startdiscoverers
Data type: Any
Number of pre-forked instances of discoverers.
Default value: $zabbix::params::proxy_startdiscoverers
starthttppollers
Data type: Any
Number of pre-forked instances of http pollers.
Default value: $zabbix::params::proxy_starthttppollers
javagateway
Data type: Any
IP address (or hostname) of zabbix java gateway.
Default value: $zabbix::params::proxy_javagateway
javagatewayport
Data type: Any
Port that zabbix java gateway listens on.
Default value: $zabbix::params::proxy_javagatewayport
startjavapollers
Data type: Any
Number of pre-forked instances of java pollers.
Default value: $zabbix::params::proxy_startjavapollers
startvmwarecollectors
Data type: Any
Number of pre-forked vmware collector instances.
Default value: $zabbix::params::proxy_startvmwarecollectors
vmwarefrequency
Data type: Any
How often zabbix will connect to vmware service to obtain a new datan.
Default value: $zabbix::params::proxy_vmwarefrequency
vmwareperffrequency
Data type: Any
Delay in seconds between performance counter statistics retrieval from a single VMware service. This delay should be set to the least update interval of any VMware monitoring item that uses VMware performance counters.
Default value: $zabbix::params::proxy_vmwareperffrequency
vmwaretimeout
Data type: Any
The maximum number of seconds vmware collector will wait for a response from VMware service (vCenter or ESX hypervisor).
Default value: $zabbix::params::proxy_vmwaretimeout
vmwarecachesize
Data type: Any
Size of vmware cache, in bytes.
Default value: $zabbix::params::proxy_vmwarecachesize
vaultdbpath
Data type: Optional[String[1]]
Vault path from where credentials for database will be retrieved by keys 'password' and 'username'.
Default value: $zabbix::params::proxy_vaultdbpath
vaulttoken
Data type: Optional[String[1]]
Vault authentication token that should have been generated exclusively for Zabbix proxy with read-only permission to the path specified in the optional VaultDBPath configuration parameter.
Default value: $zabbix::params::proxy_vaulttoken
vaulturl
Data type: Stdlib::HTTPSUrl
Vault server HTTP[S] URL. System-wide CA certificates directory will be used if SSLCALocation is not specified.
Default value: $zabbix::params::proxy_vaulturl
snmptrapperfile
Data type: Any
Temporary file used for passing data from snmp trap daemon to the server.
Default value: $zabbix::params::proxy_snmptrapperfile
snmptrapper
Data type: Any
If 1, snmp trapper process is started.
Default value: $zabbix::params::proxy_snmptrapper
listenip
Data type: Any
List of comma delimited ip addresses that the trapper should listen on.
Default value: $zabbix::params::proxy_listenip
housekeepingfrequency
Data type: Any
How often Zabbix will perform housekeeping procedure (in hours).
Default value: $zabbix::params::proxy_housekeepingfrequency
cachesize
Data type: Any
Size of configuration cache, in MB.
Default value: $zabbix::params::proxy_cachesize
startdbsyncers
Data type: Any
Number of pre-forked instances of db syncers.
Default value: $zabbix::params::proxy_startdbsyncers
historycachesize
Data type: Any
Size of history cache, in bytes.
Default value: $zabbix::params::proxy_historycachesize
historyindexcachesize
Data type: Any
Size of history index cache, in bytes.
Default value: $zabbix::params::proxy_historyindexcachesize
historytextcachesize
Data type: Any
Size of text history cache, in bytes.
Default value: $zabbix::params::proxy_historytextcachesize
timeout
Data type: Any
Specifies how long we wait for agent, snmp device or external check (in seconds).
Default value: $zabbix::params::proxy_timeout
tlsaccept
Data type: Any
What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy.
Default value: $zabbix::params::proxy_tlsaccept
tlscafile
Data type: Any
Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.
Default value: $zabbix::params::proxy_tlscafile
tlscertfile
Data type: Any
Full pathname of a file containing the proxy certificate or certificate chain.
Default value: $zabbix::params::proxy_tlscertfile
tlsconnect
Data type: Any
How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy.
Default value: $zabbix::params::proxy_tlsconnect
tlscrlfile
Data type: Any
Full pathname of a file containing revoked certificates.
Default value: $zabbix::params::proxy_tlscrlfile
tlskeyfile
Data type: Any
Full pathname of a file containing the proxy private key.
Default value: $zabbix::params::proxy_tlskeyfile
tlspskfile
Data type: Any
Full pathname of a file containing the pre-shared key.
Default value: $zabbix::params::proxy_tlspskfile
tlspskidentity
Data type: Any
Unique, case sensitive string used to identify the pre-shared key.
Default value: $zabbix::params::proxy_tlspskidentity
tlscipherall
Data type: Optional[String[1]]
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::proxy_tlscipherall
tlscipherall13
Data type: Optional[String[1]]
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
Default value: $zabbix::params::proxy_tlscipherall13
tlsciphercert
Data type: Optional[String[1]]
GnuTLS priority string or OpenSSL (TLS 1.2) cipher string. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::proxy_tlsciphercert
tlsciphercert13
Data type: Optional[String[1]]
Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3. Override the default ciphersuite selection criteria for certificate-based encryption.
Default value: $zabbix::params::proxy_tlsciphercert13
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v10.0.0 (2024-03-14)
Breaking changes:
- drop last bits of Fedora support #912 (evgeni)
- Remove deprecated zabbix_host.group, zabbix::agent::zbx_group, zabbix::resources::agent::group parameters #909 (evgeni)
- drop naizvoru.com arm repo for Debian #907 (evgeni)
- puppetlabs/firewall: Require 7.x #898 (evgeni)
- increase default CacheSize to 32M, the default in 6.0 #895 (evgeni)
- install Zabbix 6.0 by default everywhere but EL7 #894 (evgeni)
- Drop support for Zabbix 4.0 #891 (evgeni)
- Drop support for Windows 2012 and 2012 R2 #889 (evgeni)
- Drop Debian 10 and Ubuntu 18.04 support #888 (evgeni)
- Drop support for Zabbix 5.2 and 5.4 which are EOL upstream #886 (evgeni)
- Remove check for Apache 2.4/2.2, require puppetlabs/apache 9.x #859 (JoshuaSmeda)
- Drop support for Puppet 6 #841 (smortex)
- Drop EoL Debian 9 support #837 (bastelfreak)
- puppetlabs/apache: Require 8.x; switch apache ports from string to int #835 (bdeferme)
- Drop EoL Ubuntu 16.04 #833 (root-expert)
Implemented enhancements:
- Add Ubuntu 22.04 support #925
- Centralize the logic which server/agent versions are supported #932 (ekohl)
- Use shared example for indempotent resource #931 (Valantin)
- Bootstrap agent2 support #929 (Valantin)
- Add Debian 12 OS support #927 (Valantin)
- Add Ubuntu 22.04 support #926 (Valantin)
- Allow puppetlabs/postgresql 10, puppetlabs/apache 12 #924 (Valantin)
- Add and remove Zabbix 6.0 + 6.4 options (HA mode, StatsAllowedIP, ProxyConfigFrequency, HeartbeatFrequency) #921 (geirra)
- Reduce the size of prepare_host in acceptance tests #917 (ekohl)
- allow specifying custom parameters to apache::vhost #915 (evgeni)
- use os.family fact to detect params #913 (evgeni)
- don't specialcase oracle in the repo config #911 (evgeni)
- add support for arm64 Debian and Ubuntu repos #908 (evgeni)
- remove old version comparison guards for Zabbix pre 5.0 #906 (evgeni)
- Better Hiera compatibility #905 (ekohl)
- Clean up PostgreSQL DB creation logic #904 (ekohl)
- move zabbixapi gem installation into own class #903 (evgeni)
- add support for AlmaLinux and Rocky 8 and 9 #897 (evgeni)
- execute zabbix::proxy tests everywhere #896 (evgeni)
- add EL9 support #893 (evgeni)
- don't call puppet multiple times in prepare host for acceptance #892 (evgeni)
- Add support for ODBC pollers in Zabbix >= 6.0 #881 (fraenki)
- Replace deprecated use of mysql_password #880 (DJClean)
- Add Puppet 8 support #879 (bastelfreak)
- Allow puppetlabs/stdlib 9.x, puppetlabs/postgresql 9.x, puppetlabs/mysql 15.x, pyppetlabs/apache 11.x, puppetlabs/apt 9.x, puppet/systemd 6.x, puppet/selinux 4.x #878 (bastelfreak)
- Use structured $facts hash syntax in spec tests #872 (Phil-Friderici)
- Add unit tests to reach 100% resource coverage #871 (Phil-Friderici)
- Add support for FreeBSD only for Zabbix Agent #867 (gizmo15)
- bump puppet/systemd to \< 5.0.0 #863 (jhoblitt)
- Add option to restrict API access to specific hosts #856 (teluq-pbrideau)
- Add/rename Linux SNMP templates for Zabbix 6.0+ #855 (teluq-pbrideau)
- Add path for Zabbix 6.0 database schema #850 (teluq-pbrideau)
- Allow latest version of the PostgreSQL module #849 (teluq-pbrideau)
- Certificate authentication in zabbix_host resource #848 (teluq-pbrideau)
- Add charset and collate parameters for zabbix::proxy #842 (xchotard-talentsoft)
Fixed bugs:
- RHEL 9 packages fails to install #858
- The centos-release-scl package does not exist for RHEL #823
- use www-data on all Debian family systems, not only on Debian and Ubuntu #910 (evgeni)
- manifests/proxy.pp: avoid undefined variable for Puppet 8 compat #900 (spicyprogramming)
- OracleLinux fixes #887 (evgeni)
- Fix java-gateway pid different in zabbix 6 #885 (Fabian1976)
- Provide correct gpgkey for RHEL family, version > 8. #861 (Joshua-Snapp)
- Configure DirectoryIndex by default #854 (teluq-pbrideau)
- use provided database port in pgpass #851 (teluq-pbrideau)
- Propagate
default_vhost
to zabbix::web #826 (ikcalB)
Closed issues:
- Use shared example in acceptance #930
- Module dependency version cause Acceptance test failure #922
- Set DirectoryIndex in the zabbix module #853
- Proxy schema file incorrect for Zabbix 6 #838
- Mysql charset (utf8) and collate (utf8_bin) not idempotent #832
- Exec[update_pgpass] failed #830
- Raspberry PI Agent Install from naizvoru.com - Certificate Expired #802
- Zabbix:agent error with module puppet-systemd > 3.3.0 #799
- Drop deprecated hiera_hash() #777
- Add Support for Zabbix Agent 2 #692
Merged pull requests:
- add documentation to satisfy linting #866 (Phil-Friderici)
v9.2.0 (2022-06-05)
Implemented enhancements:
- Add Zabbix 6.0 support #820 (root-expert)
- add zabbix-server options StartReportWriters and WebServiceURL. #811 (Heidistein)
- Add AIX 7 support #807 (ghost)
- Add RedHat 8 support #805 (tjikkun)
- Added ability to keep templates in sync (no manual changes) #803 (Fabian1976)
- Bump lower bound of systemd to 3.1.0 #791 (root-expert)
- Allow MSI package install on Windows #790 (spicyprogramming)
- Add Debian 11 support #784 (root-expert)
Fixed bugs:
- Agent service needs to require the startup script #788
- Fix #817 - startup_script fails for windows #818 (logicminds)
- Fix typo in repo.pp #816 (root-expert)
- Default denykey to undef #813 (root-expert)
- set ipaddress to empty string if agent_use_ip is false #810 (mergwyn)
- Respect manage_repo for RedHat family #801 (fraenki)
- Require startup script for the zabbix agent service #794 (root-expert)
- Add code to ensure interfacedetails is always a hash #793 (oraziobattaglia)
- Added details to host network interface to configure SNMP hosts #785 (oraziobattaglia)
Closed issues:
- startup_script fails for windows #817
- Zabbix 6.0 #814
- DenyKey active by default even if denykey => undef, #812
- ipaddress should be set to empty string if agent_use_ip is false #809
- no parameter named 'interfacedetails' #804
- Keychain for Zabbix repo certificate verify failed #800
- Add support for CentOS/RHEL 8 #643
- Add status property to zabbix_host resource #606
Merged pull requests:
- Ubuntu: Install lsb-release during CI #819 (bastelfreak)
- cleanup .fixtures.yml #806 (bastelfreak)
- Run unit tests on only on major OS versions #795 (bastelfreak)
- zabbix::startup: use rspec-puppet-facts #792 (bastelfreak)
- Allow up-to-date dependencies #786 (smortex)
- Use puppet-strings annotations/Generate REFERENCE.md #781 (root-expert)
- Update README.md with new badges/transfer notice #780 (bastelfreak)
v9.1.0 (2021-08-05)
Implemented enhancements:
- Add Zabbix 5.4 support #776 (root-expert)
- Add Vault parameters #770 (root-expert)
- Add StartPreprocessors option #768 (root-expert)
- Add Missing parameters #767 (root-expert)
Fixed bugs:
- Missing code to support server parameter 'StartEscalators' #340
- Ensure correct logfile/logfilesize values when defaulting logtype to system #772 (root-expert)
Closed issues:
- Zabbix SQL file location has changed #773
Merged pull requests:
- switch from camptocamp/systemd to voxpupuli/systemd #775 (bastelfreak)
- Optimize acceptance tests #771 (root-expert)
v9.0.0 (2021-05-07)
Breaking changes:
- Bump default Zabbix version on linux 3.4->5.0 #751 (bastelfreak)
- Drop Zabbix 2/3 support and deprecated parameters; only support zabbix 4.0, 5.0, 5.2 #750 (bastelfreak)
- database: use namespaced postgresql_password function; bump puppetlabs/postgresql lower dependency 4.4.2->6.4.0 #748 (kenyon)
- Drop Puppet 5 support #742 (bastelfreak)
- Drop CentOS 6 testing/support #733 (bastelfreak)
- Bump zabbixapi version to 4.2.0 #730 (fraenki)
- Drop Debian 8 / Add Debian 9 support #666 (bastelfreak)
Implemented enhancements:
- Zabbix 4.2 Support #621
- Support sslcertlocation & sslkeylocation for zabbix proxy #766 (shaunbugler)
- Allow to pass LDAP settings to zabbix class #764 (root-expert)
- Implement additional SAML settings #763 (root-expert)
- Enable Debian 10 acceptance tests #759 (root-expert)
- Allow non-default port database importing #758 (root-expert)
- Add Ubuntu 18.04 and 20.04 support #757 (root-expert)
- camptocamp/systemd: allow 3.x #753 (bastelfreak)
- Enable Puppet 7 support #747 (bastelfreak)
- Add support for Zabbix 5.x #743 (root-expert)
- Add ability to set $DB[DOUBLE_IEEE754] to true in zabbix.conf.php. #735 (Joshua-Snapp)
- Add option to specify type of interface in agent class #697 (zv0n)
- Add better postgres support #695 (anthonysomerset)
- Fix for zabbix::agent manage_firewall when multiple servers are specified #690 (xandm)
- Improve
zabbix_proxy
type #679 (alexjfisher) - Add zabbix-agent support on windows #675 (bastelfreak)
- Add Debian 10 support #674 (bastelfreak)
- Add support for defining host's macros #671 (zv0n)
- Support for zabbix::agent on AIX #665 (bjschafer)
- Add support for HostInterface and HostInterfaceItem (4.4 Enhancement) #656 (mergwyn)
Fixed bugs:
- issue with firewall when two servers defined #199
- Ensure consistent use of logtype and logfile across agent/server/proxy #765 (shaunbugler)
- Fix README regarding zbx_group(s) deprecation and fix small bug so de… #761 (Fabian1976)
- Fix templates importing in Zabbix 5.2+ #756 (root-expert)
- acceptance tests: move package setup into helper #746 (bastelfreak)
- Cleanup and fix acceptance test helper #682 (bastelfreak)
- modulesync 2.12.0 / zabbix::web: Allow httpd to speak to the database #680 (bastelfreak)
- Fix zabbix::proxy idempotency #669 (alexjfisher)
- Fix type error on zabbix_proxy delete #663 (baurmatt)
Closed issues:
- Ubuntu focal proxy fails to install with mysql-8.0 (syntax error) #752
- Ensure future compatibility with systemd #740
- Need to set $DB[DOUBLE_IEEE754] to true in Zabbix >=5.0's zabbix.conf.php. #734
- the install action for zabbix 5.0 on centos/redhat 7 is wrong #731
- zbx_group vs zbx_groups in Readme #717
- Allow for configuration of 5.0's zabbix.conf.php SAML settings #693
- Add Support for Zabbix 5.0 #689
- zabbix::repo should be in setup stage #661
- Remove dependency on concat #658
- server_logtype should be optional #655
- Postgresql port parameter is ignored. #620
- API Error #544
- AIX Support #504
Merged pull requests:
- Module version bumps #749 (kenyon)
- postgres: Use UTF8 encoding and postgres 12 in acceptance tests #744 (bastelfreak)
- Fix typo in README.md #727 (0none)
- Add parameter and default for Option SocketDir #723 (wdberry)
- Reduce configuration on agent service #711 (ekohl)
- [ci skip] document acceptance test helper method #710 (bastelfreak)
- modulesync 3.0.0 & puppet-lint fixes & rubocop fixes #699 (bastelfreak)
- Drop ruby \< 2.3 fakefs gem dependency #688 (ekohl)
- Change database collation to utf8_bin as it is stated in official docs #685 (KrzysztofHajdamowicz)
- Improve agent version handling in acceptance #676 (ekohl)
- Use older xenial docker image #673 (alexjfisher)
- Add acceptance testing for 4.2 and 4.4 #664 (baurmatt)
- Remove concat dependency from metadata.json #659 (alexjfisher)
v8.0.0 (2020-02-01)
Breaking changes:
Implemented enhancements:
- Allow to delete a zabbix_proxy #653 (baurmatt)
- Add logtype parameter for zabbix server (issue #394) #650 (dpavlotzky)
- Add zabbix.com repository for Raspbian Linux #648 (emetriqChris)
- Explicitly use 'ensure => file' for normal file resources #626 (baurmatt)
Closed issues:
- Test for CentOS 7 current failing due to bug in docker #645
- Service started before database is required #632
- Place agent config file if config file is a symlink #625
Merged pull requests:
- update repo links to https #652 (bastelfreak)
- Make the tablespace parameter available in the zabbix class. #651 (dpavlotzky)
- Add tablespace parameter #649 (dpavlotzky)
- Pin CentOS acceptance tests 7.6.1810 #646 (baurmatt)
- Remove duplicate CONTRIBUTING.md file #641 (dhoppe)
- drop Ubuntu 14.04 support #639 (bastelfreak)
- add 'VirtuozzoLinux' support #635 (kBite)
v7.0.0 (2019-10-06)
Breaking changes:
- drop legacy puppetlabs/pe_gem dependency & cleanup code #628 (bastelfreak)
- Allow puppetlabs/apache 5.x, puppetlabs/concat 6.x, puppetlabs/firewall 2.x, puppetlabs/mysql 9.x, puppetlabs/stdlib 6.x; drop puppetlabs/ruby dependency #610 (dhoppe)
- modulesync 2.5.1 and drop Puppet 4 #589 (bastelfreak)
Implemented enhancements:
- Add historyindexcachesize to class zabbix #566
- Add support for specifying unsupported repo location. #612 (jadestorm)
- Put selboolean{'zabbix_can_network'} inside ensure_resources #599 (KrzysztofHajdamowicz)
- Implement self.prefetch for zabbix_host #591 (baurmatt)
- Added historyindexcachesize to class zabbix (part2) #586 (Ordnaxz)
- Add Remote Commands capabilities on Zabbix Proxy #575 (Safranil)
Fixed bugs:
- PrivateDevices=yes stops fping from working on Ubuntu 18.04 #609
- zabbix::userparameters::data doesn't notify correctly the zabbix-agent service #607
- puppetlabs/mysql: allow 10.x & zabbix-server: start service after initfile is created #624 (bastelfreak)
- Delete PrivateDevices attribute in systemd service template file #618 (jordips)
- Fix minor typo in agent_servicename param #616 (ljeromets)
Closed issues:
- Cannot declare Selboolean zabbix_can_network elsewhere #598
- check_template_in_host function missing parameter #594
- Fails to apply manifest for zabbix-agent 3.0 #590
- zabbix 3.0 vs php version #429
Merged pull requests:
- add
managed by puppet
header to unit files #615 (bastelfreak) - Allow puppet-selinux 3.x #613 (ekohl)
- Allow puppetlabs/apache 4.x, puppetlabs/apt 7.x, puppetlabs/postgresql 6.x #605 (dhoppe)
- Fix check_template_in_host function missing parameter #595 (fgallese)
- Implement self.prefetch for zabbix_hostgroup #593 (baurmatt)
- switch acceptance tests from trusty to xenial #585 (bastelfreak)
- Allow puppetlabs-mysql 7.x #584 (ekohl)
- update travis distro from trusty to xenial #582 (bastelfreak)
- Feature/userparameters ensure #581 (baurmatt)
- Move api configuration to a config file #579 (baurmatt)
v6.7.0 (2018-12-21)
Implemented enhancements:
- Add Zabbix 3.4 and 4.0 support #577 (gdubicki)
- Add ability to stop the agent #562 (mkilchhofer)
- Make repo_location usable #538 (baurmatt)
Fixed bugs:
- zabbix_template resource doesn't work with Zabbix 4.0 #556
- Properly require zabbixapi gem #572 (baurmatt)
- Add zabbix_package_state to the zabbix class to allow upgrade of se… #568 (r-catania)
Closed issues:
- Incompatibility with puppetlabs-apt (starting from 6.1.0 version ) #569
- Make zabbix::resources::agent::hostname configurable in zabbix::agent #563
- Drop management of Init script #541
- zabbix::userparameters has to require zabbix::agent #539
- zabbix::repo::repo_location isn't used #537
- Make types run in puppet 4 #182
Merged pull requests:
- Fix rspec tests for Gentoo #576 (baurmatt)
- Feature/acceptance test custom types #573 (baurmatt)
- Add data types for zabbix::userparameters #565 (baurmatt)
- Make hostname within exported resources configurable #564 (baurmatt)
- Add manage_init_script parameter #553 (baurmatt)
- Include zabbix::agent for better relationship ordering #540 (baurmatt)
v6.6.0 (2018-11-02)
Implemented enhancements:
- Add ldap reqcert #560 (bastelfreak)
- Improve performance of zabbix_host #559 (baurmatt)
Closed issues:
- Improve performance of zabbix_host #558
- Feature Request: ProxyOfflineBuffer setting for zabbix proxies missing #554
Merged pull requests:
- Fix tests by adding missing
operatingsystem
fact #557 (alexjfisher) - Replace is_ip_address with Puppet 4 native comparision #555 (baurmatt)
- Fix proxy documentation #552 (frenchtoasters)
v6.5.0 (2018-10-17)
Implemented enhancements:
- Add Zabbix 4.0 compatibility and new
config_mode
parameter #548 (Lord-Y) - Gentoo service fix #545 (lordievader)
- Add Gentoo support #535 (lordievader)
Closed issues:
- Module cannot install puppetlabs-mysql dependency #536
- Running the puppet-zabbix module on Gentoo gives an ExecutionFailure #531
- The topic is wrong! #517
Merged pull requests:
- fix wrong version schema in metadata.json #547 (bastelfreak)
- Add Puppet 6.x support #542 (bastelfreak)
- allow puppetlabs/stdlib 5.x, puppetlabs/apt 6.x and puppetlabs/concat 5.x #530 (bastelfreak)
v6.4.2 (2018-08-20)
Fixed bugs:
v6.4.1 (2018-08-15)
Merged pull requests:
- fix beaker support #524 (bastelfreak)
- install beaker-rspec 6 or newer #523 (bastelfreak)
- Add support for latest puppetlabs/{apt,apache/mysql} modules #519 (bastelfreak)
v6.4.0 (2018-08-05)
Implemented enhancements:
- Expose server name in main class, fixes #510 #511 (lordievader)
Fixed bugs:
- Exec[zabbix_server_create.sql] does not work because is might come after Package[zabbix-server-mysql #505
- Add missing enable => true for zabbix-java-gateway #516 (stefanandres)
Closed issues:
- Expose the $zabbix_server_name variable #510
Merged pull requests:
- get rid of useless topscope calling #509 (bastelfreak)
v6.3.2 (2018-06-21)
Fixed bugs:
- Zabbix Repository (zabbix-non-supported) defined with incorrect gpgkey #397
- Clarify dependency for database handling #508 (stefanandres)
- Fix missing enable attribut for zabbix::proxy service #507 (stefanandres)
- Support SSL parameters for web monitoring in all versions >= 2.4 #469 (anotherfigo)
- wait for network connectivity before Zabbix Server startup #454 (tequeter)
Closed issues:
- Puppet 5.3 Zabbix 2.4 json conflict #502
- repeated attempted key import in Ubuntu 18.04 #500
- SELinux blocks httpd from accessing database #477
Merged pull requests:
- drop EOL OSs; fix puppet version range #501 (bastelfreak)
- Rely on beaker-hostgenerator for docker nodesets #498 (ekohl)
v6.3.1 (2018-03-29)
Fixed bugs:
- listenip in agent not resolving to IP address from network interface name #493
- Fix listen_ip bug and relax interface regex #494 (bastelfreak)
v6.3.0 (2018-03-28)
Implemented enhancements:
- zabbix::agent without an IP shouldn't guess the IP #473
- add ability to manage ZBX_SERVER_NAME in web class #491 (bastelfreak)
Fixed bugs:
- Do not guess ListenIP, fixes #473, bump stdlib to 4.19.0 #487 (lordievader)
Merged pull requests:
- bump puppet version dependency to >= 4.10.0 \< 6.0.0 #490 (bastelfreak)
- allow camptocamp/systemd 2.X #486 (bastelfreak)
v6.2.0 (2018-02-13)
Implemented enhancements:
- add vmwaretimeout as possible server-param #482 (trikke-basel)
- #476 Pass credentials for HTTP auth #479 (tux-o-matic)
Fixed bugs:
- Dependencies need update #453
- Fixed versioncmp compare and fixed typo in file zabbix-server-ips.te #480 (Fabian1976)
Closed issues:
Merged pull requests:
- Update module dependencies #485 (alexjfisher)
- Document needed sebooleans for httpd/zabbix-web #481 (Fabian1976)
v6.1.0 (2017-12-18)
Implemented enhancements:
Merged pull requests:
v6.0.0 (2017-11-11)
Breaking changes:
Implemented enhancements:
- Add support for templated SE Linux agent module #452 (tux-o-matic)
- Support multiple zabbix_alias #435 (fribergr)
Closed issues:
- Incorrect public key for repository #461
- Allow external script execution with SE Linux #441
- Using existing mysql database #237
- Setting Apache alias /zabbix #236
v5.0.1 (2017-10-21)
Fixed bugs:
- add selinux workaround for IPC in zabbix-server3.4 #459 (bastelfreak)
- Remove updateExisting from applications in zabbix template provider. #450 (ghost)
- Add missing proxy_mode variable to zabbix_proxy provider #447 (ghost)
Closed issues:
- Zabbix API errors when adding Templates in Zabbix 3.4 v2 #449
- Zabbix API errors when adding Templates in Zabbix 3.4 #446
- SenderFrequency parameter is deprecated in Zabbix 3.4 #437
Merged pull requests:
v5.0.0 (2017-09-17)
Breaking changes:
- BREAKING: Bump default zabbix version to 3.4 + test on it #443 (bastelfreak)
Implemented enhancements:
- Fix for Zabbix 3.4 #436 (Menollo)
- Update testmatrix to puppet5 + new gems #430 (bastelfreak)
Closed issues:
- override database_schema_path for AWS ami instance #428
- Syntax Error at line 82 in file init.pp #423
- pg_hba problems in zabbix::database #411
Merged pull requests:
- release 5.0.0 #444 (bastelfreak)
v4.1.3 (2017-06-26)
Fixed bugs:
- zabbix::agent LogType and User are not valid in 2.2 (EPEL) #417
- Add pg_hba rule to allow zabbix server #411 #412 (RaphaelNeumann)
Merged pull requests:
- bump postgresql to allow 5.X #420 (bastelfreak)
v4.1.2 (2017-06-23)
Implemented enhancements:
- Update metadata.json for correct stdlib/puppet version #415 (bastelfreak)
Fixed bugs:
- Fix proxy service not being enabled #413 (stefanandres)
v4.1.1 (2017-06-14)
Fixed bugs:
- unless $manage_database interprets False wrong; and useless require breaks standalone database setups #409 (bastelfreak)
v4.1.0 (2017-06-08)
Implemented enhancements:
- Allow zabbix server to run on a dedicated machine #406
- Zabbix server should not be started as root #405
- Allow zabbix upgrades via the module #403
- update rpm key urls to https #401 (bastelfreak)
Fixed bugs:
- Zabbix agent should be started forking on 2.X and simple on 3.X #404
- Fails to upgrade zabbix-agent if zabbix_version is changed #398
- define owner and group via parameters #400 (kBite)
- only add --foreground on 3.0 and newer #396 (bastelfreak)
Closed issues:
- Zabbix 3.0 on Centos 6.x #359
- Integer 18455137360 too big to convert to "int" at manifests/params.pp:333:24 #329
Merged pull requests:
- release 4.1.0 #402 (bastelfreak)
- Fix rpm key handling + changing default values depending on zabbix version #399 (bastelfreak)
- Provide acceptance tests for zabbix server #392 (bastelfreak)
v4.0.0 (2017-05-24)
Breaking changes:
- BREAKING: Add acceptance tests + multiple bugfixes #382 (bastelfreak)
Implemented enhancements:
- update to new archlinux package name #381 (bastelfreak)
- remove the include ::apt #369 (damoxc)
- replace all validate functions with datatypes #362 (bastelfreak)
Merged pull requests:
- Release 4.0.0 #390 (dhollinger)
- modulesync 0.21.3 #388 (bastelfreak)
- migrate userparameters tests to rspec-puppet-facts #387 (bastelfreak)
- migrate proxy tests to rspec-puppet-facts #386 (bastelfreak)
- add rspec-puppet-facts to repo.pp #385 (bastelfreak)
- Enhance tests for javagateway #384 (bastelfreak)
- Migrate tests to rspec-puppet-facts #383 (bastelfreak)
- Fix github license detection #379 (alexjfisher)
- puppet-lint: fix arrow_on_right_operand_line #375 (bastelfreak)
- update README.md so everything is rendered correctly #370 (Cosaquee)
- bump rubocop-rspec 1.10.0->1.13.0 #367 (bastelfreak)
- bump puppetlabs_spec_helper 2.0.1->2.1.0 #366 (bastelfreak)
- Fixed syntax error in README template #361 (angeiv)
v3.0.0 (2017-02-12)
Implemented enhancements:
Closed issues:
- zabbix::web Could not find user zabbix #341
Merged pull requests:
- Change minimum required Puppet version to 4.6.1. Puppet 3 is no longer supported. #345 (bastelfreak)
v2.6.2 (2017-01-11)
Closed issues:
- Installing on 2 nodes does not setup the database #333
Merged pull requests:
- Fix failing test due to missing selinux fact #332 (juniorsysadmin)
- Bump min version_requirement for Puppet + deps #331 (juniorsysadmin)
v2.6.1 (2016-12-07)
Closed issues:
- Puppet Unknown variable: '::selinux_config_mode' #325
- Zabbix agent should not use ProtectSystem in systemd #320
- related to #305 run fails if system does not have systemd fact #310
Merged pull requests:
- Strict variables fix for selinux_config_mode #326 (alexjfisher)
- Add virtual bridge (virbr) to the list of network interfaces that are checked when setting listenip #324 (markfaine)
- Replaced agent systemd service with official #321 (BcTpe4HbIu)
- Improve zabbix_template type #318 (alexjfisher)
- Add unit test for zabbix_hostgroup type #316 (alexjfisher)
- Add missing badges [ci skip] #315 (alexjfisher)
- Default web_config_owner/group correctly #313 (alexjfisher)
v2.6.0 (2016-11-04)
Merged pull requests:
- In case we are not using Apache we should have an option to define ow… #307 (admont)
- use getvar to get systemd fact #305 (bastelfreak)
- make rspec more awesome #304 (bastelfreak)
- Enhance testing #302 (bastelfreak)
- Add new RPM GPG key for zabbix-3.2 and higher #300 (yevtushenko)
- Add MySQL tests for zabbix-3.2. #299 (yevtushenko)
v2.5.1 (2016-10-13)
Closed issues:
- zabbix_proxy.rb:7: syntax error #281
- The zabbix_host custom type doesn't appear to recognise the "group" parameter #280
- zabbix-agentd can't start on CentOS 6.x #264
Merged pull requests:
- Fixes for #264 #291 (shaunrampersad)
- Adapt to zabbix-3.2 and higher. #289 (yevtushenko)
- Fix for php db package name on Ubuntu 16.04 #284 (frozenfoxx)
- Fix typo error #279 (int32bit)
- don't fail if uncompressed file exists #278 (HT43-bqxFqB)
v2.5.0 (2016-09-19)
Implemented enhancements:
- modulesync 0.12.2 + Improvements #268 (bastelfreak)
Closed issues:
- zabbix-agent service not starting properly, missing variables in zabbix-agent.service file #266
- Release 999.999.999 version of wdijkerman for deprecation #243
Merged pull requests:
- Release 2.5.0 #277 (bastelfreak)
- Add Fedora 24 support #275 (bastelfreak)
v2.4.0 (2016-08-18)
Closed issues:
- Custom config file name/path #240
- 'apt-get update' complains about a weak digest (SHA1) #239
- Order problems with apt update #233
- Unpin concat version, support 2.x #231
- Update metadata.json and fixtures to support concat #230
Merged pull requests:
- Create tests for commit efad625cd87ce37fe91e708920da6a85b1f28e4b #263 (Heidistein)
- Modulesync 0.12.1 & Release 2.4.0 #261 (bastelfreak)
- Fix: Pin Rubocop version to 2.0.0+ #255 (jk2l)
- Respect user provided Zabbix agent package name in userparameters #254 (wiene)
- Fix: select systemd for ubuntu correctly #252 (jk2l)
- Add manage_service option. #251 (Heidistein)
- Fix: manage database parameter not pass to zabbix::server #249 (jk2l)
- Fix: add historyindexcachesize option to server and proxy code #248 (shoikan)
- Fix for issue #240 #246 (fgallese)
- Set selboolean for zabbix proxy #235 (sgnl05)
- Added package tagging for apt update workflow. #234 (ITler)
- Fix Concat pinning #232 (bastelfreak)
- Allows setting ListenIP as "lo" loopback interface. #229 (felipe1982)
- Manage default_vhost in zabbix main class. #226 (furhouse)
v2.3.2 (2016-05-21)
Merged pull requests:
- Modulesync + Release 2.3.2 #227 (bastelfreak)
v2.3.1 (2016-05-20)
Closed issues:
- What is selinux_config_mode? #222
- 404 not found #219
- undefined local variable or method `int_name' #216
Merged pull requests:
- Modulesync + Release #225 (bastelfreak)
- Introduce rspec-puppet-facts for some tests #224 (bastelfreak)
- Make module run with ubuntu. #223 (ITler)
- add CONTRIBUTORS from git log #220 (bastelfreak)
- Introduce rspec-puppet-facts for some tests #218 (bastelfreak)
- Fix216 #217 (bastelfreak)
v2.3.0 (2016-05-08)
Closed issues:
- Web interface config file readable by all (contains unencrypted database password) #200
- Update zabbixapi gem to 2.4.7 form Zabbix 3.0 #196
- Add support for zabbix sender #194
- SELinux - CentOs 7 #190
- AMZ Linux Support #187
- Zabbix as default vhost #180
Merged pull requests:
- fix typo in zabbix_host provider #211 (damoxc)
- Missing zabbix_url in create #209 (cbergmann)
- userparameters not working. #208 (cbergmann)
- add Arch Linux to metadata.json #207 (bastelfreak)
- Enhance spec testing #206 (bastelfreak)
- Update rubocop #204 (bastelfreak)
- Update rspec #203 (bastelfreak)
- Add archlinux support #201 (bastelfreak)
- there is no zabbix proxy package in zbx-3.0 #198 (BcTpe4HbIu)
- Zabbix as default vhost #180 #197 (szemlyanoy)
- Add Zabbix sender support #195 (vide)
- fix wrong comment for configfrequency #192 (BcTpe4HbIu)
- Feature selinux #191 (bastelfreak)
- Fix for proxy sqlite support #189 (BcTpe4HbIu)
- updated to include Amazon Linux #188 (ericsysmin)
2.2.0 (2016-03-06)
Implemented enhancements:
- Upgrading to 3.0 #166
Fixed bugs:
- Repo is always added #148
Closed issues:
- HistoryTextCacheSize is not supported in Zabbix 3.0 #185
- Custom API query? #179
- database is being managed even if manage_database is false #170
- Invalid parameter key_source on Apt::Source[zabbix] at /etc/puppet/environments/myenv/modules/zabbix/manifests/repo.pp:144 on node XXXXX #101
- Zabbix 3.0 Proxy Postgres DB Schema Using Incorrect File #186
- write more rspec tests to test zabbix 3.0 #176
Merged pull requests:
- Make types runnable in puppet 4 #181 (ITler)
- Added Zabbix Proxy, Agent, Server, 3.0 support and Pacemaker exclusions #174 (ericsysmin)
- removed notify, forgot to take it out when I was troubleshooting #173 (ericsysmin)
- Patch 6 #171 (ericsysmin)
- TLS Support for Zabbix 3.0 #169 (ericsysmin)
- Adjust server config and databases sqls for 3.0 #167 (cloudowski)
2.1.1 (2016-02-09)
Merged pull requests:
2.1.0 (2016-02-02)
Fixed bugs:
- The puppetgem fact is incorrect for Puppet 4 AIO installation #157
Closed issues:
Merged pull requests:
- Add Puppet Forge Version and Downloads badges #163 (rnelson0)
- Travis CI setup: ensure all rspec tests pass #162 (rnelson0)
- Update proxy.pp, fix Error: ...install zabbix-proxy- .. #159 (subkowlex)
- Puppetgem #158 (rnelson0)
- Removed a debug entry #156 (hkumarmk)
2.0.0 (2016-01-31)
Implemented enhancements:
- No LDAP Support #149
Fixed bugs:
Closed issues:
- Repo url in RHEL or Oracle Linux #142
- Could not evaluate: undefined method `+' for nil:NilClass #134
- userparameter in RedHat Satellite 6.x #125
- Userparameter with Foreman #117
- Invalid parameter group_create #100
Merged pull requests:
- Type to manage zabbix application #155 (hkumarmk)
- Fixed previous error in merge #152 (rtizzy)
- Added support for adding LDAP certificate location to Zabbix Web. Upd… #150 (rtizzy)
- Allow agent_serveractive value to be blank #147 (ericsysmin)
- allow serveractive to be optional #146 (ericsysmin)
- fixed typo for comment mysql #145 (ghost)
- fixed SSL server template options for 2.2 #141 (IceBear2k)
- fix syntax error #139 (mkrakowitzer)
- Allow agent to listen on * #138 (ekohl)
- enable apache_php_max_input_vars #137 (bastelfreak)
- Fix typo in zabbix-userparameters reference #136 (sgnl05)
- Listen on all IPs #133 (steinbrueckri)
- tap0 or tun0 (OpenVPN interfaces) interface as listenip #132 (steinbrueckri)
- Added zabbix_template_host type #154 (hkumarmk)
1.7.0 (2015-11-07)
Closed issues:
- Support for PSBM #123
- Install Zabbix SERVER and PROXY on same machine #119
- zabbix::agent doesn't pass $zabbix_version to zabbix::repo #118
- Syntax error at '{'; expected '}' at /etc/puppet/modules/zabbix/manifests/server.pp:340 on node zabbix #115
- zabbix::template failing - undefined method `configurations' #113
- API not working #111
Merged pull requests:
- Generalise the zabbix_url #129 (eliranbz)
- Added supporting new Zabbix params #128 (akostetsky)
- refactoring of repo.pp #126 (bastelfreak)
- Fping wrong path in debian #124 (Oyabi)
- add support for CloudLinux #122 (bastelfreak)
- Update template.pp #121 (claflico)
- misspelled parameter path #116 (karolisc)
1.6.0 (2015-08-21)
Fixed bugs:
Closed issues:
- zabbix::repo doest not inherit zabbix::params #93
- Agent Config Template #112
- Feature Request: add charset/collate option during a mysql db resource creation #107
Merged pull requests:
- Pass manage_repo and zabbix_repo to repo.pp and prevent double include #110 (mmerfort)
- Add "eno*" to interface name matching #104 (sgnl05)
- use the new puppetlabs-apt version 2.x module #103 (hmn)
- Fix name startvmwarecollector -> startvmwarecollectors #102 (BcTpe4HbIu)
- Custom apache IP and port #99 (mschuett)
- Pass zabbix_version and manage_repo to zabbix::repo #88 (mmerfort)
1.5.0 (2015-06-08)
Implemented enhancements:
Fixed bugs:
- Zabbix-proxy install database population #62
Closed issues:
- new web instance #92
Merged pull requests:
- merge of hiera hashes from entire hierarchy #98 (szemlyanoy)
- Added support to Amazon Linux with epel 6. #96 (Wprosdocimo)
- import templates and create hostgroup if missing #95 (1n)
- Added Support For Zapache monitoring script #94 (rtizzy)
1.4.0 (2015-05-18)
Fixed bugs:
Closed issues:
- manage_firewall is set to 'false' by default #86
- Cannot install on Jessie #85
- setting Hostname and HostnameItem causes a warning on agentd start #80
- Debian repo key cannot be validated by apt module #78
Merged pull requests:
- Added zabbix_hostgroup #87 (hkumarmk)
- Fixes #80 setting Hostname and HostnameItem causes a warning on agentd s... #82 (f0)
- Fix illegal comma separated argument list #81 (IceBear2k)
- Allow to not purge include dir. #79 (altvnk)
- Correct typo in 'manage_resources' documentation. #77 (rnelson0)
1.3.0 (2015-04-08)
Fixed bugs:
- Multi-node Setup: Web class does not properly configure database port #69
- Apt-key error in Ubuntu 14.04 #61
Closed issues:
- You can not configure hostname in zabbix::proxy #59
- Multi-node setup: manage_resources invalid on Class[Zabbix::Server] #70
Merged pull requests:
- better default parameter for userparameter #73 (sbaryakov)
- Fixed small error regarding manage_resources and it's usage with classes #71 (rtizzy)
- bugfix for vhosts in apache 2.4 #67 (ju5t)
- Update apt key to full 40characters #66 (exptom)
- rename ListenIp => ListenIP #65 (sbaryakov)
- Fix manage_repo parameter on the zabbix class #63 (roidelapluie)
- minor typo #60 (andresvia)
- Fix with previous fix with listenip #58 (ghost)
1.2.0 (2015-02-26)
Implemented enhancements:
- allow setting location of psql #44
Fixed bugs:
- failure if zabbix hostgroup does not exist #41
- Bad syntax in manifests/proxy.pp #50
- listenip bug #49
Closed issues:
- When using SSL, the root is not rewritten to SSL #47
Merged pull requests:
- Fixed bug with listenip & add lxc interface #46 (ghost)
- notify zabbix-agent service when userparameters change #57 (rmorlang)
- Fix in params.pp with default parameter of zabbix proxy for ubuntu #56 (fredprod)
- Jvd w fix defined #53 (JvdW)
- Fix agent listenip #52 (JvdW)
- line 350 modify casesize to cachesize #50 #51 (fredprod)
- Correctly rewrite the root when using SSL, fixes #47 #48 (slyoldfox)
1.1.0 (2015-01-24)
Closed issues:
Merged pull requests:
- This resolves dj-wasabi/puppet-zabbix#37. #40 (genebean)
- Fix name of agent config file in params.pp #39 (mmerfort)
- setting manage_repo to false breaks server install #38 (genebean)
1.0.1 (2015-01-12)
Fixed bugs:
- Module fails with future parser enabled #29
Merged pull requests:
- allow custom owner and group for zabbix server config, #36 (f0)
- ZABBIX proxy and ZABBIX server service names are now customizable / Allow changing the path to the database schema files #35 (f0)
- remove hardcoded config file paths for server, proxy and agent #34 (f0)
- Update apache_ssl_cipher list #32 (karolisc)
1.0.0 (2015-01-02)
Implemented enhancements:
- Split Zabbix Server Class into Components #11
Fixed bugs:
- zabbixapi gem fails to install (ubuntu 14.04) #16
Closed issues:
Merged pull requests:
- Add support for debian sid (just use wheezy package) #30 (lucas42)
- Add support for low level discovery(LLD) scripts #27 (karolisc)
- Remove execute bit from .conf files #26 (karolisc)
- Wrong name in zabbix::userparameters resource example. #25 (karolisc)
0.6.1 (2014-12-09)
Closed issues:
Merged pull requests:
- Add repository for debian running on a raspberry pi #23 (lucas42)
- Install packages needed for the zabbixapi gem to be installed on Debain #21 (lucas42)
0.6.0 (2014-12-06)
Closed issues:
- Incorrectly initiated mysql/postgresql server class #14
- Wrong mpm, missing php module on ubuntu 14.04 #13
Merged pull requests:
- Don't assume db_host will be localhost in postgresql.pp #20 (lucas42)
- Adding support for sqlite #15 (actionjack)
0.5.1 (2014-10-30)
Closed issues:
Merged pull requests:
0.5.0 (2014-10-11)
Closed issues:
0.4.1 (2014-09-11)
Closed issues:
- Support sqLite db for proxies #6
0.4.0 (2014-08-22)
0.3.1 (2014-08-01)
0.3.0 (2014-07-19)
Closed issues:
- how use zabbix::userparams ? #2
Merged pull requests:
- Added XenServer 6.2 support #5 (sq4ind)
- added support for Scientific Linux #4 (gattebury)
- fixes for usage of params and dependecy cycles #3 (maciejstromich)
0.1.0 (2014-04-17)
0.0.3 (2014-03-31)
0.0.2 (2014-03-28)
0.0.1 (2014-03-18)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/postgresql (>= 6.4.0 < 11.0.0)
- puppetlabs/stdlib (>= 4.25.0 < 10.0.0)
- puppetlabs/mysql (>= 6.0.0 < 16.0.0)
- puppetlabs/apache (>= 9.0.0 < 13.0.0)
- puppetlabs/firewall (>= 7.0.0 < 8.0.0)
- puppetlabs/apt (>= 2.1.0 < 10.0.0)
- puppet/systemd (>= 3.1.0 < 7.0.0)
- puppet/selinux (>= 1.1.0 < 5.0.0)
Copyright (C) 2015 Werner Dijkerman Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS