1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
class nagios($otel_host) {
package {'nagios':}
->
service {'nagios':
ensure => running,
enable => true,
}
file {
default:
require => Package['nagios'],
notify => Service['nagios'],
;
'/etc/nagios':
ensure => directory,
recurse => true,
force => true,
purge => true,
;
'/etc/nagios/nagios.cfg':
content => epp('nagios/nagios.cfg'),
;
# leave these unaffected
['/etc/nagios/passwd', '/etc/nagios/cgi.cfg', '/etc/nagios/private/resource.cfg', '/etc/nagios/objects', '/etc/nagios/private', '/etc/nagios/objects/commands.cfg', '/etc/nagios/objects/timeperiods.cfg', '/etc/nagios/objects/templates.cfg']:
ensure => present,
;
}
nagios_contact {'nagiosadmin':
use => 'generic-contact',
email => lookup('mail.root_mail'),
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_contactgroup {'admins':
members => 'nagiosadmin',
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_command {'check_ragent':
command_name => 'check_ragent',
command_line => '/usr/bin/check_ragent http://$HOSTADDRESS$:21488/ --warning-units dnf-makecache.service --warning-units dnf-automatic-install.service',
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_command {'process-host-perfdata-file':
command_name => 'process-host-perfdata-file',
command_line => "/opt/nagios-otel/venv/bin/python3 /opt/nagios-otel/examples/host_example.py ${otel_host} /var/log/nagios/host-perfdata",
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_command {'process-service-perfdata-file':
command_name => 'process-service-perfdata-file',
command_line => "/opt/nagios-otel/venv/bin/python3 /opt/nagios-otel/examples/service_example.py ${otel_host} /var/log/nagios/service-perfdata",
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_hostgroup {'linux':
hostgroup_name => 'linux',
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
ensure => present,
}
nagios_servicegroup {'ragent':
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
ensure => present,
}
nagios_service {'check_ragent':
use => 'generic-service',
hostgroup_name => 'linux',
service_description => 'check_ragent',
servicegroups => 'ragent',
check_command => 'check_ragent',
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
nagios_service {'check_ssh':
use => 'generic-service',
hostgroup_name => 'linux',
service_description => 'ssh',
check_command => 'check_ssh',
require => Package['nagios'],
notify => Service['nagios'],
owner => 'nagios',
}
package {'httpd':}
->
service {'httpd':
ensure => running,
enable => true,
}
if $facts['virtual'] == 'lxc' {
file {'/bin/ping':
mode => 'u+s',
}
}
}
|