SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

Windows Azure:Mobile Servicesに対するBizTalk Services、Traffic Manager、Azure AD App AccessとXamarinサポートをGAリリース

連載:ScottGu's Blog翻訳


  • X ポスト
  • このエントリーをはてなブックマークに追加

Webサイト:Blob Storageへの自動ログに対する診断サポート

 9月に、Windows Azure Blob StorageへHTTPログを自動的に永続化できるWindows Azure Webサイトのアップデートをリリースしました。

 今回またWebサイトを更新し、Webサイトのアプリケーション診断ログをBlob Storageに永続化するようにしました。

 これにより、非常に簡単に、テキストBlobとして診断ログをいくらでも(ストレージアカウントが大量のデータを維持することができるので)永続化でき、後でそれらをリッチなデータマイニング/分析で使用できます。また、コード内で問題があった場合に、より簡単に素早くその診断および解析ができるようになります。

コードに診断書を追加

 以下は、System.Diagnosticsでビルトインの.NET Trace APIを使用して、Webアプリケーションのコードを計測する方法を示した簡単な例になります。以下のシナリオでは、特定のメソッドを呼び出すのにかかる時間をログに記録する簡単なtraceステートメントを追加しています(時間がかかる可能性のあるリモートサービスやデータベースは中止するかもしれません)。

 このような計測コードを追加すると、より簡単に本番環境のアプリケーションにおける減速原因を素早く判別することができます。パフォーマンスデータのログ記録により、時間の経過と共にパフォーマンス傾向を分析することができます(例えば、100個中99番目の待ち時間が何であるかを分析するなど)。

Windows Azure StorageにBlobとして診断ログファイルを保存

 自動的にBlob Storageに直接書き込まれる診断ログを有効にするには、Windows Azure管理ポータルを使用してWebサイトに移動し、CONFIGUREタブをクリックしてください。そして、その中のAPPLICATION DIAGNOSTICSセクションへ移動してください。今後は、Blob Storageに永続化させる“Application Logging”を設定することができます。これを行うには、“on”を選択して、永続化したいログレベル(error、verbose、informationなど)を選択するだけです。

 緑色の“manage blob storage”ボタンをクリックすると、診断ログを保存したいBlob Storageアカウントの設定ダイアログが表示されます。

 設定が完了したら、“ok”ボタンをクリックして、“save”を押してください。これで、アプリケーション実行時に、診断データが自動的にBlob Storageアカウントに永続化されます。

アプリケーション診断データの確認

 診断ログデータは、アプリケーションが実行されるとすぐに永続化されます(Webサイトにこれを自動的に処理するトレースリスナーがあり、毎秒数千の診断メッセージを書くことができます)。

 ログの表示およびダウンロードには、Windows Azure Blob Storageをサポートする標準ツールを使用することができます。以下では、Blob Storageアカウントを表示するのにCloudXplorerツールを使用しています:

 アプリケーション診断ログは、CSVテキストファイルとして保存されます。Windows Azure Webサイトは、自動的にWebサイト運営の年->月->日->時間でマッピングされたBlobコンテナのサブフォルダにファイルを永続化します(これにより、探しているファイルがより簡単に見つかります)。

 ファイルはCSVテキストファイルなので、幅広いさまざまなツールやカスタムスクリプトを使用して、ログファイルを開いたり、処理することができます(多数を素早く分析したい場合は、Windows Azure HDInsightを使用してHadoopクラスタをスピンアップすることも可能です)。以下はExcelを使用して上記の診断ファイルを開いている簡単な例です。

 上記をご確認いただくと、日付/時刻、情報レベル、アプリケーション名、WebサーバインスタンスID、eventtick、プロシード、スレッドIDのすべてが、DoSomethingメソッドの待ち時間を記録したカスタムメッセージに加えられ永続化されています。

診断を常時ONで実行

 今回の更新により、Blob Storageに診断トレースメッセージを非常に簡単にログに記録することができます(すでにサポートされているHTTPログに加え)。上記の手順は、開始するためだけに必要なものです。

 Windows Azure Storageアカウントには各100TB保存でき、Windows Azure Webサイトはそれにログを永続化する効率的な方法を提供するので、本番環境に診断を常に残し、アプリケーションで行ったことをすべてログに記録することも可能になりました。このデータを永続化させることは、アプリケーションの状態を理解し、問題がある場合はデバッグし、時間と共によりよい分析を行うことがより一層簡単になります。

次のページ
Storage:Storageメトリクスに基づいたアラートのサポート

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7528 2013/12/05 19:18

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング