Puppet Class: monitoring
- Inherits:
- ::monitoring::params
- Defined in:
- manifests/init.pp
Overview
Class: monitoring
Autodetects installed services supported for monitoring, and roll out checks for these services
Parameters
- collectd_network_server_hostname
-
Hostname of CollectD network server (E.G InfluxDB) Leaving this parameter empty skips CollectD entirely
- collectd_network_server_port
-
Port used by CollectD network server
- sensu_rabbitmq_hostname
-
Hostname of RabbitMQ used by Sensu server Leaving this parameter skips Sensu entirely
- sensu_rabbitmq_password
-
Password used for Sensu RabbitMQ queue
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 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 |
# File 'manifests/init.pp', line 27
class monitoring (
$collectd_network_server_hostname = $::monitoring::params::collectd_network_server_hostname,
$collectd_network_server_port = $::monitoring::params::collectd_network_server_port,
$sensu_rabbitmq_hostname = $::monitoring::params::sensu_rabbitmq_hostname,
$sensu_rabbitmq_password = $::monitoring::params::sensu_rabbitmq_password,) inherits ::monitoring::params {
validate_string($collectd_network_server_hostname)
validate_numeric($collectd_network_server_port)
validate_string($sensu_rabbitmq_hostname)
validate_string($sensu_rabbitmq_password)
# Ensure facts refresh monitoring tools are applied last
# Would rather use custom stages instead, but stages doesn't support subclasses
# https://tickets.puppetlabs.com/browse/PUP-1108
refacter { 'monitoring':
patterns => [
'^apache_',
'^centrify_',
'^collectd_',
'^elasticsearch_',
'^influxdb_',
'^mysql_',
'^ntpd_',
'^postfix_',
'^rabbitmq_',
'^redis_',
],
}
Package <| title != 'collectd' and title != 'sensu' |> {
before +> Class['monitoring::install'],
notify +> Refacter['monitoring']
}
Service <| title != 'collectd' and title != 'sensu' |> {
before +> Class['monitoring::install'],
notify +> Refacter['monitoring']
}
class { '::monitoring::install':
}
}
|