Puppet Class: icingaweb2::module::graphite
- Defined in:
- manifests/module/graphite.pp
Summary
The Graphite module draws graphs out of time series data stored in Graphite.Overview
Note:
If you want to use ‘git` as `install_method`, the CLI `git` command has to be installed. You can manage it yourself as package resource or declare the package name in icingaweb2 class parameter `extra_packages`.
Note:
Here the official [Graphite module documentation](www.icinga.com/docs/graphite/latest/) can be found.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'manifests/module/graphite.pp', line 44
class icingaweb2::module::graphite(
Enum['absent', 'present'] $ensure = 'present',
Optional[Stdlib::Absolutepath] $module_dir = undef,
String $git_repository = 'https://github.com/Icinga/icingaweb2-module-graphite.git',
Optional[String] $git_revision = undef,
Enum['git', 'none', 'package'] $install_method = 'git',
String $package_name = 'icingaweb2-module-graphite',
Optional[String] $url = undef,
Optional[String] $user = undef,
Optional[Icingaweb2::Secret] $password = undef,
Optional[String] $graphite_writer_host_name_template = undef,
Optional[String] $graphite_writer_service_name_template = undef
) {
$conf_dir = $::icingaweb2::globals::conf_dir
$module_conf_dir = "${conf_dir}/modules/graphite"
$graphite_settings = {
'url' => $url,
'user' => $user,
'password' => icingaweb2::unwrap($password),
}
$icinga_settings = {
'graphite_writer_host_name_template' => $graphite_writer_host_name_template,
'graphite_writer_service_name_template' => $graphite_writer_service_name_template,
}
$settings = {
'module-graphite-graphite' => {
'section_name' => 'graphite',
'target' => "${module_conf_dir}/config.ini",
'settings' => delete_undef_values($graphite_settings)
},
'module-graphite-icinga' => {
'section_name' => 'icinga',
'target' => "${module_conf_dir}/config.ini",
'settings' => delete_undef_values($icinga_settings)
}
}
icingaweb2::module { 'graphite':
ensure => $ensure,
git_repository => $git_repository,
git_revision => $git_revision,
install_method => $install_method,
module_dir => $module_dir,
package_name => $package_name,
settings => $settings,
}
}
|