NOTE: This module was initially hard-coded as a quick stop-gap and I am only now in process of parameterising the module. This currently assumes a RHEL family O/S.
This module will manage server and client nodes. It relies on exported resources to auto-add clients, thus requires puppetDB to be used.
The module also optionally installs and configures Graphios in order to send results to a Graphite server.
Standard checks deployed on all hosts:
- Load Per Core
- Swap Usage
- Logged On Users
- Disk Usage
- Zombie Processes
- Memory Usage
- Puppet Agent Status
- SSH
- PING
node nagios {
class { 'nagios':
role => 'server',
graphios_install => true,
graphite_host => $graphite_host
}
}
node client {
include nagios
}
Extra plugins can be added in hiera as follows:
nagios_plugins:
- nagios::plugin::notify
This will include the notify plugin on this host.
Hostgroups have two steps, first create all the hostgroups in quetion:
nagios::hostgroups:
Linux:
alias: 'Linux Servers'
admin-prod:
alias: 'Admin Servers - Production'
Then add the servers into the groups by adding a lookup in the node:
nagios_hostgroup: 'admin-prod'
This will add the host to both the Linux and Production Admin hostgroups.
nrpe::dont_blame_nrpe: 0
nrpe::allowed_hosts:
- '127.0.0.1'
- '192.168.0.1'
nagios::contacts:
nagiosadmin:
contact_name: nagiosadmin
alias: 'Nagios Admin'
ensure: 'present'
email: nagiosadmin@example.com
nagios::plugin::nrpe_core_load::warn: 4
nagios::plugin::nrpe_core_load::crit: 8
This is a collection of modules written by their respective owners.
All credit goes to the respective authors