クラウド環境における問題の特定
トラブルシューティングとは、問題を解決するための体系的なアプローチのことです。 その目標は、何かが期待したとおりに機能しない理由と問題の解決方法を判別することです。
トラブルシューティングのプロセスにおける最初のステップは、問題を完全に記述することです。 問題の説明がない場合は、 IBM® もお客様ご自身も、問題の原因究明をどこから始めればよいかがわかりません。 このステップには、以下のような基本的な質問が含まれています。
一般に、これらの質問に対する答えが、問題の適切な記述につながり、それが問題解決に向けての最善の方法となります。
問題の症状はどのようなものか
問題の記述を開始すると、最も分かりやすい質問は
何が問題なの ?のようになります。 この質問は単純なように思われますが、問題をより明確に説明する、的を絞ったいくつかの質問に分割することができます。 このような質問には以下が含まれます。
- 誰が、または何がその問題をレポートしたか。
- どのようなエラー・コードおよびメッセージが出されたか。
- システムにどのような障害が起きるか。 例えば、ループ、ハング、ロック、性能低下、結果の誤りなどです。
- その問題は業務に対してどのような影響があるか
問題がどこで発生したか
問題の発生源を特定することは必ずしも簡単ではありませんが、問題解決における最も重要なステップの 1 つです。 障害を報告しているコンポーネントと障害が起こっているコンポーネントの間には、テクノロジーの多くのレイヤーが存在する可能性があります。
問題が報告された層が、必ずしもその問題の発生源であるとは限らない点に注意してください。 問題の発生源を識別するには、その問題が存在する環境を知ることが不可欠です。 ある程度時間をかけて、問題の環境を完全に記述してください。 以下の質問は、問題の発生場所に焦点を当てるのに役立つ場合があります。
- クラウド・サブスクリプションが複数ある場合、どのサブスクリプションが影響を受けているか
- どのワークフロー・サーバー環境 (例えば、開発環境または実稼働環境) が影響を受けているか
- どのアプリケーションが影響を受けているか
- そのアプリケーションによってどのサービスが呼び出されるか。それらのソフトウェア・バージョンおよびハードウェア情報は何か。
問題がいつ発生するか
障害発生に至るイベントについて、特に発生が 1 回限りのケースについて、詳しい時系列対照表を作成してください。 作業を逆方向に行うのが最も簡単です。エラーが報告された時間から始めて (ミリ秒単位に至るほどにできるだけ正確に)、使用可能なログおよび情報を逆に遡って行きます。 通常は、診断ログ内で最初に見つかる疑わしいイベントまで調べれば十分ですが、これは必ずしも容易ではなく、訓練が必要です。 複数のテクノロジーの層が関係しており、それぞれに独自の診断情報がある場合には、どこまで調べるかという判断が特に難しくなります。
イベントの詳細な時系列対照表を作成するには、以下の質問に回答してください。
- 問題は日中または夜間の特定の時刻においてのみ発生するか。
- 問題の発生頻度はどの程度か。
- 問題が報告される時点までに、どのような順序でイベントが発生したか。
- 環境の変更 (ソフトウェアまたはハードウェアのアップグレードやインストールなど) の後に問題が発生したか。
このようなタイプの質問に回答することによって、問題を調査するための枠組みが得られます。
問題はどのような状況で発生するか
問題が発生したときに、他にどのようなシステムおよびアプリケーションが実行されていたかを知ることは、トラブルシューティングにおいて重要です。 ご使用の環境についての以下の質問は、問題の根本原因の特定に役立ちます。
- 問題が発生するのは、いつも同じタスクを実行しているときか。
- 問題が表面化するには、特定の順序でイベントが発生する必要があるか
- 同時に他のアプリケーションにも障害が発生するか。
このようなタイプの質問に回答すると、問題が発生する環境を説明し、依存関係を相互に関連付けるために役立ちます。 単に同じような時刻に複数の問題が発生していても、必ずしもそれらの問題に関連があるとは限らないことに留意してください。
問題を再現できるか
トラブルシューティングの観点から、
「理想的」な問題は再現可能な問題です。 通常、再現できる問題の場合は、調査のために自由に使用できるツールや手順の数が多くなります。 そのため、再現できる問題は多くの場合、デバッグや解決がより簡単です。 ただし、再現できる問題には欠点があります。つまり、その問題がビジネスに大きな影響を与える場合、問題が再発することは望ましくありません。 可能であれば、テスト環境または開発環境で問題を再現してください。こうした環境は、通常、調査時により大きな柔軟性と制御をもたらします。
ヒント: シナリオを単純化して、問題を疑いのあるコンポーネントに切り分けます。
以下の質問は、問題の再現に役立つ場合があります。
- 他のクラウド環境で問題を再現できるかどうか。 例えば、問題が開発環境で発生した場合、その問題は実稼働環境でも発生するか。
- 複数のユーザーまたはアプリケーションで同じタイプの問題が発生しているか。