PNP4Nagios - http://www.pnp4nagios.org/
NOTE: 必須事先安裝及設定好 Nagios
必要的套件
yum install gcc perl-Time-HiRes rrdtool-perl make
tar xzf pnp4nagios-0.6.21.tar.gz cd pnp4nagios-0.6.21 ./configure
NOTE:
如果 Nagios 的系統帳號與群組不是預設的 nagios,必須加上參數
./configure --with-nagios-user=icinga --with-nagios-group=icinga
如果出現以下訊息,表示 configure 完成
*** Configuration summary for pnp4nagios-0.6.21 03-24-2013 ***
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.3.8
RRDs Perl Modules: FOUND (Version 1.3008)
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/httpd/conf.d/pnp4nagios.conf
Review the options above for accuracy. If they look okay,
type 'make all' to compile.
開始編譯
make all make fullinstall
編輯 /etc/httpd/conf.d/pnp4nagios.conf
... AuthUserFile /etc/nagios/htpasswd.users <-- 將這行改成與 Nagio 設定相同 ...
瀏覽首頁:http://xxx.xxx.xxx.xxx/pnp4nagios/
如果頁面的內容沒有出現錯誤,將以下檔案作更名
mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.xxx
編輯 /etc/nagios/nagios.cfg
process_performance_data=1 service_perfdata_command=process-service-perfdata host_perfdata_command=process-host-perfdata
編輯 /etc/nagios/objects/commands.cfg
define command { command_name process-host-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HO STPERFDATA } define command { command_name process-service-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl }
編輯 /etc/nagios/objects/templates.cfg
define host { name generic-host ... process_perf_data 0 ... } define service { name generic-service ... process_perf_data 0 ... }
編輯 /etc/nagios/objects/MES-servers.cfg,在 host 或 service 的設定裡加上 process_perf_data 1
註:MES-server.cfg 是以筆者環境為例
define host { use generic-host host_name ap1 ... process_perf_data 1 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ ... } define service { use generic-service host_name ap1 service_description PING ... process_perf_data 1 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ ... }
從 pnp4nagios 安裝程式裡複製 status-header.ssi
cp <pnp4nagios 原始程式目錄>/contrib/ssi/status-header.ssi /usr/share/nagios/ssi
NOTE:
此檔不可有執行的權限
/usr/share/nagios/ssi 此目錄會因為 nagios 安裝版本不同有所差異
編輯 /etc/nagios/objects/MES-servers.cfg,改變 action_url
define host { use generic-host host_name ap1 ... process_perf_data 1 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ ... } define service { use generic-service host_name ap1 service_description PING ... process_perf_data 1 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ ... }
Performance Data 格式
label=value[UOM];[warning-range];[critical-range];[min];[max]
HTTP 輸出資訊範例
HTTP OK: HTTP/1.1 200 OK - 46869 bytes in 0.294 second response time | time=0.294561s;;;0 size=46869B;;;0
NOTE:
資訊內容從 | 符號以後的就是 Performance Data
Performance Data 格式更多詳細資訊如下: