Forge Home


9,494 latest version

0.4 quality score

Version information

  • 0.0.1 (latest)
released Dec 10th 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'neillturner-nagios', '0.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add neillturner-nagios
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install neillturner-nagios --version 0.0.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



neillturner/nagios — version 0.0.1 Dec 10th 2013


The creates nagios server and clients that will interact with a puppetmaster be added automatically to the nagios server. You must have a puppetmaster installed with stored configs setup. It uses the puppet nagios export commands. This works on Centos 64 bit. With need changes for other platforms.

To define a server: class { 'nagios': } class { 'nagios::server': require => Class['nagios'] }

On a client:

  1. Use a nrpe module like pdxcat-nrpe,, to install nrpe on all clients including the nagios server

    class { 'nrpe': allowed_hosts => ['', ''], require => Class['ntp'] }

  2. Change the nrpe.cfg to have the required commands installed (probably a cleaner way to do this) a. edit the file nrpe.cfg and change allowed_hosts= to #allowed_hosts= allowed_hosts=,
    where the nagios ip address

    b. replace the nrpe.cfg with this new file

    exec { 'save old nrpe.cfg': command => "cp -f nrpe.cfg nrpe.cfg.old", cwd => "/etc/nagios", require => Class['nrpe'] }

    npre config file

    file {'new nrpe.cfg': ensure => present, path => '/etc/nagios/', source => 'puppet:///modules/nagios/nrpe.cfg', require => Exec['save old nrpe.cfg'] }

    exec { 'move nrpe.cfg': command => "mv -f nrpe.cfg", cwd => "/etc/nagios", require => File['new nrpe.cfg'] }
    c. restart the nrpe service exec { 'restart the nrpe service': command => "service nrpe restart", cwd => "/tmp", require => Exec['move nrpe.cfg'] }

  3. Export the client host to puppet so it will be added automatically to the nagios server. class { 'nagios::export' : require => Exec['restart the nrpe service'] }

Once this is working add additional checks for services etc.

Based on


To debug nagios config file errors run
nagios -v /etc/nagios/nagios.cfg

To test that the nrpe is running commands run on the nagios server
/usr/lib64/nagios/plugins/check_nrpe -H -c check_load
where is the client hostname