ジャンル:サーバー監視ソフト ライセンス:GPL
作者:Ethan Galstad氏ほか URL:http://nagios.org/

 Nagiosは,サーバーの稼働状態を監視するソフトウエアである。システムの異常を検知すると,それを管理者にメールで報告する機能などを備える。Webインタフェースによるステータス閲覧やレポート出力もできる。

 サーバーの稼働状況を監視するのは,システム管理者の役目である。システム管理者は,サービス停止などの異常をいち早く見つけ,それに迅速に対処しなければならない。しかし,24時間365日,常にサーバーを監視するのは大変である。特に複数台のサーバーを管理している場合はなおさらであり,監視漏れなどが生じやすい。きちんと管理するには,複数台のサーバーを常時一括監視できる「監視ソフト」の導入が望ましい。

 Nagiosは,有償ソフトに匹敵するほどの充実した機能を持つ,フリーの監視ソフトである。基本機能は,サーバーにPINGを飛ばしての「死活チェック」と,クライアントとしてサーバーにアクセスして稼働状況を監視する「アクティブ・チェック」だけだが,さまざまなプラグインを利用することで多様なサーバー機能をチェックできる。TCP/UDP汎用のプラグインも用意されているため,独自プロトコルを利用したサービスの監視にも対応可能だ。

 また,外部のソフト(アドオン・ソフト)と組み合わせる(または追加する)ことで,監視対象からのイベントを検知する「パッシブ・チェック」や,監視エージェントを通じたサーバーのリソース監視などに対応する。

 監視結果は基本的にメールでシステム管理者に通知する。Webインタフェースによるステータス閲覧やレポート出力も可能だ(写真1)。

写真1●Nagiosによるサーバー監視状況のレポート出力
写真1●Nagiosによるサーバー監視状況のレポート出力
Nagiosは高機能なサーバー監視ソフトである。Webインタフェースを通じて,監視結果をグラフなどで出力できる。
[画像のクリックで拡大表示]

Nagiosのインストール

 Nagiosをソース・コードから導入するには,結構手間がかかる。しかも,各種サーバーのチェック機能を担当するプラグインが数多く必要になり,それらをコンパイルして導入する必要がある。そこで,ここではLinuxディストリビュータが用意するバイナリ・パッケージを用いたインストール方法を説明する。

 Fedora Core 5では,Nagiosとその関連ソフトのバイナリ・パッケージはExtrasリポジトリで配布されている。以下,Fedora Core 5を例にインストール方法と設定手順を紹介する。なお,Fedora Core 5は,「Webサーバー」をチェックし,SELinuxを「Enforcing」(有効)にしてインストールしたものを用いた。

 Nagiosのインストールは,インターネットに接続した状態で次のようにyumコマンドを実行するだけだ。本記事で用いるコマンドはすべて,root権限で実行する。

# yum -y install nagios nagios-plugins-all

 ここではプラグインを全種類インストールしているが,低速なインターネット接続回線を使っている場合は必要なプラグインだけをインストールしてもよいだろう。主なプラグインとそれらのプラグインの機能を表1に示す。

表1●Fedora Core 5の主なNagiosプラグイン・パッケージ
表1●Fedora Core 5の主なNagiosプラグイン・パッケージ
[画像のクリックで拡大表示]

 なお,SELinuxを有効にしているため,SELinuxのラベル設定の関係で, NagiosのWebインタフェースが動作しない。そのため,図1の手順でラベル設定を変更する必要がある*1

図1●SELinuxの規制を緩和するラベル設定
図1●SELinuxの規制を緩和するラベル設定
これらのディレクトリのラベル設定を変更しておかないと,SELinuxの機能によりCGIプログラムの起動や動作が制限される。
[画像のクリックで拡大表示]

 さらにシステムの動作を高速化するための「prelink」関連の警告が表示されるため,/etc/prelink.confファイルに次の1行を追加しておく。

-b /usr/lib/nagios/cgi-bin 

 x86-64版(AMD64/Intel64向け)のFedora Core 5を使っている場合は,この行の代わりに次の行を追加する。

-b /usr/lib64/nagios/cgi-bin 

 ここまで終了したら,Webインタフェースの認証用データベースを作成する。それには,図2の通りにコマンドを実行する。ここでは,「nagios」というユーザーの情報を作成している。さらに別のユーザー情報を追加する場合は,「-c」オプションは指定しない。

図2●Webインタフェースを利用するユーザーの認証情報を設定する
図2●Webインタフェースを利用するユーザーの認証情報を設定する
「nagios」というユーザーの認証情報を設定する例である。 [画像のクリックで拡大表示]