Age | Commit message (Collapse) | Author |
|
Nrpe params
The nagios::nrpe class is currently completely unusable with puppet 3.x+
This is because it's still relying on global variables. When one tries to setup an nrpe client with nagios::nrpe with puppet 3.x, the following error occurs:
~~~
==> jessiepuppet: Error: Failed to parse template nagios/nrpe/nrpe.cfg:
==> jessiepuppet: Filepath: /usr/lib/ruby/vendor_ruby/puppet/parser/templatewrapper.rb
==> jessiepuppet: Line: 81
==> jessiepuppet: Detail: Could not find value for 'nagios_nrpe_pid_file' at /etc/puppet/modules/nagios/templates/nrpe/nrpe.cfg:19
==> jessiepuppet: at /etc/puppet/modules/nagios/manifests/nrpe/base.pp:22 on node jessie.vagrantup.com
==> jessiepuppet: Error: Failed to parse template nagios/nrpe/nrpe.cfg:
==> jessiepuppet: Filepath: /usr/lib/ruby/vendor_ruby/puppet/parser/templatewrapper.rb
==> jessiepuppet: Line: 81
==> jessiepuppet: Detail: Could not find value for 'nagios_nrpe_pid_file' at /etc/puppet/modules/nagios/templates/nrpe/nrpe.cfg:19
==> jessiepuppet: at /etc/puppet/modules/nagios/manifests/nrpe/base.pp:22 on node jessie.vagrantup.com
~~~
This is because the values of variables defined within nagios::nrpe are not propagated into other classes anymore.
This series also changes a default behaviour for creating saner configurations by default: the dont_blame_nrpe option is changed to disable command arguments by default.
It also adds some documentation for the nagios::nrpe class since it had no explanation whatsoever of how it should be used in the README.
See merge request !18
|
|
We missed this module reference. Starting with puppet 3.x, modules with
a dash in them are not recognized by puppet anymore, so only the file
from the "nagios" module is found.
|
|
This value is used in order to enable or disable arguments to nrpe
commands. Since some ppl might need to enable it, we should parametrize
it.
|
|
the current code for configuring NRPE is still relying on global
variables. This is not working at all with puppet 3.x and forward, so in
order to make this code functional, we need to parametrize values that
are used.
|
|
|
|
Plugins are found under another directory.
The pid file must be changed to /var/spool/nagios/nrpe2.pid, since this
place is writable by the daemon, and the rc script expects the pid file
to be found there.
Use a pattern instead of the rc script status command.
|
|
|
|
|
|
|
|
We don't really manage everything with this class (e.g. not the config
for running NRPE under xinetd). We ensure that the nrpe service is not
running since xinetd is the one that's supposed to spawn nrpe.
This way we can manage the NRPE config and commands, but it does not
conflict with xinetd.
|
|
The CPU checks were fireing way too often. Bump up the multipliers to
reduce the number of alerts.
|
|
The "check_load" nagios check should not be hardcoded to some arbitrary
value. The thresholds should rather be adjusted in function of how many
CPUs are present in the server.
The factors were chosen by prior experience but could be adjusted if
needed.
Factors for warning thresholds (where N is the nb of cpus):
* 1min : 5 * N
* 5mins : 4 * N
* 15mins : 3 * N
Factors for critical thresholds:
* 1min : 10 * N
* 5mins : 9 * N
* 15mins : 8 * N
|
|
This package doesn't exist on lenny.
|
|
Make some changes to ensure compatibility of the nrpe resources with
FreeBSD.
* Use group 0 instead of 'root'
* capitalize values for testing $operatingsystem
* override arguments for the nrpe service so that FreeBSD can find the
init script
|
|
The 'command' resource defines files under the root group. Since the
'root' group does not exist by default on FreeBSD, make an exception for
FreeBSD to use the 'wheel' group instead.
|
|
Configuration needs to be placed in a different directory in FreeBSD.
Some packages are not named the same under FreeBSD.
Some packages are not available under FreeBSD. Migrate those to a new
nagios::nrpe::linux class so that FreeBSD does not take them into
account.
|
|
We need to be able to configure what NRPE commands are defined on
clients.
This new method accepts inline contents or a puppet source argument.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
|