- Description
- Setup - The basics of getting started with zabbix_server
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This module installas and manages the zabbix server. It also adds a custom type which allows users to add zabbix hosts via the zabbix API.
This module installs a a number of scripts to help the providers work
- /usr/local/bin/zabbix_host.py
- /usr/local/bin/zabbix_reset.py
This module also requires the apache module to configuer the zabbix vhost
- This modules needs to
zabbix (0.9.8)installed on the puppet master.
you can install this manully with
sudo pupetserver gem install zabbix -v 0.9.8or using the puppetlabs-puppetserver_gem module
package {'zabbix':
ensure => '0.9.8',
provider => puppetserver_gem,
}You should be able to just include zabbix_server to get a basic server up and running. You can add hosts using thez_host type.
A simple example would be to have all nodes allooceted to one zabbix group and template. Unfortunatly we need to use the template id number and not the description, also this module tose not manage the group and template creation
zabbix.example.com manifest
node 'zabbix.example.com' {
include zabbix
Z_host <<||>>
}
node /\.servers\.example\.com$/ {
@@z_host {$::trusted['certname']:
ensure => present,
operational => true,
groupids => ['1',]
templateids => ['10001',]
}
}db_host(Stdlib::Host, Default: 'localhost'): The database server namedb_port(Stdlib::Port, Default: 3306): The database server portdb_name(String, Default: 'zabbix'): The name of the databasedb_user(String, Default: 'zabbix'): The username to use for creating the databaserdb_password(String, Default: 'changeme'): The password to use for creating the databaserphp_timezone(String, Default: 'UTC'): The timezone to use in phpzabbix_host(Stdlib::Host, Default: $::fqdn): The zabbix host fqdn used for vhostszabbix_port(Stdlib::Port, Default: 10051): The port zabbix will use to polecache_size(String, Default: '128M'): Memory allocation paramshistory_index_cache_size(String, Default: '16M'): Memory allocation paramstrend_cache_size(String, Default: '16M'): Memory allocation paramsvalue_cache_size(String, Default: '256M'): Memory allocation paramslog_file(Stdlib::Absolutepath, Default: '/var/log/zabbix/zabbix_server.log'): log file locationpollers(Integer[11000], Default: 100): Number of pollerspingers(Integer[11000], Default: 10): Number of Pingerspollers_unreachable(Integer[11000], Default: 25): How many unreachable Pollerstrappers(Integer[11000], Default: 25): Number of trapperstimeout(Integer[130], Default: 3): The zabbix agent time out valueapproot(Stdlib::Absolutepath, Default: '/srv/www'): Apache web rootapi_user(String, Default: 'user'): user to use for API callsapi_password(String, Default: 'password'): Password to use for API callsadmin_password(String, Default: 'zabbix'): Admin password for zabbixdefault_group_ids(Integer, Default: 2): default group ids to use when creating hostsdefault_template_ids(Integer, Default: 10001): Default template id to use when creatng hosts
host (namevar)(%r{[\w-.]+}): the host name to use for the zabbix host. the IP addresses of this host wiull be lookedup and added to the host definition as its createdoperational(Boolean): This indecates to zabbix if the host is operational or notgroupids(Array[Integer]): Group IDs to add specific host totemplateids(Array[Integer]): Template IDs to add specific host to