監視ツールMoodss

Jean-Luc Fontaine氏は47歳。彼は物理学、武道、モーターサイクル、ブルース、フリーソフトウェアなど、実に幅広い趣味を持っている。現在はフランスのボルドーに住み、MISで働いている。

彼曰く、ここは世界最高のワインの産地である。ボルドーに落ち着く前は、シリコンバレー、日本、およびパリで働いていた。そして、フリーソフトウェアの趣味について言えば、彼がMoodssという監視パッケージを作成したときに書いたコードが、Eric Raymond氏の新しい著書『The Art of Unix Programming』の中で絶賛されている。Raymond氏の記述によると、「コードは洗練され、成熟しており、Tclコミュニティで模範と見なされている。」

Jean-Lucは1〜2週間前のGKrellMの記事を見た後で私にメールをくれて、彼のModular Object Oriented Dynamic SpreadSheet(Moodss)プロジェクトを一度見るように誘ってくれた。ここ数日間にわたってその機会に恵まれたので、以下に結果をご報告しよう。

GKrellMは、ある程度の本格的な監視機能を備えているものの、私の考えでは、本格的なシステム管理よりも一般のデスクトップ・ユーザ向けである。Moodssはそうではない。1997年の作成当初から、新しい機能を追加している現在に至るまで、Jean-Lucはネットワーク機器を監視するプロのシステム管理者タイプのニーズに応えようとしている。私には、GKrellMよりも彼のプロジェクトの方が業務に強いツールのように思える。もちろん、GKrellMをけなすつもりなど毛頭ない。私はGKrellMを愛用しているし、Jean-Lucによれば、彼はgkrellmd用のインタフェースに取り組んでいる。

私はMoodssのtarballをWebサイトからダウンロードし、それを展開して起動した。ここまでは実に簡単だ。メイン・ウィンドウは、一見シンプルに見える。この柔和な外見のすぐ下に、強力な機能が潜んでいる。それでは、その強力な機能を見ていこう。[File]->[Modules]->[Load]をクリックし、28個の組み込みモジュールのリストから「ps」を選択すると、次のようなポップアップ・メニューが表示される(その下に見えるのがメイン・ウィンドウ)。

Moodss monitor configuration [Load Modules]ウィンドウでは、組み込みモジュールをスクロール表示できる。もし読者が私と同様、システム管理者でないのなら、[Help]をクリックして個々の選択肢に関する詳しい情報を見る必要があるかもしれない。たとえば、「ps」を選択すると、-files、-f、-remote、-r、-users、-uの各選択肢が示される。これらの引数がどのような働きをするのかまるでわからなかったので、私は[Help]をクリックした。すると、各オプションの詳しい説明が書かれたヘルプ・ウィンドウが現れた。

-filesのチェック・ボックスでは、psモニタが表示する2つのウィンドウの最初のウィンドウに、プロセスごとに開かれたファイルの数を示す列を含めるかどうかを指定する。デフォルトでは、この列は含まれない。-rオプションを使うと、user@hostを指定して別のマシンをリモートから監視できる。-uオプションでは、ユーザ名のリストを入力できる。-remoteおよび-usersの入力ボックスは、それぞれ-rオプションと-uオプションの長い形式である。指定したユーザが所有するプロセスだけが表示される。必要に応じてオプションを設定するか、単にオプションをすべて無視した後、[Load]をクリックすると2つのスプレッドシート・ビューが作成される。

[File]->[Modules]にあるモジュール固有のヘルプの他に、ウィンドウ上部のメニュー・バーにある[Help]アイテムからもMoodssに関する膨大な量の情報にアクセスできる。その情報量は1万3千語以上に達する。これはウィンドウ内で読むには多すぎる量かもしれない。その場合は、HTML形式の同じ情報をオンラインで見ることができる。

Moodssでしばらく遊んでいるうちに、徐々にコツがつかめてきた。私はいくつかのモニタを追加し、パレット上で好みの配置にした。そして、それらすべてを実行しながら、少しいじって試してみた。すると、モニタを追加する際に更新サイクルが60秒に変更されていたことに気付いた。これでは私には遅すぎる。[View]->[Poll Time]を選択すると、更新間隔を最短10秒に設定できることがわかった。それから、私はMoodssの別の機能を利用して、設定を保存した。これで、Moodssを起動し、GUIからその「ダッシュボード」ファイルを読み込めるようになった。私の「ダッシュボード」の例を次に示す。コマンド行から「moodss -f dashboard-filename」と入力しても同じことができる。

Moodssには、実行中のさまざまなモニタのスプレッドシート・ビューから、各種のビューアにセルをドラッグ・アンド・ドロップできる優れた機能も用意されている。ビューアとは、棒グラフ、円グラフ、折れ線グラフなどのグラフィック表示のことである。

前に述べたように、私はどう考えてもシステム管理者ではない。しかし、ネットワーク上のマシンごとに別々のMoodss設定ファイルを保存して、個々のマシンで何が起きているか(または起きていないか)をほぼ瞬時に知ることができればどれほど便利かはわかる。

moodssホームページには、Apache Webサーバを監視するように設定されたさまざまなモニタが含まれる「ダッシュボード」のスクリーンショットがある。この画面では、いろいろな種類のビューアが用途に応じて使われている。

moodssはデータベースの監視にも活用できる。Moodss/MySQLのページによると、MoodssにはMySQLに対応する8種類のモニタが付属している。使用中のデータベースが快調で、監視する必要がないのであれば、そのデータベースを利用して、Moodssの監視データを長期的に格納することができる。

必要なモニタが最新版のMoodssに見あたらなくても、あきらめることはない。PyMoodssプロジェクトを確認してみよう。IBMでは、Linuxが動作するメインフレーム上でMoodssを実行しており、100インスタンスのLinuxを実行しているときに使用中のハード・ディスクを監視するために、いくつかのモニタを拡張している。

Moodssに対するJean-Lucの取り組みはまだ続いている。彼は、多くの重要な新機能の計画があることを電子メールで教えてくれた。具体的には、複数のセル/モニタからのデータが含まれる式を表示する新しいビューア、Linuxカーネルのバージョン2.6に対応するアップデート、ユーザ定義のしきい値に従って色が変化するアイコン、およびJavaのモジュールに言及していた。

Moodssは、既にSuSE ProディストリビューションとDebianに収録されている。Jean-Lucによると、彼はFedoraプロジェクトに協力しており、新しいFedora Core用のRPMをまもなく準備できるかもしれないそうだ。バイナリ、RPM、およびソースは、すべてWebサイトから入手できる。マシンを監視する必要があるのなら、Moodssを活用することを真剣に検討してみてはいかがだろうか。