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分程度待てば、情報が登録され始めるはずだ。以下に例を示す。
上記の例では赤いところでWebサイトの応答がなくなっていることが分かる。なお、現時点でApplication Insightsが対応しているプロジェクトは以下の通りだ。
オンプレミスアプリケーションやIaaS、Javaアプリケーションの場合、エージェントが必要になる。エージェントはVS Online内のApplication Insightsのページから入手できる。
エージェントには64bit版、32bit版、Azureクラウドサービス用がそろっている。従来はSystem Center Operations Managerや各種の運用監視ソフトウェアを構築していたところだが、そうする前にApplication Insightsを試してみてはどうだろうか。
クラウドサービスのように直接コントロールできない環境において、デバッグをどのように行うかは重要だ。Azureではリモートデバッグが用意されており、Webサイトやクラウドサービスではメニューからデバッグを開始することも可能だ。リモートデバッグ以外にもUltimateエディションに限られるが、IntelliTraceを使用することにより、プロダクション環境で起きた例外をさかのぼってデバッグできる。
IntelliTraceを有効にするには発行プロファイルでIntelliTraceを有効にすればよい。
[IntelliTraceを有効にする]チェックをした状態でデプロイすると、Azure上でIntelliTrace情報が採取される。IntelliTraceは負荷がかかるため、可能であれば設定画面で特定の範囲に絞っておいた方がよい。
この例ではIntelliTraceでログを採取する対象を[ADO.NET][ASP.NET][ServiceModel][Threading]に絞っている。サブカテゴリでより詳細にイベントを絞り込むことも可能だ。デプロイ後発生した例外をIntelliTraceのログで確認できる。
IntelliTraceが有効になっている場合、サーバーエクスプローラー上の表示に「(IntelliTrace)」と表示される。このとき、Visual Studioから[IntelliTraceログの表示]を実行すれば、Visual Studioで例外発生時の状態および、発生箇所をさかのぼって調査できる。
該当する例外をダブルクリックすれば、その例外に至るまでのソースコードが表示される。IntelliTraceの採取方法は「Collector」と呼ばれる単独起動ツールから、モニターエージェントを使用する方式になったが、基本はVisual Studio 2010とあまり変わらないため、IntelliTraceについて解説した以下の記事も参考にしてほしい。
駆け足で紹介したが、ソースコード管理やデプロイといったプロセスまでもが今ではクラウドで完結するようになってきた。クラウドで提供されているサービスを利用するメリットの1つはすぐに高度な設定が行われた環境を使用できることだ。エンドユーザーだけではなく開発者もその利点を十分生かしてほしい。
Copyright© Digital Advantage Corp. All Rights Reserved.