Webインタフェースでマシンを監視する4つの方法:Leverage OSS(2/5 ページ)
システム管理者は、サーバの状態にたえず目を光らせ、順調に稼働しているかどうかを確かめる必要がある。問題発生時には、データを素早く分析できる手段が必要だ。この記事では、Webインタフェースから1台または複数のサーバを監視できるツールを幾つか紹介する。
collectd
collectdプロジェクトの目的は、システムの情報を定期的に収集することにある。tarballにはこうした情報を解析するためのWebインタフェースが含まれているが、同プロジェクトはこのインタフェースを最低限の機能しか持たないサンプルと位置付けており、collectdで集めた情報を処理するWebインタフェースを探している人のためにCactiのようなほかのプロジェクトを紹介している。
collectdには、Debian EtchとFedora 9の各パッケージのほか、openSUSEの1-Clickインストール用パッケージが用意されている。C言語で書かれ、デーモンとして動作するcollectdは、アプリケーションとしてのオーバヘッドが小さく、高頻度のロギングを行ってもシステムに大きな負荷がかからない。
collectdパッケージのインストール時には、プラグインパッケージもチェックしておくとよい。collectdの大きな強みとして、データベース、UPS、システムパラメータ全般、NFSのような各種サーバのパフォーマンスなど、さまざまなシステム情報の監視機能が各種プラグインによってサポートされる点が挙げられる。一方で、こうしたプラグインの存在にパッケージャは手を焼いている。openSUSEの場合はplugins-allパッケージさえインストールすればよいが、Fedora 9ではパッケージ化されているバージョン(4.4.x)が古すぎてPostgreSQL用プラグインが含まれていない。さらに、Network UPS Tools(NUT)プラグインは、Debian、openSUSE、Fedoraのどのパッケージにも収録されていない。
今のところ、こうした問題に対する最も単純な解決策は、ソースからcollectdをビルドし、必要なプラグインについて設定を行うことだ。この記事を書いている段階でパッケージングされていないプラグインのうち、必要になりそうなものとして、NUT、netlink、postgresql、 iptablesがある。collectdのインストールは、例によって「./configure; make; sudo make install」で行う。ただし、コンパイル対象のプラグインを指定する場合は、configureの部分がもっと長くなる。
以下に、インストールの手順とわたしが選択したプラグインをコマンド列として示しておく。ここでは、contribディレクトリのinit.d起動ファイルを使っているほか、個人用のprefixによって一部のパスを変更して、collectdのインストール先を1つのディレクトリツリーに収めている。また、Fedora 9のlibnetlinkライブラリを取得するために、iproute2のコピーも作成している。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
今後、オプションのcollectdプラグインのパッケージ化が進めば、わざわざソースからビルドしなくても好みのビルドをインストールできるようになるだろう。
collectdを起動する前に、「etc/collectd.conf」を参照して、有効になっているプラグインとそれらのオプションの設定に問題がないことを確認しておこう。この設定ファイルでは、幾つかのグローバルオプションの定義の後に、collectdで使用するプラグインを指定する「LoadPlugin」行が続き、各プラグインの設定は
有効なプラグインとそれらのオプションの設定を確認したら、rootで「service collectd status」と実行してcollectdを起動する。
collectdによる収集データを参照するには、付属のWebインタフェースか、Cactiのような別のプログラムをインストールする必要がある。collectdに付属する簡単なCGIスクリプトをインストールする手順と、このスクリプトを動作させたときのスクリーンショットを以下に示す。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
collectdのデータをKDEデスクトップ上に表示したい場合は、kcollectdの利用を検討するとよい。誕生して間もないプロジェクトだが、すでに有用性が認められている。また、生成されたRRDtoolファイルはCactiでも利用できる。ただし、非常に長々とした設定をグラフ別に行う必要がある。
collectdの主眼はあくまでシステム監視の機能にあり、付属のWebインタフェースは人寄せのためのサンプルでしかない。また、C言語で書かれたデーモンなので、システム側のオーバヘッドを最小限に抑えて実行できる。
Copyright © 2010 OSDN Corporation, All Rights Reserved.