Nagios Business Process Intelligence (BPI)はサービスの状態やホストの状態の依存関係を作り、グループ化して表示、監視するNagiosのAddI-Onです。複雑なサービスの依存関係や、サービス、ホストの重要度を柔軟に定義することができNagiosと組み合わせて使用することで、より複雑な監視に対応することが可能です。
本家サイトでPDFの説明書が提供されていますので、一読しておくとよいかもしれません。なお、今回はNagiosBPIで日本語を扱えるように、若干の修正を入れたいと思います。
まずは、Nagios BPIをダウンロードします。
wget http://assets.nagios.com/downloads/exchange/nagiosbpi/nagiosbpi.zip
BPIはNagiosのWebUIのディレクトリに展開することにします。
cd /usr/share/nagios unzip nagiosbpi.zip
パーミッションの変更スクリプトが付属しているので、スクリプトに実行権限をつけて、実行します。
cd nagiosbpi chmod +x set_bpi_perms.sh ./set_bpi_perms.sh
次に、設定ファイルを変更します。パスを環境に合わせて記載してください。
vi constants.conf #STATUSFILE=/usr/local/nagios/var/status.dat STATUSFILE=/var/nagios/status.dat #OBJECTSFILE=/usr/local/nagios/var/objects.cache OBJECTSFILE=/var/nagios/objects.cache #CONFIGFILE=/usr/local/nagiosxi/html/includes/components/nagiosbpi/bpi.conf CONFIGFILE=/usr/share/nagios/nagiosbpi/bpi.conf #CONFIGBACKUP=/usr/local/nagiosxi/html/includes/components/nagiosbpi/tmp/bpi.conf.backup CONFIGBACKUP=/usr/share/nagios/nagiosbpi/tmp/bpi.conf.backup
ここで、ブラウザを起動して動作確認を行います。サンプルがいくつか登録されていますので、参考にしてください。たとえば、冗長化されたWebサーバ10台のうち3台以上が停止したら、警告などという設定も可能です。
http://<nagios server ip>/nagios/nagiosbpi
さて、このWebUIは見た目にも、サービスを把握しやすく便利なのですが、残念なことに日本語に対応していません。しかし、若干の修正を加えることで、Display Nameとについては、日本語を扱うことが可能です。
下記のファイルを編集し、htmlentitiesの3番目の引数をUTF-8と指定してください。
vi /usr/share/nagios/nagiosbpi/functions/process_post.php 65 $title = htmlentities(trim($array['groupTitle']),ENT_COMPAT | ENT_HTML401,"UTF-8"); 66 $display = htmlentities(trim($array['groupDisplay']),ENT_COMPAT | ENT_HTML401,"UTF-8"); 69 $desc = (isset($array['groupDesc']) ? htmlentities(trim($array['groupDesc']),ENT_COMPAT | ENT_HTML401,"UTF-8") : '');
これで、Display Nameとについては、日本語も扱うことができます。
ここまでの設定で、Nagios BPI のインタフェースの設定は、完了しました。これだけだと、Nagios BPIでのステータスがNagiosからは見えてきませんので、チェック用のプラグインの設定を行います。
mv check_bpi.php /usr/lib64/nagios/plugins/ vi /usr/lib64/nagios/plugins/check_bpi.php $file = '/usr/share/nagios/nagiosbpi/api_tool.php';
では、ちょっと試験をして見ます。サンプルとして登録されている、LocalServicesはGroupIDが、「localServices1」となっていますので、引数にこのGroupIDを指定します。
/usr/lib64/nagios/plugins/org/check_bpi.php localServices1 Group state is: Ok; 0 Child Problems
と、「localServices1」が正常であることを確認することができました。
あとは、Nagiosのコマンドコンフィグとサービスコンフィグ、ホストコンフィグを登録sれば、監視を行うことができます。マニュアルに、ホストコンフィグではダミーのIPを指定するとよいとのことです。























最近のコメント