オンラインセミナー

前回のブログ(Root Cause Analysis自動で根本原因分析できるの? その1)で、今までの相関アプローチではシステム障害の根本原因特定には向いていないとお伝えしました。今回は、Root Cause Analysisを実現するための3つの相関アプローチについてご紹介します。

レイヤー間の相関を把握する

OSIモデルは、レイヤー間の依存関係を表現しているモデルの一つです。「あ・ぷ・せ・と・ね・で・ぶ」と暗記したあのOSIモデルです。

物理層に障害が発生するとアプリケーションの正常動作に大きな影響を与えるように、上位レイヤーの正常動作は下位レイヤーに大きく依存しています。このことからもレイヤー間の依存関係を理解することが、根本原因を分析する上で有効であることが分かると思います。しかし、OSIはプロトコルスタックに焦点を当てているため、システムの根本原因分析には最適ではありません。

では、何を基準にレイヤーを定義するべきなのでしょうか? イメージしづらいかもしれませんが、各アプリケーションやネットワークデバイスの“重要な機能や役割”をレイヤーとして定義するべきです。そのため、OSIのように標準的なレイヤーモデルではなく、利用するアプリケーションやネットワークデバイスごとに異なるレイヤーが必要となります。

blog_20150814_01.gif

少し分かりにくいので、簡単な例でご説明します。例えば、IISウェブサーバを監視しているとします。ひと口でIISウェブサーバの監視といっても様々な監視項目がありますので、監視項目を適切なレイヤーに分類します。仮に「ウェブサーバレイヤー」「OSレイヤー」という二つのレイヤーがあったとして、この2つのレイヤーで異常が見つかったとします。上位レイヤーで異常を検知した監視結果が下位レイヤーの異常と相関のある項目であれば、上位レイヤーの正常動作は下位レイヤーに大きく依存するというロジックを当てはめ、「OSレイヤーの障害が原因でウェブサーバレイヤーに影響を与えていた」となります。

このレイヤーモデルは、アプリケーションやネットワークデバイス“単体のレイヤー間の相関”を理解し、障害原因を切り分けていくために必要な相関アプローチです。 実際には、複数のアプリケーションやネットワーク機器の中から原因を特定していくことになりますので、このレイヤーモデルという相関アプローチだけでは、根本原因を特定することはできません。

アプリケーション間の相関を把握する

2つ目の重要な要素はサービストポロジーです。レイヤーモデルはアプリケーションやネットワークデバイス単体のレイヤー間の依存関係を理解するための相関アプローチですが、それに対して、サービストポロジーはアプリケーション間やアプリケーションとネットワークデバイス間の相関を理解するための仕組みです。

blog_20150814_02.gif

サービストポロジーとは、あるサービスに関連した全てのアプリケーションやネットワークデバイスの構成図のようなものです。そして、このサービストポロジーはユーザ、ネットワーク機器、ウェブ、アプリケーション、データベースなどのデータフローが分かるようになっていることが重要です。 また、このトポロジーは論理トポロジーである必要があり、例えば、同じホスト上で二つのアプリケーションが実行されていた場合は、別々のアプリケーションとしてトポロジー上に表示されていなければなりません。

さらに、アプリケーションにトラブルが発生した場合にその影響が及ぶ方向を矢印で示しておくことで、1つのアプリケーションの障害が他のアプリケーションなどに波及し、影響する範囲や方向を把握できるようになります。

ネットワークとアプリケーションの相関

障害はネットワーク機器が原因の場合もあります。ネットワークの依存関係を把握するために、ネットワーク接続とルータのトポロジーであるルーティング情報をベースに、ネットワークとアプリケーションのアラームの優先順位をつけます。これが、第3の相関です。

例えば、サーバに接続できない状況で、サーバへの経路途中にあるルータにも到達できない場合には、ネットワークに問題があると判断されます。

まとめ

今回は、障害根本原因分析に必要な3つの相関アプローチのベーシックな部分をご紹介させて頂きました。この3つのアプローチを組合せ、根本原因を切り分けていくことで精度の高いRoot Cause Analysisが実現します。どのアプリケーションやネットワーク機器が問題なのか?どのレイヤーが問題なのか?具体的なエラーは何か?この問題の影響範囲は?を把握するために必要な要素です。

img_aa01new03.jpg

ご存じの方も多いと思いますが、既に、Root Cause Analysisの自動化を実現したツールやサービスがいくつかありますので、ご興味のある方は、3つの相関アプローチを参考に各社のRoot Cause Analysisの手法の比較にお役立て頂ければと思います。

また、ご紹介したサービストポロジーやレイヤーモデルの概念は、Root Cause Analysisの自動化にかかわらず、障害原因の特定に有用ですので、自社のサービストポロジーマップやレイヤーモデル、監視項目一覧などの作成の参考にして頂ければと思います。

ブログ購読

ブログの最新情報、ニュース、トレンド情報をお届けします。
ハイブリッドクラウドやシステム運用に役立つ情報をご紹介しています。

最新記事