Linux學習筆記:爲Nagios 4.1.1安裝出圖插件pnp 0.6.25

Nagios 4.1.1的部署安裝可參考http://coosh.blog.51cto.com/6334375/1741257


前言:

Nagios客戶端默認是沒有自帶出圖的插件的,需要另外安裝,這裏介紹最常見的插件pnp。在老男孩老師的視頻中,他所推薦的是0.4版本,並且建議不必選用更新的版本。雖說我同意他的觀點,但本着研究學習的精神,我還是安裝了最新的0.6.25,安裝過程中碰到了很多問題,並一一解決了,這裏做一下記錄。


前期準備:

安裝Nagios和部署這裏不再贅述,找到http://docs.pnp4nagios.org/ ,頁面是手冊,下載的鏈接在上方。另外,pnp必須使用rrd-tool、perl,因此最直接就是yum install rrdtool*  perl* ,並且需要注意打開apache的mod_rewrite功能(默認是已經打開了的)


下載安裝

tar -xvzf pnp4nagios-HEAD.tar.gz
cd pnp4nagios
./configure
*** Configuration summary for pnp4nagios-0.6.2 23-12-2009 ***
  General Options:
  -------------------------         -------------------
  Nagios user/group:                nagios nagios
  Install directory:                /usr/local/pnp4nagios
  HTML Dir:                         /usr/local/pnp4nagios/share
  Config Dir:                       /usr/local/pnp4nagios/etc
  Location of rrdtool binary:       /usr/bin/rrdtool Version 1.2.12
  RRDs Perl Modules:                FOUND (Version 1.2012)
  RRD Files stored in:              /usr/local/pnp4nagios/var/perfdata
  process_perfdata.pl Logfile:      /usr/local/pnp4nagios/var/perfdata.log
  Perfdata files (NPCD) stored in:  /usr/local/pnp4nagios/var/spool
  Web Interface Options:  -------------------------         -------------------
  HTML URL:                         http://localhost/pnp4nagios/
  Apache Config File:               /etc/apache2/conf.d/pnp4nagios.conf
  Review the options above for accuracy.  If they look okay,
  type 'make all' to compile.
make all
make fullinstall


以上代碼是官方提供的安裝方法,假如Nagios是用源碼默認配置安裝,並且其他都通過yum安裝,那麼照着官方的方法即可完成,安裝好後的路徑是/usr/local/pnp4nagios/,運行時它所使用的用戶名和組均是nagios


當我裝完後嘗試訪問pnp的頁面時發現無法出圖,在/usr/local/pnp4nagios/var/perfdata目錄下沒有生產數據文件,百思不得其解,百度一番後,發現原來0.6版的pnp與nagios 4.1.1有點“不兼容”,不能使用默認的同步模式,要改爲Bulk模式(塊模式)。


#################################################################################

#    打開pnp4nagios的log功能,其實這一步是可選的,並非一定要打開,但如果碰到了問題,打開了log功能會很方便排錯,所以建議打開。    #

#################################################################################

vi /usr/local/pnp4nagios/etc/process_perfdata.cfg

#把log_level改爲2

# Loglevel 0=silent 1=normal 2=debug

#

LOG_LEVEL = 2


慎重起見重啓一下httpd和nagios服務


然後可以在tail /usr/local/pnp4nagios/var/perfdata.log裏看到日誌信息

我所碰到的問題是Cant find Nagios Environment. Exiting ....

然後百度一番,發現要改爲使用Bulk模式


參考官方手冊http://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode 

作如下修改/usr/local/nagios/etc/nagios.cfg文件

process_performance_data=1

enable_environment_macros=1

service_perfdata_command=process-service-perfdata

host_perfdata_command=process-host-perfdata

service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata

service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

service_perfdata_file_mode=a

service_perfdata_file_processing_interval=15

service_perfdata_file_processing_command=process-service-perfdata-file

host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata

host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

host_perfdata_file_mode=a

host_perfdata_file_processing_interval=15

host_perfdata_file_processing_command=process-host-perfdata-file




作如下修改/usr/local/nagios/etc/objects/commands.cfg 文件

define command{

        command_name    process-host-perfdata

        command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl

        }

define command{

        command_name    process-service-perfdata

        command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA

        }

define command{

       command_name    process-service-perfdata-file

       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata

}

define command{

       command_name    process-host-perfdata-file

       command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata

}


重啓httpd和nagios服務即可。由於採集需要一定的時間,不能立即在網頁界面看到數據,但一般幾秒後,就可以觀察 /usr/local/pnp4nagios/var/perfdata目錄下是否有對應的主機名的目錄生成,如果有,一般就是正常的了。如果仍不正常,就查看log文件去排錯。


效果圖

wKioL1a4kOLQOwcWAAKTp3DTo8c146.jpg

wKioL1a4kOXQNvXyAAJh4mdrYkM170.jpg






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