Message Analyzer を使用した Microsoft Azure Storage のトラブルシューティング
このポストは、1 月 27 日に投稿された Troubleshooting Microsoft Azure Storage with Message Analyzer の翻訳です。
概要
クラウド ストレージ アプリケーションで想定していない問題が発生すると、診断やトラブルシューティングは非常に複雑になります。問題が発生した場合、複数のログ ファイル (Azure Storage Analytics、Azure Storage Client Library のクライアント側のログ、ネットワーク トレース) の解析や分析を行うことにより、問題を完全に把握して影響を抑えることが必要です。これを支援する機能として、パーサー、色のルール、グラフ、フィルター、ビューのレイアウトなどの Azure Storage 用アセットを Microsoft Message Analyzer 向けにリリースしました。この記事では、この機能の簡単な概要についてご説明します。詳細なハンズオン チュートリアルについては、「Azure Storage の Metrics および Logging、AzCopy、Message Analyzer を使用したエンドツーエンドのトラブルシューティング (英語)」を参照してください。
サンプル シナリオ – Storage のログから Storage サービスのバージョンを検索する
この記事では、クライアント アプリケーションが現在使用している REST のバージョンを判定し、(必要に応じて) 古いバージョンの Azure Storage サービスを削除するというシナリオを見ていきます。
ここでは、Message Analyzer と Azure Storage アセットを既にインストール済みで、Azure Storage の Logging と Metrics が有効になっていることを前提に話を進めます (詳細についてはハンズオン チュートリアルを参照してください)。
手順 1: AzCopy を使用して Azure Storage のサーバー側のログをダウンロードする
AzCopy は Azure ダウンロード ページからダウンロードできます。AzCopy の使用方法の詳細については、「Microsoft Azure Storage で AzCopy を使用する方法」を参照してください。たとえば次のコマンドを実行すると、2015 年 1 月 2 日に行われた BLOB 処理のログ ファイルが C:\Temp\Logs\Server フォルダーにダウンロードされ、 <storageaccountname> が Storage アカウント名、 <storageaccountkey> がアカウントのアクセス キーに置き換わります。
AzCopy.exe /Source:https://.blob.core.windows.net/
$logs /Dest:C:\Temp\Logs\Server /Pattern:"blob/2015/01/02" /SourceKey: /S /V
メモ: ログのデータが提供されるまで最長 1 時間かかる場合があります。これは Storage サービスがログ ライターをフラッシュする頻度によって変化します。
手順 2: サーバー側のログを Message Analyzer にインポートする
1. Microsoft Message Analyzer の [File] メニューで [New Session] > [Files] > [Add Files] の順にクリックし、サーバー側のログをダウンロードした場所に移動します。サーバー側のログを選択し、 [Open] ボタンをクリックします。
2. [Session Details] パネルで各サーバー側のログの [Text Log Configuration] ドロップダウンを AzureStorageLog に設定して (まだ設定されていない場合)、Microsoft Message Analyzer がログ ファイルを正しく解析できるようにし、 [Start] ボタンをクリックします。
手順 3: RequestVersionHeader 列を分析グリッドに追加する
Microsoft Message Analyzer で [Column Chooser] > [Azure Storage Log] > [Azure Storage Log Entry] の順にクリックして [RequestVersionHeader] を右クリックし、[Add as Column] を選択して分析グリッドに表示されるようにします。
手順 4: 古い REST バージョンを検索する
以下のセッション フィルターを追加して、削除予定の Azure Storage サービスのバージョンを使用したリクエストがないかを確認します。
AzureStorageLog.RequestVersionHeader < "2012-02-12"
分析グリッドの各行 (存在する場合) をダブルクリックすると、各リクエストの詳細が表示されます。こちらのブログ記事の「お客様にご対応いただくこと」セクションもご確認ください。
パフォーマンス向上のヒント : Message Analyzer はログ ファイルをメモリに読み込みます。ログ データが大量にある場合は、Message Analyzer が最高のパフォーマンスを発揮できるように、データを読み込む前にセッション フィルターを適用してください。
まとめ
上記のシナリオでは、Message Analyzer と AzCopy を併用して古いバージョンの REST を使用しているクライアントを見つける方法を紹介しました。同じツールを使用して、Azure Storage で独自のデバッグや分析を行うこともできます。
次のステップ
こちら (英語) の詳細なハンズオン チュートリアルでは、ストレージ、ネットワーク、クライアント側のログを組み合わせてパフォーマンス問題のトラブルシューティングを行うなど、より高度なシナリオを扱っています。
さらなる詳細情報については、以下のリソースを参照してください。