## confdroid_nagios::server::service.pp # Module name: confdroid_nagios # Author: 12ww1160 (12ww1160@confdroid.com) # @summary Class manages services for the confdroid_nagios module. ############################################################################### class confdroid_nagios::server::service ( ) inherits confdroid_nagios::params { require confdroid_nagios::server::files if $ng_nagios_server == $fqdn { require confdroid_nagios::server::access_rules require confdroid_nagios::nagios::config require confdroid_nagios::server::nagios exec { 'ng_restart_httpd': command => 'systemctl restart httpd', path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], refreshonly => true, } service { $ng_service: ensure => running, name => $ng_service, enable => true, hasrestart => true, hasstatus => true, require => Exec['ng_restart_httpd'], } @@nagios_host { 'localhost': ensure => $ng_ping_ensure, alias => 'localhost', address => '127.0.0.1', use => 'linux-server', target => $ng_target_localhost, hostgroups => 'linux-servers', contacts => $ng_contact_name, max_check_attempts => $ng_max_check_attempts, notification_period => '24x7', owner => $ng_user, group => $ng_user, mode => '0640', check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}", notify => Service[$ng_service], } resources { ['nagios_host', 'nagios_hostgroup', 'nagios_hostdependency', 'nagios_hostescalation', 'nagios_hostextinfo', 'nagios_service', 'nagios_servicegroup', 'nagios_servicedependency', 'nagios_serviceescalation', 'nagios_serviceextinfo', 'nagios_contact', 'nagios_contactgroup', 'nagios_command', 'nagios_timeperiod']: purge => false, } # collect resources and populate /etc/nagios/conf.d/nagios_*.cfg Nagios_host <<||>> { notify => Service['nagios'] } Nagios_hostgroup <<||>> { notify => Service['nagios'] } Nagios_hostdependency <<||>> { notify => Service['nagios'] } Nagios_hostescalation <<||>> { notify => Service['nagios'] } Nagios_hostextinfo <<||>> { notify => Service['nagios'] } Nagios_service <<||>> { notify => Service['nagios'] } Nagios_servicegroup <<||>> { notify => Service['nagios'] } Nagios_servicedependency <<||>> { notify => Service['nagios'] } Nagios_serviceescalation <<||>> { notify => Service['nagios'] } Nagios_serviceextinfo <<||>> { notify => Service['nagios'] } Nagios_contact <<||>> { notify => Service['nagios'] } Nagios_contactgroup <<||>> { notify => Service['nagios'] } Nagios_command <<||>> { notify => Service['nagios'] } Nagios_timeperiod <<||>> { notify => Service['nagios'] } } }