Added automatic host and contact group generation for nagios
This commit is contained in:
parent
2febffe8e8
commit
cf1565f88a
2 changed files with 227 additions and 195 deletions
160
nagios/manifests/target.pp
Normal file
160
nagios/manifests/target.pp
Normal file
|
@ -0,0 +1,160 @@
|
|||
# Configure nagios target.
|
||||
#
|
||||
class nagios::target {
|
||||
|
||||
@@nagios::host { $fqdn:
|
||||
group => $::domain,
|
||||
osname => $::operatingsystem,
|
||||
osicon => $::osfamily ? {
|
||||
"" => "NONE",
|
||||
default => inline_template("<%= osfamily.downcase %>")
|
||||
},
|
||||
}
|
||||
|
||||
Nagios::Service {
|
||||
host => $::fqdn,
|
||||
group => $::domain,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configure ssh service target.
|
||||
#
|
||||
class nagios::target::ssh inherits nagios::target {
|
||||
|
||||
@@nagios::service { "${fqdn}_ssh":
|
||||
command => "check_ssh",
|
||||
description => "SSH",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configure http service target.
|
||||
#
|
||||
class nagios::target::http inherits nagios::target {
|
||||
|
||||
@@nagios::service { "${fqdn}_http":
|
||||
command => "check_http",
|
||||
description => "HTTP",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configure https service target.
|
||||
#
|
||||
class nagios::target::https inherits nagios::target {
|
||||
|
||||
@@nagios::service { "${fqdn}_https":
|
||||
command => "check_http!--ssl",
|
||||
description => "HTTPS",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configure smtp service target.
|
||||
#
|
||||
class nagios::target::smtp inherits nagios::target {
|
||||
|
||||
@@nagios::service { "${fqdn}_smtp":
|
||||
command => "check_smtp",
|
||||
description => "SMTP",
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Configure nagios nrpe target.
|
||||
#
|
||||
class nagios::target::nrpe inherits nagios::target {
|
||||
|
||||
if !$nagios_allow {
|
||||
$nagios_allow = "127.0.0.1"
|
||||
}
|
||||
|
||||
include nagios::common
|
||||
|
||||
case $operatingsystem {
|
||||
"centos","redhat","fedora": {
|
||||
$service = "nrpe"
|
||||
$nrpedir = "/etc/nrpe.d"
|
||||
package { [ "nrpe",
|
||||
"nagios-plugins-disk",
|
||||
"nagios-plugins-load",
|
||||
"nagios-plugins-procs",
|
||||
"nagios-plugins-users", ]:
|
||||
ensure => installed,
|
||||
before => [ File["/etc/nrpe.d"],
|
||||
Augeas["nrpe-allow"],
|
||||
Service["nrpe"], ],
|
||||
}
|
||||
}
|
||||
"ubuntu","debian": {
|
||||
$service = "nagios-nrpe-server"
|
||||
$nrpedir = "/etc/nagios/nrpe.d"
|
||||
package { [ "nagios-nrpe-server",
|
||||
"nagios-plugins-basic", ]:
|
||||
ensure => installed,
|
||||
before => [ File["/etc/nrpe.d"],
|
||||
Augeas["nrpe-allow"],
|
||||
Service["nrpe"], ],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
file { "/etc/nrpe.d":
|
||||
ensure => directory,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
purge => true,
|
||||
force => true,
|
||||
recurse => true,
|
||||
source => "puppet:///modules/custom/empty",
|
||||
}
|
||||
|
||||
service { "nrpe":
|
||||
name => $service,
|
||||
ensure => running,
|
||||
enable => true,
|
||||
}
|
||||
|
||||
augeas { "nrpe-allow":
|
||||
context => "/files/etc/nagios/nrpe.cfg",
|
||||
changes => "set allowed_hosts '${nagios_allow}'",
|
||||
notify => Service["nrpe"],
|
||||
}
|
||||
|
||||
file { "${nrpedir}/check_disk.cfg":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
content => "command[check_disk] = ${nagios::common::libdir}/check_disk -c 10% -w 20% -p /\n",
|
||||
require => File["/etc/nrpe.d"],
|
||||
notify => Service["nrpe"],
|
||||
}
|
||||
@@nagios::service { "${fqdn}_disk":
|
||||
command => "check_nrpe!check_disk",
|
||||
description => "Disk",
|
||||
}
|
||||
|
||||
@@nagios::service { "${fqdn}_load":
|
||||
command => "check_nrpe!check_load",
|
||||
description => "Load",
|
||||
}
|
||||
|
||||
@@nagios::service { "${fqdn}_users":
|
||||
command => "check_nrpe!check_users",
|
||||
description => "Users",
|
||||
}
|
||||
|
||||
@@nagios::service { "${fqdn}_procs":
|
||||
command => "check_nrpe!check_total_procs",
|
||||
description => "Processes",
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue