Skip to content

mysociety/puppet-nrpe

 
 

Repository files navigation

NRPE Module for Puppet

License Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - scores

Table of Contents

  1. Module Description - What the module does and why it is useful
  2. Setup - The basics of getting started with this module
  3. Usage - Configuration options and additional functionality
  4. Reference - Puppet Strings based reference documentation
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Module Description

NRPE (Nagios Remote Plugin Executor) allows you to remotely execute Nagios plugins on other Linux/Unix machines. This allows you to monitor remote machine metrics (disk usage, CPU load, etc.). This puppet module manages the installation and configuration of NRPE. It can install NRPE plugins and setup NRPE commands. Secure communication to NRPE using SSL is also supported.

Setup

The nrpe class installs the packages and configures the daemon. By default, it will only configure the daemon to listen on localhost. To allow connections from your nagios server, specify the allowed_hosts parameter when declaring the class.

class { 'nrpe':
  allowed_hosts => ['127.0.0.1', 'nagios.example.org'],
}

Usage

nrpe

No NRPE commands are configured by default. To make the configuration useful, at a minimum, declare some nrpe::command resources. To purge unmanaged NRPE commands:

class { 'nrpe':
  allowed_hosts => ['127.0.0.1'],
  purge         => true,
  recurse       => true,
}

Full documentation for the nrpe class is available in the reference documentation.

nrpe::command

This define can be used to add NRPE commands to the include directory for NRPE.

nrpe::command { 'check_users':
  ensure  => present,
  command => 'check_users -w 5 -c 10',
}

It is also possible to use hiera data to create these resources by using the base class commands parameter.

nrpe::commands:
  check_users:
    ensure: present
    command: 'check_users -w 5 -c 10'

Full documentation for the nrpe::command type is available in the reference documentation.

nrpe::plugin

This define can be used to install NRPE plugins.

nrpe::plugin { 'check_mem':
  ensure => present,
  source => 'puppet:///files/check_mem',
}

It is also possible to use hiera data to create these resources by using the base class plugins parameter.

nrpe::plugins:
  check_users:
    ensure: present
    source: 'puppet:///files/check_mem'

Full documentation for the nrpe::plugin type is available in the reference documentation.

Reference

See REFERENCE.md. This module has been documented with puppet-strings.

Limitations

Redhat

  • This module requires the EPEL repositories to be enabled
  • This module currently does not manage the firewall rules

Oracle Linux

  • This module requires the EPEL and Optional Updates repositories to be enabled

Solaris

  • This module depends on OpenCSW packages

Development

Improvements and bug fixes are greatly appreciated.

To regenerate the REFERENCE.MD file, please run the rake task as follows.

 % bundle exec rake strings:generate\[',,,,false,true']

This module is a fork of pdxcat/nrpe

It is licensed under the Apache License, Version 2.0.

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 55.9%
  • Ruby 42.9%
  • Dockerfile 1.2%