SYONテクニカル
Nagiosグラフツール(pnp)
サイオンコミュニケーションズ株式会社
脇山 善宣
 

1.はじめに

18 Nagiosでのネットワーク監視 で、Nagiosのセットアップが紹介されていますが、今回は、pnpというツールを使用して、Nagiosをグラフ化する方法について紹介していきます。
 

2.pnpとは

Nagiosをグラフ化する為のツールであり、MRTG等のように、目視で現在のトラフィック状況を確認するためのツールです。
 
 

3.マシン環境

FreeBSD 7.0
nagios-2.12
apache-2.2.8
pnp-0.4.10
rrdtool-1.2.26
php5.2.6
 

4.pnpのインストール・設定

4-1.pnpのインストール
portsには、pnpが無いのでpnp公式イトからソースのダウンロードします。
ダウンロードしてきたソースを、WinSCP等を利用しNagiosサーバ上の/usr/local/srcなど(自分の好きな場所)に置きます。
 
ファイルのアップロードが完了後、サーバにログインし下記コマンドにて、ソースの展開・インストールを実行します。
※事前にrrdtoolが入っていないと、コンパイル時にエラーをはいてストップしますので、注意してください。
※デフォルトでは、/usr/local/nagios 直下にファイル群が生成されます。

# cd /usr/local/src

# tar -zxvf pnp-0.4.10.tar.gz

# cd /pnp-0.4.10

# ./configure

# make all

# make install-config

# make clean

4-2.pnpのディレクトリ移動・初期動作確認

/usr/local/nagios/share/pnpを、ブラウザから見える位置にコピー。

# cp -r /usr/local/nagios/share/pnp /usr/local/www/nagios

※実環境に合わせてください。

※必要に応じて、権限や所有者を変更してください。
 
コピー後にブラウザからサイトの確認をします。

http://NagiosサーバIP/pnp/index.php

上記アドレスを入力すると、pnpが表示されましたでしょうか?
もし、下記の様なエラーが表示された場合、
PHP “PHPモジュール名” Support not found.
該当のPHPモジュールをインストールしたりし、問題を回避してください。
 
初期の段階で、問題なければ下記のような画面が表示されます。
nagios インストールログ 

4-3.pnpの設定

pnpの各sampleファイルをコピーします。

# cd /usr/local/nagios/etc/pnp/

# cp npcd.cfg-sample npcd.cfg

# cp rra.cfg-sample rra.cfg

# cp process_perfdata.cfg-sample process_perfdata.cfg

 

nagios.cfgの下記箇所を変更します。

 

#process_performance_data=0

 ↓コメントを外して1に変更。

process_performance_data=1

 

#host_perfdata_command=process-host-perfdata-file

 ↓コメントを外す

host_perfdata_command=process-host-perfdata-file

 

#service_perfdata_command=process-service-perfdata-file

 ↓コメントを外す

service_perfdata_command=process-service-perfdata-file

 

#host_perfdata_file_mode=a

 ↓コメントを外す

host_perfdata_file_mode=a

#service_perfdata_file_mode=a

 ↓コメントを外す

service_perfdata_file_mode=a

次に、command.cfgに下記を記述します。

define command {

  command_name    process-service-perfdata

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

}

 

define command {

  command_name    process-host-perfdata

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

}

※/usr/bin/perl /usr/local/nagios/libexec/process_perfdata.pl -d HOSTPERFDATA は1行です。
 
 
4-4.pnp動作確認
Nagiosユーザにて下記コマンド投入

# /usr/local/nagios/libexec/process_perfdata.pl

エラー等表示されなければOK。
 

5.ブラウザから動作確認

5-1.httpd.conf編集
Apacheのhttpd.conf内の”DirectoryIndex”にindex.phpを追記する。
#vi /usr/local/etc/apache/httpd.conf
#####httpd.conf内#######

<IfModule dir_module>

    DirectoryIndex index.html index.php

</IfModule>

 

編集後にApacheを再起動。

# /usr/local/etc/rc.d/apache22 restart

 

5-2.動作確認
下記アドレスを入力

http://NagiosサーバIP/pnp/

初めは何もグラフに表示されませんが、少し時間が経つと、下図のようにトラフィックがグラフで表示されます。
 pnp 適用後の Nagios
 
5-3.メニュー概要
右ペインに表示されるメニューは、直観で操作できるようなわかりやすいメニューになっています。

 

nagios のメニュー

6.最後に

nagiosだけではリアルタイムでのトラフィック等がわかりづらい。そういった場合、pnpを利用することにより、視覚的にトラフィックが見やすくなるツールであると感じます。また、PDF形式のレポートがクリックだけで作成できますので、その点においても使い勝手がよいツールだと感じます。
設定もさほど難しくないので、サーバの監視・運用などにnagiosを使用されている方は、一緒にpnpも取り入れてみてはいかがでしょうか?
 
Copyright 1999-2012 SYON Communications, Co. All rights reserved