Nagios 4.1.1的部署安裝可參考http://coosh.blog.51cto.com/6334375/1741257
成都創(chuàng)新互聯(lián)于2013年成立,先為新華等服務(wù)建站,新華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為新華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
前言:
Nagios客戶端默認(rèn)是沒有自帶出圖的插件的,需要另外安裝,這里介紹最常見的插件pnp。在老男孩老師的視頻中,他所推薦的是0.4版本,并且建議不必選用更新的版本。雖說我同意他的觀點(diǎn),但本著研究學(xué)習(xí)的精神,我還是安裝了最新的0.6.25,安裝過程中碰到了很多問題,并一一解決了,這里做一下記錄。
前期準(zhǔn)備:
安裝Nagios和部署這里不再贅述,找到http://docs.pnp4nagios.org/ ,頁面是手冊(cè),下載的鏈接在上方。另外,pnp必須使用rrd-tool、perl,因此最直接就是yum install rrdtool* perl* ,并且需要注意打開apache的mod_rewrite功能(默認(rèn)是已經(jīng)打開了的)
下載安裝
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是用源碼默認(rèn)配置安裝,并且其他都通過yum安裝,那么照著官方的方法即可完成,安裝好后的路徑是/usr/local/pnp4nagios/,運(yùn)行時(shí)它所使用的用戶名和組均是nagios
當(dāng)我裝完后嘗試訪問pnp的頁面時(shí)發(fā)現(xiàn)無法出圖,在/usr/local/pnp4nagios/var/perfdata目錄下沒有生產(chǎn)數(shù)據(jù)文件,百思不得其解,百度一番后,發(fā)現(xiàn)原來0.6版的pnp與nagios 4.1.1有點(diǎn)“不兼容”,不能使用默認(rèn)的同步模式,要改為Bulk模式(塊模式)。
#################################################################################
# 打開pnp4nagios的log功能,其實(shí)這一步是可選的,并非一定要打開,但如果碰到了問題,打開了log功能會(huì)很方便排錯(cuò),所以建議打開。 #
#################################################################################
vi /usr/local/pnp4nagios/etc/process_perfdata.cfg
#把log_level改為2
# Loglevel 0=silent 1=normal 2=debug
#
LOG_LEVEL = 2
慎重起見重啟一下httpd和nagios服務(wù)
然后可以在tail /usr/local/pnp4nagios/var/perfdata.log里看到日志信息
我所碰到的問題是Cant find Nagios Environment. Exiting ....
然后百度一番,發(fā)現(xiàn)要改為使用Bulk模式
參考官方手冊(cè)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服務(wù)即可。由于采集需要一定的時(shí)間,不能立即在網(wǎng)頁界面看到數(shù)據(jù),但一般幾秒后,就可以觀察 /usr/local/pnp4nagios/var/perfdata目錄下是否有對(duì)應(yīng)的主機(jī)名的目錄生成,如果有,一般就是正常的了。如果仍不正常,就查看log文件去排錯(cuò)。
效果圖