From 3cf7838401c53690a86eb4a0cc5e4eb7b53d89ef Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Thu, 8 Dec 2011 20:13:48 -0500 Subject: Provide default config files for nagios.cfg and cgi.cfg The current code tries to get the content of those two files in a bunch of places and defines a fallback to a generic file in the module's files/configs directory. The problem is that there is no such generic config file present. Link to Debian's config files as a generic version of those configuration files. This bug was found by taggart. --- files/configs/cgi.cfg | 1 + files/configs/nagios.cfg | 1 + 2 files changed, 2 insertions(+) create mode 120000 files/configs/cgi.cfg create mode 120000 files/configs/nagios.cfg diff --git a/files/configs/cgi.cfg b/files/configs/cgi.cfg new file mode 120000 index 0000000..db9667b --- /dev/null +++ b/files/configs/cgi.cfg @@ -0,0 +1 @@ +Debian/cgi.cfg \ No newline at end of file diff --git a/files/configs/nagios.cfg b/files/configs/nagios.cfg new file mode 120000 index 0000000..1409b9e --- /dev/null +++ b/files/configs/nagios.cfg @@ -0,0 +1 @@ +Debian/nagios.cfg \ No newline at end of file -- cgit v1.2.3 From 347879f1a9c98b83039388f62774f0b240c0667d Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 9 Apr 2012 02:32:45 -0400 Subject: Make the nsca depend on the nsca package Without this link, puppet sometimes attempts to start the service before the package is installed, wich triggers an error. Signed-off-by: Gabriel Filion --- manifests/nsca/server.pp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/manifests/nsca/server.pp b/manifests/nsca/server.pp index 9239f21..238e49e 100644 --- a/manifests/nsca/server.pp +++ b/manifests/nsca/server.pp @@ -1,13 +1,14 @@ class nagios::nsca::server { package { 'nsca': ensure => installed } - + service { 'nsca': ensure => running, hasstatus => false, hasrestart => true, + require => Package['nsca'], } - + file { '/etc/nsca.cfg': source => [ "puppet:///modules/site-nagios/nsca/{$fqdn}/nsca.cfg", "puppet:///modules/site-nagios/nsca/nsca.cfg", @@ -17,5 +18,5 @@ class nagios::nsca::server { mode => '400', notify => Service['nsca'], } - + } -- cgit v1.2.3 From 550d098f8e9b4ac28800c8bb5db0611eb5f3fa34 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 9 Apr 2012 02:36:25 -0400 Subject: Import fresh nsca.cfg file The default nsca.cfg is currently using the "non-normal" port for nsca. Let's import a freshly installed nsca.cfg file with default values. Signed-off-by: Gabriel Filion --- files/nsca/nsca.cfg | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/files/nsca/nsca.cfg b/files/nsca/nsca.cfg index 238869f..0b019ea 100644 --- a/files/nsca/nsca.cfg +++ b/files/nsca/nsca.cfg @@ -21,7 +21,7 @@ pid_file=/var/run/nsca.pid # Port number we should wait for connections on. # This must be a non-priveledged port (i.e. > 1024). -server_port=5677 +server_port=5667 @@ -79,10 +79,15 @@ debug=0 # COMMAND FILE # This is the location of the Nagios command file that the daemon # should write all service check results that it receives. - +# Note to debian users: nagios 1.x and nagios 2.x have +# different default locations for this file. this is the +# default location for nagios 1.x: +#command_file=/var/run/nagios/nagios.cmd +# and this is the default location for nagios2: +#command_file=/var/lib/nagios2/rw/nagios.cmd +# and this is the default location for nagios3: command_file=/var/lib/nagios3/rw/nagios.cmd - # ALTERNATE DUMP FILE # This is used to specify an alternate file the daemon should # write service check results to in the event the command file @@ -96,7 +101,6 @@ command_file=/var/lib/nagios3/rw/nagios.cmd alternate_dump_file=/var/run/nagios/nsca.dump - # AGGREGATED WRITES OPTION # This option determines whether or not the nsca daemon will # aggregate writes to the external command file for client -- cgit v1.2.3 From f722765369b3900f57d845e5c9e2e170a560302c Mon Sep 17 00:00:00 2001 From: nadir Date: Mon, 4 Oct 2010 18:25:25 +0200 Subject: Basic NRPE Support amended (lelutin): removed trailing spaces and commented out code. --- files/nrpe/nrpe_commands.cfg | 6 ++ manifests/nrpe.pp | 37 ++++++++ templates/nrpe/nrpe.cfg | 202 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 245 insertions(+) create mode 100644 files/nrpe/nrpe_commands.cfg create mode 100644 manifests/nrpe.pp create mode 100644 templates/nrpe/nrpe.cfg diff --git a/files/nrpe/nrpe_commands.cfg b/files/nrpe/nrpe_commands.cfg new file mode 100644 index 0000000..1a26cc3 --- /dev/null +++ b/files/nrpe/nrpe_commands.cfg @@ -0,0 +1,6 @@ +# default plugins +command[check_users]=/usr/lib/nagios/plugins/check_users $ARG1$ +command[check_load]=/usr/lib/nagios/plugins/check_load $ARG1$ +command[check_disk]=/usr/lib/nagios/plugins/check_disk $ARG1$ -x "/dev" -x "/dev/shm" -x "/lib/init/rw" +command[check_apt]=sudo /usr/lib/nagios/plugins/check_apt -u $ARG1$ +command[check_swap]=/usr/lib/nagios/plugins/check_swap $ARG1$ diff --git a/manifests/nrpe.pp b/manifests/nrpe.pp new file mode 100644 index 0000000..ff22441 --- /dev/null +++ b/manifests/nrpe.pp @@ -0,0 +1,37 @@ +class nagios::nrpe { + + if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/etc/nagios' } + + package { "nagios-nrpe-server": ensure => latest; + "nagios-plugins-basic": ensure => latest; + "nagios-plugins-standard": ensure => latest; + "libnagios-plugin-perl": ensure => present; + "libwww-perl": ensure => present; # für check_apache + "ksh": ensure => present; # für check_cpustats.sh + "sysstat": ensure => present; # für check_cpustats.sh + } + + file { [ $nagios_nrpe_cfgdir, "$nagios_nrpe_cfgdir/nrpe.d" ]: + ensure => directory } + + file { "$nagios_nrpe_cfgdir/nrpe.cfg": + content => template('nagios/nrpe/nrpe.cfg'), + owner => root, group => root, mode => 644; + } + + # default commands + file { "$nagios_nrpe_cfgdir/nrpe.d/nrpe_commands.cfg": + source => [ "puppet:///site-nagios/nrpe/nrpe_commands.cfg", + "puppet:///nagios/nrpe/nrpe_commands.cfg" ], + owner => root, group => root, mode => 644; + } + + service { "nagios-nrpe-server": + ensure => running, + enable => true, + pattern => "nrpe", + subscribe => [ File["$nagios_nrpe_cfgdir/nrpe.cfg"], + File["$nagios_nrpe_cfgdir/nrpe.d/nrpe_commands.cfg"] ] + } + +} diff --git a/templates/nrpe/nrpe.cfg b/templates/nrpe/nrpe.cfg new file mode 100644 index 0000000..b31e5f9 --- /dev/null +++ b/templates/nrpe/nrpe.cfg @@ -0,0 +1,202 @@ +############################################################################# +# Sample NRPE Config File +# Written by: Ethan Galstad (nagios@nagios.org) +# +# Last Modified: 02-23-2006 +# +# NOTES: +# This is a sample configuration file for the NRPE daemon. It needs to be +# located on the remote host that is running the NRPE daemon, not the host +# from which the check_nrpe client is being executed. +############################################################################# + + +# PID FILE +# The name of the file in which the NRPE daemon should write it's process ID +# number. The file is only written if the NRPE daemon is started by the root +# user and is running in standalone mode. + +pid_file=/var/run/nrpe.pid + + + +# PORT NUMBER +# Port number we should wait for connections on. +# NOTE: This must be a non-priviledged port (i.e. > 1024). +# NOTE: This option is ignored if NRPE is running under either inetd or xinetd + +server_port=5666 + + + +# SERVER ADDRESS +# Address that nrpe should bind to in case there are more than one interface +# and you do not want nrpe to bind on all interfaces. +# NOTE: This option is ignored if NRPE is running under either inetd or xinetd + +#server_address=192.168.1.1 + + + +# NRPE USER +# This determines the effective user that the NRPE daemon should run as. +# You can either supply a username or a UID. +# +# NOTE: This option is ignored if NRPE is running under either inetd or xinetd + +nrpe_user=nagios + + + +# NRPE GROUP +# This determines the effective group that the NRPE daemon should run as. +# You can either supply a group name or a GID. +# +# NOTE: This option is ignored if NRPE is running under either inetd or xinetd + +nrpe_group=nagios + + + +# ALLOWED HOST ADDRESSES +# This is an optional comma-delimited list of IP address or hostnames +# that are allowed to talk to the NRPE daemon. +# +# Note: The daemon only does rudimentary checking of the client's IP +# address. I would highly recommend adding entries in your /etc/hosts.allow +# file to allow only the specified host to connect to the port +# you are running this daemon on. +# +# NOTE: This option is ignored if NRPE is running under either inetd or xinetd + +<%- if nagios_nrpe_allowed_hosts.to_s.empty? then %> +allowed_hosts=127.0.0.1 +<%- else %> +allowed_host=127.0.0.1,<%= nagios_nrpe_allowed_hosts %> +<%- end %> + +# COMMAND ARGUMENT PROCESSING +# This option determines whether or not the NRPE daemon will allow clients +# to specify arguments to commands that are executed. This option only works +# if the daemon was configured with the --enable-command-args configure script +# option. +# +# *** ENABLING THIS OPTION IS A SECURITY RISK! *** +# Read the SECURITY file for information on some of the security implications +# of enabling this variable. +# +# Values: 0=do not allow arguments, 1=allow command arguments + +dont_blame_nrpe=1 + + +# COMMAND PREFIX +# This option allows you to prefix all commands with a user-defined string. +# A space is automatically added between the specified prefix string and the +# command line from the command definition. +# +# *** THIS EXAMPLE MAY POSE A POTENTIAL SECURITY RISK, SO USE WITH CAUTION! *** +# Usage scenario: +# Execute restricted commmands using sudo. For this to work, you need to add +# the nagios user to your /etc/sudoers. An example entry for alllowing +# execution of the plugins from might be: +# +# nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/ +# +# This lets the nagios user run all commands in that directory (and only them) +# without asking for a password. If you do this, make sure you don't give +# random users write access to that directory or its contents! + +# command_prefix=/usr/bin/sudo + + + +# DEBUGGING OPTION +# This option determines whether or not debugging messages are logged to the +# syslog facility. +# Values: 0=debugging off, 1=debugging on + +debug=0 + + + +# COMMAND TIMEOUT +# This specifies the maximum number of seconds that the NRPE daemon will +# allow plugins to finish executing before killing them off. + +command_timeout=60 + + + +# WEEK RANDOM SEED OPTION +# This directive allows you to use SSL even if your system does not have +# a /dev/random or /dev/urandom (on purpose or because the necessary patches +# were not applied). The random number generator will be seeded from a file +# which is either a file pointed to by the environment valiable $RANDFILE +# or $HOME/.rnd. If neither exists, the pseudo random number generator will +# be initialized and a warning will be issued. +# Values: 0=only seed from /dev/[u]random, 1=also seed from weak randomness + +#allow_weak_random_seed=1 + + + +# INCLUDE CONFIG FILE +# This directive allows you to include definitions from an external config file. + +#include= + + + +# INCLUDE CONFIG DIRECTORY +# This directive allows you to include definitions from config files (with a +# .cfg extension) in one or more directories (with recursion). + +#include_dir= +#include_dir= +include_dir=<%= nagios_nrpe_cfgdir %>/nrpe.d + + + +# COMMAND DEFINITIONS +# Command definitions that this daemon will run. Definitions +# are in the following format: +# +# command[]= +# +# When the daemon receives a request to return the results of +# it will execute the command specified by the argument. +# +# Unlike Nagios, the command line cannot contain macros - it must be +# typed exactly as it should be executed. +# +# Note: Any plugins that are used in the command lines must reside +# on the machine that this daemon is running on! The examples below +# assume that you have plugins installed in a /usr/local/nagios/libexec +# directory. Also note that you will have to modify the definitions below +# to match the argument format the plugins expect. Remember, these are +# examples only! + +# The following examples use hardcoded command arguments... + +#command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10 +#command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 +#command[check_disk1]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hda1 +#command[check_disk2]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hdb1 +#command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z +#command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200 + +# The following examples allow user-supplied arguments and can +# only be used if the NRPE daemon was compiled with support for +# command arguments *AND* the dont_blame_nrpe directive in this +# config file is set to '1'... + +#command[check_users]=/usr/lib/nagios/plugins/check_users -w $ARG1$ -c $ARG2$ +#command[check_load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$ +#command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ +#command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ + +# +# local configuration: +# if you'd prefer, you can instead place directives here + -- cgit v1.2.3 From faf85fa479e63b50cc2a3a7e69db9c0d7eb6e9ca Mon Sep 17 00:00:00 2001 From: nadir Date: Sun, 12 Dec 2010 23:12:53 +0100 Subject: Added NRPE Support for nagios::service --- README | 14 ++++++++++++-- manifests/service.pp | 13 +++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README b/README index 167b7aa..9c4e056 100644 --- a/README +++ b/README @@ -51,9 +51,9 @@ Services Services can be monitored by using the "nagios::service" component. -The simplest form is:: +The simplest form is: - nagios::service { 'check_http': + nagios::service { 'check_http': check_command => 'http_port!80', } @@ -65,6 +65,16 @@ Obviously, the check command must either be defined using nagios_command objects (some are supplied in nagios::defaults::commands) or in the nagios configuration files directly. +NRPE Services +------------- + +NRPE Services can be defines as i.e.: + + nagios::service { 'CPU Usage': use_nrpe => 'true', + check_command => "check_cpu", + nrpe_args => "-t 60" + } + Upgrade Notes ============= diff --git a/manifests/service.pp b/manifests/service.pp index afc8650..6f82279 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -11,16 +11,25 @@ define nagios::service ( $notification_options = '', $contact_groups = '', $use = 'generic-service', - $service_description = 'absent' ) + $service_description = 'absent', + $use_nrpe = '', + $nrpe_args = '' ) { # TODO: this resource should normally accept all nagios_host parameters $real_name = "${hostname}_${name}" + if ($use_nrpe == 'true') { + $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" + } + else { + $real_check_command = "$check_command" + } + @@nagios_service { "${real_name}": ensure => $ensure, - check_command => $check_command, + check_command => $real_check_command, host_name => $host_name, use => $use, notify => Service[nagios], -- cgit v1.2.3 From 9302bb5d6e6e8ed040027b8cbff606f7238ec02d Mon Sep 17 00:00:00 2001 From: nadir Date: Mon, 13 Feb 2012 11:42:27 +0100 Subject: service.pp: added nrpe support --- manifests/service.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/service.pp b/manifests/service.pp index 6f82279..0d95381 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -21,10 +21,10 @@ define nagios::service ( $real_name = "${hostname}_${name}" if ($use_nrpe == 'true') { - $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" + $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" } - else { - $real_check_command = "$check_command" + else { + $real_check_command = "$check_command" } @@nagios_service { "${real_name}": -- cgit v1.2.3 From 9da1addfa0607be4390b50000330f7740fc9fb5b Mon Sep 17 00:00:00 2001 From: nadir Date: Tue, 14 Feb 2012 11:14:51 +0100 Subject: command/nrpe.pp: check cmds for nrpe --- manifests/command/nrpe.pp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 manifests/command/nrpe.pp diff --git a/manifests/command/nrpe.pp b/manifests/command/nrpe.pp new file mode 100644 index 0000000..7539a26 --- /dev/null +++ b/manifests/command/nrpe.pp @@ -0,0 +1,14 @@ +class nagios::command::nrpe { + + # this command runs a program $ARG1$ with arguments $ARG2$ + nagios_command { + 'check_nrpe': + command_line => '/usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$' + } + + # this command runs a program $ARG1$ with no arguments + nagios_command { + 'check_nrpe_1arg': + command_line => '/usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$' + } +} -- cgit v1.2.3 From 6f70941c33e1f621dae4722796314e94a4b23bb6 Mon Sep 17 00:00:00 2001 From: nadir Date: Tue, 14 Feb 2012 11:15:25 +0100 Subject: working nrpe support --- manifests/service.pp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manifests/service.pp b/manifests/service.pp index 0d95381..ae112c1 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -21,7 +21,12 @@ define nagios::service ( $real_name = "${hostname}_${name}" if ($use_nrpe == 'true') { - $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" + if ($nrpe_args != '') { + $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" + } + else { + $real_check_command = "check_nrpe_1arg!$check_command" + } } else { $real_check_command = "$check_command" -- cgit v1.2.3 From 3ed7a58cc923d52c8664776b534b123d43f8fe5d Mon Sep 17 00:00:00 2001 From: nadir Date: Tue, 14 Feb 2012 14:50:38 +0100 Subject: add nrpe timeout parameter amended (lelutin): took out some trailing whitespaces and a commented out (useless) line --- manifests/command/nrpe_timeout.pp | 11 +++++++++++ manifests/service.pp | 13 ++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 manifests/command/nrpe_timeout.pp diff --git a/manifests/command/nrpe_timeout.pp b/manifests/command/nrpe_timeout.pp new file mode 100644 index 0000000..3415566 --- /dev/null +++ b/manifests/command/nrpe_timeout.pp @@ -0,0 +1,11 @@ +class nagios::command::nrpe_timeout { + nagios_command { + 'check_nrpe_timeout': + command_line => '/usr/lib/nagios/plugins/check_nrpe -t $ARG1$ -H $HOSTADDRESS$ -c $ARG2$ -a $ARG3$' + } + + nagios_command { + 'check_nrpe_1arg_timeout': + command_line => '/usr/lib/nagios/plugins/check_nrpe -t $ARG1$ -H $HOSTADDRESS$ -c $ARG2$' + } +} diff --git a/manifests/service.pp b/manifests/service.pp index ae112c1..55b2254 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -13,7 +13,8 @@ define nagios::service ( $use = 'generic-service', $service_description = 'absent', $use_nrpe = '', - $nrpe_args = '' ) + $nrpe_args = '', + $nrpe_timeout = 10 ) { # TODO: this resource should normally accept all nagios_host parameters @@ -21,11 +22,13 @@ define nagios::service ( $real_name = "${hostname}_${name}" if ($use_nrpe == 'true') { - if ($nrpe_args != '') { - $real_check_command = "check_nrpe!$check_command!\"$nrpe_args\"" + include nagios::command::nrpe_timeout + + if ($nrpe_args != '') { + $real_check_command = "check_nrpe_timeout!$nrpe_timeout!$check_command!\"$nrpe_args\"" } - else { - $real_check_command = "check_nrpe_1arg!$check_command" + else { + $real_check_command = "check_nrpe_1arg_timeout!$nrpe_timeout!$check_command" } } else { -- cgit v1.2.3 From 1c36e5c9188636aa7e5d093e2330356b24832ada Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 9 Apr 2012 23:45:16 -0400 Subject: Define a way to configure an NRPE command 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 --- manifests/nrpe/command.pp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 manifests/nrpe/command.pp diff --git a/manifests/nrpe/command.pp b/manifests/nrpe/command.pp new file mode 100644 index 0000000..1da73c8 --- /dev/null +++ b/manifests/nrpe/command.pp @@ -0,0 +1,33 @@ +define nagios::nrpe::command ( + $ensure = present, + $command_line = '', + $source = '' ) +{ + if ($command_line == '' and $source == '') { + fail ( "Either one of 'command_line' or 'source' must be given to nagios::nrpe::command." ) + } + + if $nagios_nrpe_cfg_dir == '' { + $nagios_nrpe_cfgdir = $nagios::nrpe::base::nagios_nrpe_cfgdir + } + + file { "$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg": + ensure => $ensure, + mode => 644, owner => root, group => root, + notify => Service['nagios-nrpe-server'], + require => File [ "$nagios_nrpe_cfgdir/nrpe.d" ] + } + + case $source { + '': { + File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { + content => template( "nagios/nrpe/nrpe_command.erb" ), + } + } + default: { + File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { + source => $source, + } + } + } +} -- cgit v1.2.3 From ef56fdd676408a1068dd9b666fb2cf57b518fd04 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 24 Jan 2011 13:07:47 -0500 Subject: Add NRPE support for FreeBSD 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. --- manifests/nrpe.pp | 44 ++++++++++++-------------------------------- manifests/nrpe/base.pp | 33 +++++++++++++++++++++++++++++++++ manifests/nrpe/freebsd.pp | 10 ++++++++++ manifests/nrpe/linux.pp | 9 +++++++++ 4 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 manifests/nrpe/base.pp create mode 100644 manifests/nrpe/freebsd.pp create mode 100644 manifests/nrpe/linux.pp diff --git a/manifests/nrpe.pp b/manifests/nrpe.pp index ff22441..fe75708 100644 --- a/manifests/nrpe.pp +++ b/manifests/nrpe.pp @@ -1,37 +1,17 @@ class nagios::nrpe { - if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/etc/nagios' } + case $operatingsystem { + 'freebsd': { + if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/usr/local/etc' } - package { "nagios-nrpe-server": ensure => latest; - "nagios-plugins-basic": ensure => latest; - "nagios-plugins-standard": ensure => latest; - "libnagios-plugin-perl": ensure => present; - "libwww-perl": ensure => present; # für check_apache - "ksh": ensure => present; # für check_cpustats.sh - "sysstat": ensure => present; # für check_cpustats.sh - } - - file { [ $nagios_nrpe_cfgdir, "$nagios_nrpe_cfgdir/nrpe.d" ]: - ensure => directory } - - file { "$nagios_nrpe_cfgdir/nrpe.cfg": - content => template('nagios/nrpe/nrpe.cfg'), - owner => root, group => root, mode => 644; - } - - # default commands - file { "$nagios_nrpe_cfgdir/nrpe.d/nrpe_commands.cfg": - source => [ "puppet:///site-nagios/nrpe/nrpe_commands.cfg", - "puppet:///nagios/nrpe/nrpe_commands.cfg" ], - owner => root, group => root, mode => 644; - } - - service { "nagios-nrpe-server": - ensure => running, - enable => true, - pattern => "nrpe", - subscribe => [ File["$nagios_nrpe_cfgdir/nrpe.cfg"], - File["$nagios_nrpe_cfgdir/nrpe.d/nrpe_commands.cfg"] ] - } + include nagios::nrpe::freebsd + } + default: { + case $kernel { + linux: { include nagios::nrpe::linux } + default: { include nagios::nrpe::base } + } + } + } } diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp new file mode 100644 index 0000000..6e39d7e --- /dev/null +++ b/manifests/nrpe/base.pp @@ -0,0 +1,33 @@ +class nagios::nrpe::base { + + if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/etc/nagios' } + if $nagios_nrpe_dont_blame == '' { $nagios_nrpe_dont_blame = 1 } + + package { "nagios-nrpe-server": ensure => present; + "nagios-plugins-basic": ensure => present; + "libnagios-plugin-perl": ensure => present; + "libwww-perl": ensure => present; # for check_apache + } + + + file { [ $nagios_nrpe_cfgdir, "$nagios_nrpe_cfgdir/nrpe.d" ]: + ensure => directory } + + file { "$nagios_nrpe_cfgdir/nrpe.cfg": + content => template('nagios/nrpe/nrpe.cfg'), + owner => root, group => root, mode => 644; + } + + # default commands + nagios::nrpe::command { "basic_nrpe": + source => [ "puppet:///modules/site-nagios/configs/nrpe/nrpe_commands.cfg", + "puppet:///modules/nagios/nrpe/nrpe_commands.cfg" ], + } + + service { "nagios-nrpe-server": + ensure => running, + enable => true, + pattern => "nrpe", + subscribe => File["$nagios_nrpe_cfgdir/nrpe.cfg"] + } +} diff --git a/manifests/nrpe/freebsd.pp b/manifests/nrpe/freebsd.pp new file mode 100644 index 0000000..3e1e0e1 --- /dev/null +++ b/manifests/nrpe/freebsd.pp @@ -0,0 +1,10 @@ +class nagios::nrpe::freebsd inherits nagios::nrpe::base { + + Package["nagios-nrpe-server"] { name => "nrpe2" } + Package["nagios-plugins-basic"] { name => "nagios-plugins" } + Package["libnagios-plugin-perl"] { name => "p5-Nagios-Plugin" } + Package["libwww-perl"] { name => "p5-libwww" } + + # TODO check_cpustats.sh is probably not working as of now. the package 'sysstat' is not available under FreeBSD + +} diff --git a/manifests/nrpe/linux.pp b/manifests/nrpe/linux.pp new file mode 100644 index 0000000..14e007f --- /dev/null +++ b/manifests/nrpe/linux.pp @@ -0,0 +1,9 @@ +class nagios::nrpe::linux inherits nagios::nrpe::base { + + package { + "nagios-plugins-standard": ensure => present; + "ksh": ensure => present; # for check_cpustats.sh + "sysstat": ensure => present; # for check_cpustats.sh + } + +} -- cgit v1.2.3 From f9f47f1e2af2d7bd4b60c84697fcffe365b1d0dd Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 24 Jan 2011 13:21:02 -0500 Subject: Fix nagios::nrpe::command for FreeBSD 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. --- manifests/nrpe/command.pp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manifests/nrpe/command.pp b/manifests/nrpe/command.pp index 1da73c8..9c90ed7 100644 --- a/manifests/nrpe/command.pp +++ b/manifests/nrpe/command.pp @@ -18,6 +18,12 @@ define nagios::nrpe::command ( require => File [ "$nagios_nrpe_cfgdir/nrpe.d" ] } + if $operatingsystem == 'freebsd' { + File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { + group => wheel, + } + } + case $source { '': { File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { -- cgit v1.2.3 From c9de09ece4508db6b216abd0f74f07ea7befe906 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Tue, 1 Feb 2011 16:21:20 -0500 Subject: nrpe FreeBSD compatibility 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 --- manifests/nrpe.pp | 2 +- manifests/nrpe/base.pp | 2 +- manifests/nrpe/command.pp | 8 +------- manifests/nrpe/freebsd.pp | 5 +++++ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/manifests/nrpe.pp b/manifests/nrpe.pp index fe75708..c9ecf75 100644 --- a/manifests/nrpe.pp +++ b/manifests/nrpe.pp @@ -1,7 +1,7 @@ class nagios::nrpe { case $operatingsystem { - 'freebsd': { + 'FreeBSD': { if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/usr/local/etc' } include nagios::nrpe::freebsd diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index 6e39d7e..d96dc3f 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -15,7 +15,7 @@ class nagios::nrpe::base { file { "$nagios_nrpe_cfgdir/nrpe.cfg": content => template('nagios/nrpe/nrpe.cfg'), - owner => root, group => root, mode => 644; + owner => root, group => 0, mode => 644; } # default commands diff --git a/manifests/nrpe/command.pp b/manifests/nrpe/command.pp index 9c90ed7..e6ebdae 100644 --- a/manifests/nrpe/command.pp +++ b/manifests/nrpe/command.pp @@ -13,17 +13,11 @@ define nagios::nrpe::command ( file { "$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg": ensure => $ensure, - mode => 644, owner => root, group => root, + mode => 644, owner => root, group => 0, notify => Service['nagios-nrpe-server'], require => File [ "$nagios_nrpe_cfgdir/nrpe.d" ] } - if $operatingsystem == 'freebsd' { - File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { - group => wheel, - } - } - case $source { '': { File["$nagios_nrpe_cfgdir/nrpe.d/${name}_command.cfg"] { diff --git a/manifests/nrpe/freebsd.pp b/manifests/nrpe/freebsd.pp index 3e1e0e1..73e7687 100644 --- a/manifests/nrpe/freebsd.pp +++ b/manifests/nrpe/freebsd.pp @@ -7,4 +7,9 @@ class nagios::nrpe::freebsd inherits nagios::nrpe::base { # TODO check_cpustats.sh is probably not working as of now. the package 'sysstat' is not available under FreeBSD + Service["nagios-nrpe-server"] { + pattern => undef, + path => "/usr/local/etc/rc.d", + name => "nrpe2", + } } -- cgit v1.2.3 From 7d9843fae4c939670f005661d5867578d0a0827e Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Tue, 15 Feb 2011 19:11:01 -0500 Subject: Avoid the "libnagios-plugin-perl" package for lenny This package doesn't exist on lenny. --- manifests/nrpe/base.pp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index d96dc3f..8636760 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -1,18 +1,21 @@ class nagios::nrpe::base { if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/etc/nagios' } - if $nagios_nrpe_dont_blame == '' { $nagios_nrpe_dont_blame = 1 } package { "nagios-nrpe-server": ensure => present; "nagios-plugins-basic": ensure => present; - "libnagios-plugin-perl": ensure => present; "libwww-perl": ensure => present; # for check_apache } + # Special-case lenny. the package doesn't exist + if $lsbdistcodename != 'lenny' { + package { "libnagios-plugin-perl": ensure => present; } + } file { [ $nagios_nrpe_cfgdir, "$nagios_nrpe_cfgdir/nrpe.d" ]: ensure => directory } + if $nagios_nrpe_dont_blame == '' { $nagios_nrpe_dont_blame = 1 } file { "$nagios_nrpe_cfgdir/nrpe.cfg": content => template('nagios/nrpe/nrpe.cfg'), owner => root, group => 0, mode => 644; -- cgit v1.2.3 From dddff2316ee0ce0dab3540538de44a3829cc5c07 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Tue, 15 Feb 2011 19:11:50 -0500 Subject: nrpe.cfg: enable setting server_address By default, nrpe listens on every interfaces on the server. This is undesirable on Linux VServer hosts, since it will conflict with vservers. With a new variable, $nagios_nrpe_server_address, it is now possible to set the ip address on which the nrpe server will listen. --- templates/nrpe/nrpe.cfg | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/templates/nrpe/nrpe.cfg b/templates/nrpe/nrpe.cfg index b31e5f9..b666e42 100644 --- a/templates/nrpe/nrpe.cfg +++ b/templates/nrpe/nrpe.cfg @@ -34,8 +34,11 @@ server_port=5666 # and you do not want nrpe to bind on all interfaces. # NOTE: This option is ignored if NRPE is running under either inetd or xinetd -#server_address=192.168.1.1 - +<%- if has_variable?("nagios_nrpe_server_address") then %> +<%- if not nagios_nrpe_server_address.to_s.empty? then %> +server_address=<%= nagios_nrpe_server_address %> +<%- end %> +<%- end %> # NRPE USER -- cgit v1.2.3 From 7fb80fbecfa5a186846a2909bd1d6ada32ba21e1 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Wed, 27 Apr 2011 15:46:58 -0400 Subject: Define check_load as a function of the nb of cpus 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 --- files/nrpe/nrpe_commands.cfg | 1 - manifests/nrpe/base.pp | 14 +++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/files/nrpe/nrpe_commands.cfg b/files/nrpe/nrpe_commands.cfg index 1a26cc3..b725a36 100644 --- a/files/nrpe/nrpe_commands.cfg +++ b/files/nrpe/nrpe_commands.cfg @@ -1,6 +1,5 @@ # default plugins command[check_users]=/usr/lib/nagios/plugins/check_users $ARG1$ -command[check_load]=/usr/lib/nagios/plugins/check_load $ARG1$ command[check_disk]=/usr/lib/nagios/plugins/check_disk $ARG1$ -x "/dev" -x "/dev/shm" -x "/lib/init/rw" command[check_apt]=sudo /usr/lib/nagios/plugins/check_apt -u $ARG1$ command[check_swap]=/usr/lib/nagios/plugins/check_swap $ARG1$ diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index 8636760..1d26849 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -23,9 +23,21 @@ class nagios::nrpe::base { # default commands nagios::nrpe::command { "basic_nrpe": - source => [ "puppet:///modules/site-nagios/configs/nrpe/nrpe_commands.cfg", + source => [ "puppet:///modules/site-nagios/configs/nrpe/nrpe_commands.${fqdn}.cfg", + "puppet:///modules/site-nagios/configs/nrpe/nrpe_commands.cfg", "puppet:///modules/nagios/nrpe/nrpe_commands.cfg" ], } + # the check for load should be customized for each server based on number + # of CPUs and the type of activity. + $warning_1_threshold = 5 * $processorcount + $warning_5_threshold = 4 * $processorcount + $warning_15_threshold = 3 * $processorcount + $critical_1_threshold = 10 * $processorcount + $critical_5_threshold = 9 * $processorcount + $critical_15_threshold = 8 * $processorcount + nagios::nrpe::command { "check_load": + command_line => "/usr/lib/nagios/plugins/check_load -w ${warning_1_threshold},${warning_5_threshold},${warning_15_threshold} -c ${critical_1_threshold},${critical_5_threshold},${critical_15_threshold}", + } service { "nagios-nrpe-server": ensure => running, -- cgit v1.2.3 From ba5ef8e555e16f9fb6a5e6bb8f8d5bf3c12c1827 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Thu, 26 May 2011 15:58:26 -0400 Subject: nrpe: bump up multipliers for check_load The CPU checks were fireing way too often. Bump up the multipliers to reduce the number of alerts. --- manifests/nrpe/base.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index 1d26849..c14692e 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -29,9 +29,9 @@ class nagios::nrpe::base { } # the check for load should be customized for each server based on number # of CPUs and the type of activity. - $warning_1_threshold = 5 * $processorcount - $warning_5_threshold = 4 * $processorcount - $warning_15_threshold = 3 * $processorcount + $warning_1_threshold = 7 * $processorcount + $warning_5_threshold = 6 * $processorcount + $warning_15_threshold = 5 * $processorcount $critical_1_threshold = 10 * $processorcount $critical_5_threshold = 9 * $processorcount $critical_15_threshold = 8 * $processorcount -- cgit v1.2.3 From d0b45ed20e2d13e70d13dbd53a8a8ba8650298c9 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 6 Jun 2011 18:01:57 -0400 Subject: Add a nagios::nrpe::xinetd class 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. --- manifests/nrpe/xinetd.pp | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 manifests/nrpe/xinetd.pp diff --git a/manifests/nrpe/xinetd.pp b/manifests/nrpe/xinetd.pp new file mode 100644 index 0000000..e13ed76 --- /dev/null +++ b/manifests/nrpe/xinetd.pp @@ -0,0 +1,11 @@ +# This is created only to cope with cases where we're not the only ones +# administering a machine and NRPE is running in xinetd. +class nagios::nrpe::xinetd inherits base { + + Service ["nagios-nrpe-server"] { + ensure => stopped, + } + + # TODO manage the xinetd config file that glues with NRPE + +} -- cgit v1.2.3 From c2391b7a83d8be4343622458b852bf90bd3919b6 Mon Sep 17 00:00:00 2001 From: Antoine Beaupre Date: Thu, 28 Jul 2011 13:23:52 -0400 Subject: default processorcount to 1 if it is not present --- manifests/nrpe/base.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index c14692e..f0c76b1 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -1,6 +1,7 @@ class nagios::nrpe::base { if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/etc/nagios' } + if $processorcount == '' { $processorcount = 1 } package { "nagios-nrpe-server": ensure => present; "nagios-plugins-basic": ensure => present; -- cgit v1.2.3 From e335357ad435c3bd9648d1763a229fd3a6077a8f Mon Sep 17 00:00:00 2001 From: Antoine Beaupre Date: Thu, 28 Jul 2011 13:33:58 -0400 Subject: make the nrpe service depend on the package --- manifests/nrpe/base.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index f0c76b1..f1809d7 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -44,6 +44,7 @@ class nagios::nrpe::base { ensure => running, enable => true, pattern => "nrpe", - subscribe => File["$nagios_nrpe_cfgdir/nrpe.cfg"] + subscribe => File["$nagios_nrpe_cfgdir/nrpe.cfg"], + require => Package["nagios-nrpe-server"], } } -- cgit v1.2.3 From b956d666681ccf20f70be65c3b57aa77928a9be9 Mon Sep 17 00:00:00 2001 From: Antoine Beaupre Date: Thu, 28 Jul 2011 13:34:22 -0400 Subject: fix nrpe package name in freebsd --- manifests/nrpe/freebsd.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/nrpe/freebsd.pp b/manifests/nrpe/freebsd.pp index 73e7687..4ae693c 100644 --- a/manifests/nrpe/freebsd.pp +++ b/manifests/nrpe/freebsd.pp @@ -1,6 +1,6 @@ class nagios::nrpe::freebsd inherits nagios::nrpe::base { - Package["nagios-nrpe-server"] { name => "nrpe2" } + Package["nagios-nrpe-server"] { name => "nrpe" } Package["nagios-plugins-basic"] { name => "nagios-plugins" } Package["libnagios-plugin-perl"] { name => "p5-Nagios-Plugin" } Package["libwww-perl"] { name => "p5-libwww" } -- cgit v1.2.3 From 8f24f259caa75f78ed501377c95c0a6fab0ebb11 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 7 Nov 2011 12:07:28 -0500 Subject: Fix NRPE for FreeBSD 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. --- manifests/nrpe.pp | 5 +++++ manifests/nrpe/base.pp | 2 +- manifests/nrpe/freebsd.pp | 3 ++- templates/nrpe/nrpe.cfg | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/manifests/nrpe.pp b/manifests/nrpe.pp index c9ecf75..5c05ed4 100644 --- a/manifests/nrpe.pp +++ b/manifests/nrpe.pp @@ -3,10 +3,15 @@ class nagios::nrpe { case $operatingsystem { 'FreeBSD': { if $nagios_nrpe_cfgdir == '' { $nagios_nrpe_cfgdir = '/usr/local/etc' } + if $nagios_nrpe_pid_file == '' { $nagios_nrpe_pid_file = '/var/spool/nagios/nrpe2.pid' } + if $nagios_plugin_dir == '' { $nagios_plugin_dir = '/usr/local/libexec/nagios' } include nagios::nrpe::freebsd } default: { + if $nagios_nrpe_pid_file == '' { $nagios_nrpe_pid_file = '/var/run/nrpe.pid' } + if $nagios_plugin_dir == '' { $nagios_plugin_dir = '/usr/lib/nagios/plugins' } + case $kernel { linux: { include nagios::nrpe::linux } default: { include nagios::nrpe::base } diff --git a/manifests/nrpe/base.pp b/manifests/nrpe/base.pp index f1809d7..17abb04 100644 --- a/manifests/nrpe/base.pp +++ b/manifests/nrpe/base.pp @@ -37,7 +37,7 @@ class nagios::nrpe::base { $critical_5_threshold = 9 * $processorcount $critical_15_threshold = 8 * $processorcount nagios::nrpe::command { "check_load": - command_line => "/usr/lib/nagios/plugins/check_load -w ${warning_1_threshold},${warning_5_threshold},${warning_15_threshold} -c ${critical_1_threshold},${critical_5_threshold},${critical_15_threshold}", + command_line => "${nagios_plugin_dir}/check_load -w ${warning_1_threshold},${warning_5_threshold},${warning_15_threshold} -c ${critical_1_threshold},${critical_5_threshold},${critical_15_threshold}", } service { "nagios-nrpe-server": diff --git a/manifests/nrpe/freebsd.pp b/manifests/nrpe/freebsd.pp index 4ae693c..063b79b 100644 --- a/manifests/nrpe/freebsd.pp +++ b/manifests/nrpe/freebsd.pp @@ -8,8 +8,9 @@ class nagios::nrpe::freebsd inherits nagios::nrpe::base { # TODO check_cpustats.sh is probably not working as of now. the package 'sysstat' is not available under FreeBSD Service["nagios-nrpe-server"] { - pattern => undef, + pattern => "^/usr/local/sbin/nrpe2", path => "/usr/local/etc/rc.d", name => "nrpe2", + hasstatus => "false", } } diff --git a/templates/nrpe/nrpe.cfg b/templates/nrpe/nrpe.cfg index b666e42..5368bc8 100644 --- a/templates/nrpe/nrpe.cfg +++ b/templates/nrpe/nrpe.cfg @@ -16,7 +16,7 @@ # number. The file is only written if the NRPE daemon is started by the root # user and is running in standalone mode. -pid_file=/var/run/nrpe.pid +pid_file=<%= nagios_nrpe_pid_file %> -- cgit v1.2.3 From 66257f3c425fea5fcea2acb999854aae5e7cf9f1 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Tue, 10 Apr 2012 00:45:49 -0400 Subject: Update the README for NRPE With an example nrpe service and an example nrpe command definition, users should be able to use nrpe pretty easily. Some general-purpose variables were not documented, so I added a note about them at the same time. Signed-off-by: Gabriel Filion --- README | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/README b/README index 9c4e056..de1294d 100644 --- a/README +++ b/README @@ -68,11 +68,24 @@ files directly. NRPE Services ------------- -NRPE Services can be defines as i.e.: +Some Nagios services need to be checked via NRPE. The following will make the +nagios server define a service that will check the NRPE command 'check_cpu' on +the current node: + + nagios::service { 'CPU Usage': + use_nrpe => 'true', + check_command => "check_cpu", + nrpe_args => "-t 60" + } + +NRPE Commands +------------- - nagios::service { 'CPU Usage': use_nrpe => 'true', - check_command => "check_cpu", - nrpe_args => "-t 60" +To be able to call NRPE commands on a host, one needs to define that command +and what it is going to execute: + + nagios::nrpe::command { 'debsums': + check_command => '/usr/lib/nagios/plugins/check_debsums openssh-server' } @@ -144,11 +157,33 @@ Variables Options to change the behavior of the nagios module: +- nagios_parents: Which host(s) are this node's parents in the nagios host map. + - nagios_allow_external_cmd: Set to true, if you'd like to ensure that your http daemon can write to the external command file. You may also need to flip "check_external_commands" in "nagios.cfg" to enable this functionality. +- nagios_cfgdir: specify an alternative directory where Nagios configurations + should be managed. Default value depends of the OS of each + node, but is usually something like '/etc/nagios3'. + +- nagios_plugin_dir: Change the directory where Nagios plugins should be + deployed and pointed to by commands. + +- nagios_nrpe_cfgdir: Change the directory where NRPE configurations should be + managed. The default value depends on the node's OS but + is usually something like '/etc/nagios'. + +- nagios_nrpe_pid_file: Change where the PID file for the Nagios service should + be written to. It's usually a good idea to keep this + file where the init script will find it so that it can + verify the service's status. + +- nagios_nrpe_dont_blame: Set this to 1 to allow arguments to be passed along + with NRPE command calls. Set it to 0 to disable + command arguments. + - nagios_nsa_socket: This optional variable can be used to specify the path to the socket file that the IRC daemon should use. -- cgit v1.2.3