puppet系列之nagios客戶端模塊

   爲了方便與puppet結合着用,所以接下去原本用源碼編譯的,統統改成用rpmbuild打包完,在放進自己建的源裏面,本文也將說明本地源如何創建。

   文中軟件包nrpe,和nagios-plugins均由上篇文章的spec生成。

   老規矩,先上架構圖(ps:其實都差不多- -):

   

1.init.pp

  1. import "*" 

 

2.web.pp

  1. class nagios::web ( 
  2.   $nagiospluginsversion="1.4.16-10"
  3.   $nrpeversion="2.13-10" 
  4. ){  
  5.         file {"sa": 
  6.           path    => "/root/sa", 
  7.           ensure  => directory, 
  8.         } 
  9.  
  10.         package {"xinetd": 
  11.           ensure  => present, 
  12.         } 
  13.          
  14.         package {"nagios-plugins": 
  15.           ensure  => $nagiospluginsversion, 
  16.         } 
  17.  
  18.         package {"nrpe": 
  19.           ensure  => $nrpeversion, 
  20.           require => Package["nagios-plugins"], 
  21.         } 
  22.  
  23.         file {"nrpe.cfg": 
  24.           mode      => 0644, 
  25.           owner     => nagios, 
  26.           group     => nagios, 
  27.           path      => "/usr/local/nagios/etc/nrpe.cfg", 
  28.           require   => Package["nrpe"], 
  29.           content   => template('nagios/web-nrpe.erb'), 
  30.           notify    => Service['xinetd'],   
  31.         } 
  32.  
  33.         file {"nrpe": 
  34.           mode      => 0644, 
  35.           owner     => root, 
  36.           group     => root, 
  37.           path      => "/etc/xinetd.d/nrpe", 
  38.           content   => template('nagios/nrpe.erb'), 
  39.           require   => Package["nrpe"], 
  40.           notify    => Service['xinetd'], 
  41.         } 
  42.        
  43.         service {"xinetd": 
  44.           ensure    => running, 
  45.           enable    => true, 
  46.           subscribe => File["nrpe","nrpe.cfg"], 
  47.         } 

 

3,nrpe.erb

  1. # default: on 
  2. # description: NRPE (Nagios Remote Plugin Executor) 
  3. service nrpe 
  4.         flags           = REUSE 
  5.         socket_type     = stream     
  6.           port              = 5666     
  7.         wait            = no 
  8.         user            = nagios 
  9.           group             = nagios 
  10.         server          = /usr/local/nagios/bin/nrpe 
  11.         server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd 
  12.         log_on_failure  += USERID 
  13.         disable         = no 
  14.           only_from       = 127.0.0.1 <%= nagios_server %> 

4,nrpe-web.erb

裏面就是源碼編譯出來的nrpe.cfg的內容

5,site.pp 

  1. ########################   for module nagios ######################## 
  2. $nagios_server      = "192.168.10.211" 

設置了nagios_server變量的值

6,node調用

(1),modules.pp

  1. import "nagios" 

(2),site.pp

  1. node /^redis\.\w+\.com$/ { 
  2.     include nagios::web 

當然也可以寫進nodes.pp裏面設置的節點裏


7,創建本地源

我使用的是ftp來做

  1. (1)yum install vsftpd -y  
  2. (2)yum install createrep -y 

然後把nrpe,nagios-plugins軟件包複製到/var/ftp/pub下,生成依賴關係

  1. createrepo /var/ftp/pub 

創建ftp.repo

  1. [ftp] 
  2. name=base 
  3. baseurl=ftp://192.168.10.211/pub 
  4. enabled=1 
  5. gpgcheck=0 

最後在

  1. yum makecache 

別忘了防火牆開啓ftp端口

在此感謝itnihao大神的提供無私援助!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章