PNP4Nagios是一個用于顯示Nagios性能圖表的插件,基于RRDTool日志分析,并以Kohana(一個PHP開發架構)呈現在Web端,可以以Action Url的形式內建到Nagios中。
效果如圖
當滑鼠移至每個伺服器的齒輪處,可以顯示圖表的預覽
當滑鼠移至某個伺服器監控的服務時,可以顯示圖表的預覽:
點選齒輪後,彈出新頁面,顯示圖表的詳細情況,注意右邊可以把圖表輸出成PDF格式:
A、安裝相關環境
需要安裝rrdtool及相關工具,此工具編譯起來非常煩人,受不了的話可以從網上找第三方源。
B、安裝PNP4Nagios
下載下傳後
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make all
make install
make install-webconf
make install-config
make install-init
#使用下面這條指令可以替換所有的make指令
make fullinstall
C、配置PNP4Nagios
PNP4Nagios有三種工作模式,分别是Synchronous Mode、Bulk Mode和Bulk Mode with NPCD,下面以Synchronous Mode來配置PNP4Nagios。
修改Nagios的主配置檔案
vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata
修改Nagios的command.cfg配置檔案
vi /usr/local/nagios/etc/objects/commands.cfg
#增加以下兩個指令
#process-service-perfdata command definition
define command {
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
#process-host-perfdata command definition
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
注意:commands.cfg已經定義了相應指令,需要先注釋掉。否則後面重新開機Nagios時,會因為配置檔案中指令重複而報錯。
D、檢查PNP4Nagios是否正确安裝
如果所有的環境都配置正确了,删除或重命名install.php檔案
mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.bak
E、将性能圖內建到nagios的web頁面中
vi /usr/local/nagios/etc/objects/templates.cfg
#在最後添加
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
register 0
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
讓PNP4Nagios顯示的性能圖表在Nagios的主機或服務中顯示,需要在定義主機和服務時加入host-pnp和srv-pnp配置執行個體。
具體修改檔案視Nagios中定義而定,下面隻是一個示例,主要的修改就是在use行加入相應的模闆。
vi /usr/local/nagios/etc/server/linuxsever.cfg
define host{
use linux-server,host-pnp ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name 192.168.1.106
alias 192.168.1.106
address 192.168.1.106
}
define service{
use generic-service,srv-pnp ; Name of service template to use
host_name 192.168.1.106
service_description PING
check_command check_ping!100.0,20%!500.0,60%
注:如果有多個主機和服務,每一個定義中都需要加入。
F、重新開機Nagios服務
/etc/init.d/nagios restart
G、彈窗方式顯示性能圖表
上面的方法必須點選主機或服務後面小太陽圖示才能檢視相應的性能圖表,下面的方法可直接在Nagios頁面中以彈出視窗顯示性能圖表。
cp pnp4nagios-0.6.13/contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi/
注:contrib/ssi/status-header.ssi在源代碼目錄中
status-header.ssi檔案必須沒有執行權限
修改Nagios的模闆檔案
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
注:如果按文中之前的方式定義過,請先注釋掉。
重新開機Nagios服務
本文轉自 安安安安森 51CTO部落格,原文連結:http://blog.51cto.com/smallc/1230673,如需轉載請自行聯系原作者