Files
confdroid_nagios/manifests/server/service.pp

81 lines
3.0 KiB
ObjectPascal
Raw Normal View History

2026-02-10 14:04:06 +01:00
## confdroid_nagios::server::service.pp
# Module name: confdroid_nagios
# Author: 12ww1160 (12ww1160@confdroid.com)
2026-02-13 19:29:23 +01:00
# @summary Class manages services for the confdroid_nagios module.
2026-02-10 14:04:06 +01:00
###############################################################################
class confdroid_nagios::server::service (
) inherits confdroid_nagios::params {
2026-02-13 14:57:03 +01:00
require confdroid_nagios::server::files
2026-02-14 20:10:14 +01:00
if $ng_nagios_server == $fqdn {
2026-02-14 21:23:22 +01:00
require confdroid_nagios::server::access_rules
2026-03-01 14:34:53 +01:00
require confdroid_nagios::nagios::config
2026-03-09 14:21:02 +01:00
require confdroid_nagios::server::nagios
2026-02-28 16:16:59 +01:00
2026-03-01 14:21:30 +01:00
exec { 'ng_restart_httpd':
2026-02-14 21:43:49 +01:00
command => 'systemctl restart httpd',
2026-02-14 20:36:59 +01:00
path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'],
refreshonly => true,
}
2026-03-01 18:40:19 +01:00
service { $ng_service:
2026-02-14 20:10:14 +01:00
ensure => running,
2026-03-01 18:40:19 +01:00
name => $ng_service,
2026-02-14 20:10:14 +01:00
enable => true,
hasrestart => true,
hasstatus => true,
2026-03-01 14:21:30 +01:00
require => Exec['ng_restart_httpd'],
2026-02-14 20:10:14 +01:00
}
2026-03-09 15:38:51 +01:00
2026-03-09 15:46:48 +01:00
@@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],
}
2026-03-09 15:38:51 +01:00
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']:
2026-03-09 16:16:02 +01:00
purge => false,
2026-03-09 15:38:51 +01:00
}
# 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'] }
2026-02-14 20:10:14 +01:00
}
2026-02-10 14:04:06 +01:00
}