zabbix
Version information
This version is compatible with:
- Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.6.1 < 5.0.0
- Archlinux , , , , , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-zabbix', '3.0.0'
Learn more about managing modules with a PuppetfileDocumentation
#puppet-zabbix
####Table of Contents
- Overview
- Upgrade
- [to 1.0.0] (#100)
- [to 2.0.0] (#200)
- 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',
}
include apache::mod::php
class { 'postgresql::server': }
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',
}
include apache::mod::php
class { 'mysql::server': }
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
###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',
}
###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 { 'postgresql::server': }
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 { 'mysql::server': }
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'
}
##Reference There are some overall parameters which exists on all of the classes:
zabbix_version
: You can specify which zabbix release needs to be installed. Default is '3.0'.manage_firewall
: Wheter you want to manage the firewall. If true, iptables will be configured to allow communications to zabbix ports. (Default: False)manage_repo
: If zabbix needs to be installed from the zabbix repositories (Default is true). When you have your own repositories, you'll set this to false. But you'll have to make sure that your repositorie is installed on the host.
The following is only availabe for the following classes: zabbix::web, zabbix::proxy & zabbix::agent
manage_resources
: As of release 0.4.0, when this parameter is set to true (Default is false) it make use of exported resources. You'll have an puppetdb configured before you can use this option. Information from the zabbix::agent, zabbix::proxy and zabbix::userparameters are able to export resources, which will be loaded on the zabbix::server.database_type
: Which database is used for zabbix. Default is postgresql.manage_database
: When the parameter 'manage_database' is set to true (Which is default), it will create the database and loads the sql files. Default the postgresql will be used as backend, mentioned in the params.pp file. You'll have to include the postgresql (or mysql) module yourself, as this module will require it.
###Reference zabbix (init.pp) This is the class for installing everything on a single host and thus all parameters described earlier and those below can be used with this class.
###Reference zabbix-web
zabbix_url
: This is the url on which Zabbix should be available. Please make sure that the entry exists in the DNS configuration.zabbix_timezone
: On which timezone the machine is placed. This information is needed for the apache virtual host.manage_vhost
: Will create an apache virtual host. Default is true.apache_use_ssl
: Will create an ssl vhost. Also nonssl vhost will be created for redirect nonssl to ssl vhost.apache_ssl_cert
: 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.apache_ssl_key
: 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.apache_ssl_cipher
: The ssl cipher used. Cipher is used from: https://wiki.mozilla.org/Security/Server_Side_TLS.apache_ssl_chain
: The ssl_chain file. You'll need to make sure this file is present on the system, this module will not install this file.apache_php_max_execution_time
: Max execution time for php.apache_php_memory_limit
: PHP memory size limit.apache_php_upload_max_filesize
: HP maximum upload filesize.apache_php_max_input_time
: Max input time for php.apache_php_always_populate_raw_post_data
: Default: -1zabbix_api_user
: Username of user in Zabbix which is able to create hosts and edit hosts via the zabbix-api. Default: Adminzabbix_api_pass
: Password for the user in Zabbix for zabbix-api usage. Default: zabbixzabbix_template_dir
: The directory where all templates are stored before uploading via APIweb_config_owner
: Which user should own the web interface configuration file.web_config_group
: Which group should own the web interface configuration file.ldap_cacert
: The location of the CA Cert to be used for Zabbix LDAP authentication. The module will not install this file so it must be present on the system.ldap_clientcrt
: The location of the Client Cert to be used for Zabbix LDAP authentication. The module will not install this file so it must be present on the system.ldap_clientkey
: The location of the Client Key to be used for Zabbix LDAP authentication. The module will not install this file so it must be present on the system.
There are some more zabbix specific parameters, please check them by opening the manifest file.
###Reference zabbix-server
database_path
: When database binaries are not in $PATH, you can use this parameter to appenddatabase_path
to $PATHtlscafile
: Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.tlscertfile
: Full pathname of a file containing the server certificate or certificate chain.tlscrlfile
: Full pathname of a file containing revoked certificates.tlskeyfile
: Full pathname of a file containing the server private key.
There are some more zabbix specific parameters, please check them by opening the manifest file.
###Reference zabbix-agent
server
: This is the ipaddress of the zabbix-server or zabbix-proxy.tlsaccept
: What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy.tlscafile
: Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.tlscertfile
: Full pathname of a file containing the proxy certificate or certificate chain.tlsconnect
: How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy.tlscrlfile
: Full pathname of a file containing revoked certificates.tlskeyfile
: Full pathname of a file containing the proxy private key.tlspskfile
: Full pathname of a file containing the pre-shared key.tlspskidentity
: Unique, case sensitive string used to identify the pre-shared key.tlsservercertissuer
: Allowed server certificate issuer.tlsservercertsubject
: Allowed server certificate subject.
The following parameters is only needed when manage_resources
is set to true:
monitored_by_proxy
: When an agent is monitored via an proxy, enter the name of the proxy. The name is found in the webinterface via: Administration -> DM. If it isn't monitored by an proxy ormanage_resources
is false, this parameter can be empty.agent_use_ip
: Default is set to true. Zabbix server (or proxy) will connect to this host via ip instead of fqdn. When set to false, it will connect via fqdn.zbx_group
: Name of the hostgroup on which the agent will be installed. There can only be one hostgroup defined and should exists in the webinterface. Default: Linux serverszbx_templates
: Name of the templates which will be assigned when agent is installed. Default (Array): 'Template OS Linux', 'Template App SSH Service'
There are some more zabbix specific parameters, please check them by opening the manifest file.
###Reference zabbix-proxy
zabbix_server_host
: The ipaddress or fqdn of the zabbix server.database_path
: When database binaries are not in $PATH, you can use this parameter to appenddatabase_path
to $PATHtlsaccept
: What incoming connections to accept from Zabbix server. Used for a passive proxy, ignored on an active proxy.tlscafile
: Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.tlscertfile
: Full pathname of a file containing the proxy certificate or certificate chain.tlsconnect
: How the proxy should connect to Zabbix server. Used for an active proxy, ignored on a passive proxy.tlscrlfile
: Full pathname of a file containing revoked certificates.tlskeyfile
: Full pathname of a file containing the proxy private key.tlspskfile
: Full pathname of a file containing the pre-shared key.tlspskidentity
: Unique, case sensitive string used to identify the pre-shared key.tlsservercertissuer
: Allowed server certificate issuer.tlsservercertsubject
: Allowed server certificate subject.
The following parameters is only needed when manage_resources
is set to true:
use_ip
: Default is set to true.zbx_templates
: List of templates which are needed for the zabbix-proxy. Default: 'Template App Zabbix Proxy'mode
: Which kind of proxy it is. 0 -> active, 1 -> passive
There are some more zabbix specific parameters, please check them by opening the manifest file.
###Reference zabbix-javagateway There are some zabbix specific parameters, please check them by opening the manifest file.
###Reference zabbix-userparameters
source
: File which holds several userparameter entries.content
: When you have 1 userparameter entry which you want to install.script
: Low level discovery (LLD) script.script_ext
: The script extention. Should be started with the dot. Like: .sh .bat .pytemplate
: When you use exported resources (when manage_resources on other components is set to true) you'll can add the name of the template which correspondents with the 'content' or 'source' which you add. The template will be added to the host.script_dir
: Whenscript
is used, this parameter can provide the directly where this script needs to be placed. Default: '/usr/bin'
###Reference zabbix-template
templ_name
: The name of the template. This name will be found in the Web interface.templ_source
: The location of the XML file wich needs to be imported.
##limitations The module is only supported on the following operating systems:
Zabbix 3.0:
- CentOS 7.x
- Amazon 7.x
- RedHat 7.x
- OracleLinux 7.x
- Scientific Linux 7.x
- Ubuntu 14.04
- Debian 8
Zabbix 2.4:
- CentOS 6.x, 7.x
- Amazon 6.x, 7.x
- RedHat 6.x, 7.x
- OracleLinux 6.x, 7.x
- Scientific Linux 6.x, 7.x
- Ubuntu 12.04 14.04
- Debian 7
Zabbix 2.2:
- CentOS 5.x, 6.x
- RedHat 5.x, 6.x
- OracleLinux 5.x, 6.x
- Scientific Linux 5.x, 6.x
- Ubuntu 12.04
- Debian 7
- xenserver 6
Zabbix 2.0:
- CentOS 5.x, 6.x
- RedHat 5.x, 6.x
- OracleLinux 5.x, 6.x
- Scientific Linux 5.x, 6.x
- Ubuntu 12.04
- Debian 6, 7
- xenserver 6
This module is supported on both the community as 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.
- Make sure that selinux is permissive or disabled.
###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. - 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.
Types in this module release
Change log
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 impact the functionality of the module.
v3.0.0 (2017-02-12)
Implemented enhancements:
Closed issues:
- zabbix::web Could not find user zabbix #341
Merged pull requests:
- bump required Puppet version #345 (bastelfreak)
v2.6.2 (2017-01-11)
This is the last release with Puppet3 support!
Closed issues:
- Installing on 2 nodes does not setup the database #333
Merged pull requests:
- release 2.6.2 #343 (bastelfreak)
- Fix failing test due to missing selinux fact #332 (juniorsysadmin)
- Bump min version_requirement for Puppet + deps #331 (juniorsysadmin)
- release 2.6.1 #327 (bastelfreak)
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:
- release 2.6.0 #309 (bastelfreak)
- 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:
- release 2.5.1 #295 (bastelfreak)
- 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:
- Prepare release 2.3.0 #215 (bastelfreak)
- 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)
- [WIP]Add archlinux #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 (elricsfate)
- Added support for adding LDAP certificate location to Zabbix Web. Upd… #150 (elricsfate)
- 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 (z3rogate)
- tap0 or tun0 (OpenVPN interfaces) interface as listenip #132 (z3rogate)
- 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 (DjxDeaf)
- Added supporting new Zabbix params #128 (akostetskiy)
- 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 (elricsfate)
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 (elricsfate)
- 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 (meganuke19)
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 (meganuke19)
- notify zabbix-agent service when userparameters change #57 (rleemorlang)
- 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)
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:
- Update apache_ssl_cipher list #32 (karolisc)
- 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:
2014-09-11 Release 0.4.1
- Added support van Zabbix 2.4
- Added Ubuntu 14.04
2014-08-22 Release 0.4.0
- Rewrote the readme.
- Module can make use of "Exported resources" when
manage_resources
is set to true. The zabbix-server can automatically configure agents and directly monitor the agents. It will make use of the zabbix-api. - Also possible for the listenip parameter to specificy an 'eth?|bond?' option. It will find out what ipaddress it is and uses this as the ListenIP in the zabbix configuration file. Can be handy when having multiple network interfaces.
2014-08-01 Release 0.3.1
- Added support for Puppet Enterprise 3.2 and 3.3
2014-07-19 Release 0.3.0
- Added repository for scientific (Thanks to: gattebury)
- Added repository for Xenserver (Thanks to: sq4ind)
2014-06-18 Release 0.2.0
- Added rspec test for zabbix::agent
- Added rspec test for zabbix::repo
- Added rspec test for zabbix::proxy
- Added rspec test for zabbix::server
- Added rspec test for zabbix::database{mysql,postgresql}
- Added rspec test for zabbix::userparameters
- Added rspec test for zabbix::javagateway
- zabbix::userparameters fixed via pull request github (By 'suff') --> Thanks!
- Removed some documented settings
- nodeid wasn't working with zabbix_server.conf template
2014-04-17 Release 0.1.0
- Added manage_repo parameter. If set to true, it will install the apt/yum repository.
- Updated module for support Ubuntu (12.x).
- Updated module for support Debian (6, 7).
- Updated module for support Oracle Linux (5, 6).
2014-03-31 Release 0.0.3
- Added parameter: manage_vhost for creating vhost (Default: true)
- Added parameter: manage_firewall for creating firewall rules
* This Change Log was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/postgresql (>= 4.4.2 < 5.0.0)
- puppetlabs/stdlib (>= 4.6.0 < 5.0.0)
- puppetlabs/mysql (>= 3.5.0 < 4.0.0)
- puppetlabs/apache (>= 1.6.0 < 2.0.0)
- puppetlabs/firewall (>= 1.7.0 < 2.0.0)
- puppetlabs/ruby (>= 0.6.0 < 2.0.0)
- puppetlabs/pe_gem (>= 0.2.0 < 2.0.0)
- puppetlabs/apt (>= 2.1.0 < 3.0.0)
- puppetlabs/concat (>= 1.2.5 < 3.0.0)
- camptocamp/systemd (>= 0.4.0 < 2.0.0)
Copyright (C) 2015 Werner Dijkerman wdijkerman-zabbix can be contacted at: ikben@werner-dijkerman.nl Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.