写了一个puppet的nagios 模块,写的不怎么样,但是也是自己写的第一个模块,记录下来。
#install&config nagios init.pp class nagios::params { file {"/usr/local/src/nagios-plugins-1.4.15.tar.gz": source =>"puppet://$puppetserver/nagios/nagios-plugins-1.4.15.tar.gz", } file {"/usr/local/src/nrpe-2.12.tar.gz": source =>"puppet://$puppetserver/nagios/nrpe-2.12.tar.gz", } user {"nagios": ensure =>present, comment => "nagios user", gid => "nagios", shell => "/bin/bash", home =>"/home/nagios", require => Group["nagios"], } group {"nagios": ensure =>present, } } class nagios::install { exec {"install-nagios": cwd =>"/usr/local/src", command =>"tar -zxvf nagios-plugins-1.4.15.tar.gz&&tar -zxvf nrpe-2.12.tar.gz&&cd nagios-plugins-1.4.15&&./configure&&make&&make install&&chown -R nagios.nagios /usr/local/nagios&&cd nrpe-2.12&&./configure&&make all&&make install-plugin&&make install-daemon&&make install-daemon-config", logoutput => on_failure, timeout => 0, require => Class["nagios::params"] } } class nagios::config { file { "/usr/local/nagios/etc/nrpe.cfg": ensure => present, owner => 'nagios', group => 'nagios', mode => 0622, source => "puppet://$puppetserver/nagios/nrpe.cfg", require => class["nagios::install"], notify => class["nagios::service"], } } class nagios::service { exec{"start-nagios": command=>"/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d", require => Class["nagios::config"], } } class nagios { include nagios::params,nagios::install,nagios::config,nagios::service }