連載
» 2014年08月11日 18時21分 公開

連載:いまどきのソース・コード管理:第6回 クラウドとソース管理 (4/4)

[亀川和史,著]
前のページへ 1|2|3|4       

VS Onlineでのパフォーマンス監視

 VS Onlineはソースコード管理と、プロジェクト管理だけではない。まだプレビューだが、「Application Insights」という性能診断およびアクセス正常性確認のモニタリングを行う機能が用意されている。Azureのダッシュボードでも直近の性能状態の採取は可能だが、VS Onlineではオンライン状態の監視や、性能情報の取得といった、より詳細な情報の取得が可能だ。

 使い方は至って簡単で、Application Insightsの拡張機能をVisual Studioに追加した後は対応したプロジェクトテンプレートでソリューションを作成すれば自動的にApplication Insights用のコードが追加される(対応したプロジェクトテンプレートでは新規作成ダイアログの右側のペインに[Add Application Insights to Project]チェックボックスが表示されるので、これをチェックする)。

 その後、VS Onlineのダッシュボードで[Try Application Insights]の下にあるバナーをクリックすると、Application Insightsのページが表示されるので、最初に監視対象のURLを指定する。すると、プロジェクトのモニタリング情報が登録され始める。大体30分程度待てば、情報が登録され始めるはずだ。以下に例を示す。

Application Insightsによるアプリの診断結果 Application Insightsによるアプリの診断結果
  (1)サーバーのレスポンスが異常になった箇所。

 上記の例では赤いところでWebサイトの応答がなくなっていることが分かる。なお、現時点でApplication Insightsが対応しているプロジェクトは以下の通りだ。

  • オンプレミスWebアプリケーション(.NETもしくはTomcatかJBoss上で動くJavaアプリケーション)
  • Azureクラウドサービス
  • Windowsストアアプリ
  • Windows Phoneアプリ

 オンプレミスアプリケーションやIaaS、Javaアプリケーションの場合、エージェントが必要になる。エージェントはVS Online内のApplication Insightsのページから入手できる。

エージェントのダウンロード画面 エージェントのダウンロード画面
Application Insightsのページで右上の歯車アイコンをクリックして、コントロールパネルを表示した後に、[Keys & Downloads]タブをクリックするとこのページが表示される。
  (1)サーバーエージェントソフトウェアとアプリケーションキーが表示される。

 エージェントには64bit版、32bit版、Azureクラウドサービス用がそろっている。従来はSystem Center Operations Managerや各種の運用監視ソフトウェアを構築していたところだが、そうする前にApplication Insightsを試してみてはどうだろうか。

デバッグについて

 クラウドサービスのように直接コントロールできない環境において、デバッグをどのように行うかは重要だ。Azureではリモートデバッグが用意されており、Webサイトやクラウドサービスではメニューからデバッグを開始することも可能だ。リモートデバッグ以外にもUltimateエディションに限られるが、IntelliTraceを使用することにより、プロダクション環境で起きた例外をさかのぼってデバッグできる。

 IntelliTraceを有効にするには発行プロファイルでIntelliTraceを有効にすればよい。

[Windows Azure発行設定]ダイアログでIntelliTraceを有効にする [Windows Azure発行設定]ダイアログでIntelliTraceを有効にする
  (1) IntelliTraceを有効にする。
  (2) IntelliTraceの設定を変更する。

 [IntelliTraceを有効にする]チェックをした状態でデプロイすると、Azure上でIntelliTrace情報が採取される。IntelliTraceは負荷がかかるため、可能であれば設定画面で特定の範囲に絞っておいた方がよい。

[IntelliTraceの設定]ダイアログ [IntelliTraceの設定]ダイアログ
  (1)IntelliTraceで採取するログイベントを設定する。

 この例ではIntelliTraceでログを採取する対象を[ADO.NET][ASP.NET][ServiceModel][Threading]に絞っている。サブカテゴリでより詳細にイベントを絞り込むことも可能だ。デプロイ後発生した例外をIntelliTraceのログで確認できる。

 IntelliTraceが有効になっている場合、サーバーエクスプローラー上の表示に「(IntelliTrace)」と表示される。このとき、Visual Studioから[IntelliTraceログの表示]を実行すれば、Visual Studioで例外発生時の状態および、発生箇所をさかのぼって調査できる。

IntelliTraceにより取得したログの取得 IntelliTraceにより取得したログの取得
  (1)IntelliTraceのログをローカルにダウンロードして、表示する。

IntelliTraceで採取したログの表示 IntelliTraceで採取したログの表示
  (1)IntelliTraceで出力された例外一覧。

 該当する例外をダブルクリックすれば、その例外に至るまでのソースコードが表示される。IntelliTraceの採取方法は「Collector」と呼ばれる単独起動ツールから、モニターエージェントを使用する方式になったが、基本はVisual Studio 2010とあまり変わらないため、IntelliTraceについて解説した以下の記事も参考にしてほしい。

 駆け足で紹介したが、ソースコード管理やデプロイといったプロセスまでもが今ではクラウドで完結するようになってきた。クラウドで提供されているサービスを利用するメリットの1つはすぐに高度な設定が行われた環境を使用できることだ。エンドユーザーだけではなく開発者もその利点を十分生かしてほしい。

「連載:いまどきのソース・コード管理」のインデックス

連載:いまどきのソース・コード管理

前のページへ 1|2|3|4       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。