TOP設計・移行・活用> Aliciaの登場
OSS適用システムの障害解析ツール
OSS適用システムの障害解析ツール

第1回:ダンプ解析ツールの現状と必要性
著者:ユニアデックス  前原 志好   2005/6/14
前のページ  1  2  3  4
Aliciaの登場

   ここまでに紹介したツールはともに素晴らしいツールであるが、ダンプを解析するプラットフォームの必要条件(操作性、解析スピード、ノウハウの蓄積など)に関して不満が残る。これらをコマンドライン、インターフェース、簡易解析スクリプト、解析ノウハウの共有化という4つの視点で比較した結果を既存ダンプツールの現状の課題として表1にまとめてみた。
課題 内容
コマンドライン crashではGNU Readlineを一部採用しており馴染みやすい。lcrashは独自のコマンドライン編集である。
インターフェース lcrashとcrashではコマンド体系が異なる。また、lcrashはnetdumpフォーマットのダンプには対応していなかった(最新バージョンでは対応)。また、それぞれのコマンドの表示形式を変更するだけでも、ソースコードを修正しコンパイルし直すか、拡張コマンドを作成する必要があった。
簡易解析スクリプト(インタープリタ) lcrashではsial言語で記述可能な環境を用意している。カーネルの変数、構造体にアクセスできるのは便利だが、簡易にすぐに記述するのは難しい。crashでは拡張コマンドとしてC言語で記述する動的ライブラリを用いる方法しかない。
解析の共有化 ダンプ解析者によるそれぞれのツールのコマンドを使った解析の手順がライブラリ化されていない。

表1:既存ダンプツールの現状の課題

   これらの課題を解決すべく登場したのが、新ダンプ解析ツールAliciaである。Aliciaの開発にあたっては、メインフレームOSのサポートで長年培ってきたダンプ解析ノウハウをベースに、短い開発期間でいかにダンプ解析者の利便性を高めるかに焦点をあてた開発方針を策定し、以下の開発要件を設定した。

  1. 既存のツール(crash、lcrash)をそのまま使える
  2. 既存のコマンドの実行結果を別のコマンドで利用できる
  3. 解析のノウハウを軽量言語のスクリプトとして蓄積できる

    つまり、一からすべてを開発するのではなく、既存のツールのよいところは生かしつつ、軽量言語で既存のツールをラッピングし、ツール間で共通のインターフェースを利用できる統合型解析ツールとすることで、開発要件を実現しようとしたものである。Aliciaを作成することにより、ダンプ解析の環境は以下のようになる。

   ちなみに、軽量言語にはPerlを採用した。なぜPerlを選んだのかについては、第2回で触れる予定である。

ダンプ解析環境におけるAliciaの位置付け
図2:ダンプ解析環境におけるAliciaの位置付け
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Aliciaの重要なポイントは、解析の手順(ノウハウ)をPerlのスクリプトとして残せることである。一度誰かが解析した手順を残しておくことで、他のダンプを解析する場合に、瞬時にその手順をスクリプトとして実行できることは大きな利点である。

   これは、誰かが考えた料理のレシピ(手順)をメモ書きしておくことで、別の人が簡単にその料理を作り出す(解析結果を得る)ことができるのと似ている。

   もちろん、「ダンプ解析とは?」の例で述べたように、カーネルのバージョン、ハードウェア、運用方法などにより採取されるダンプの内容は毎回異なる。人間でも年齢や病気の進行具合などにより、その原因を追求する方法は同じではない。その場合、もし、既に似た症状の原因追求方法(手順)が残されていたなら、その手順に手を加えることで新しい患者にもすぐに対応できるようになる。このように簡単に修正を加えられることは、軽量言語の利点である。

   次回は、実際にAliciaを導入し、解析スクリプトを作成するところを紹介する。

前のページ  1  2  3  4


ユニアデックス株式会社 前原 志好
著者プロフィール
ユニアデックス株式会社  前原 志好
日本ユニシス(株)入社後、米国UNISYS製メインフレームのカーネルを担当する。2004年4月から、所属組織ごとユニアデックス(株)に転籍。その後OSS関連作業に着手。今年は、メインフレーマーとの掛け橋(トランスレータ)役を担当する。


INDEX
第1回:ダンプ解析ツールの現状と必要性
  はじめに
  lcrash
  crash
Aliciaの登場