Azure で公開中の Web アプリの監視が可能に

このポストは、10 月 13 日に投稿された Monitoring an already-live Azure Web App の翻訳です。

 

アプリのパフォーマンスを監視する必要があっても、そのアプリのソース コードにアクセスできない場合があります。Microsoft Azure では、お客様が自社サイトで構成、実行可能なサードパーティ製の Web アプリを Marketplace で提供しています。このような場合、テレメトリ (アプリのパフォーマンスや利用状況をリアルタイムで監視するコード) をコードに統合してテスト、構成、デプロイできるのが理想的ですが、ソース コードへ書き込めなければそれは不可能です。しかし、Application Insights を使用することで、アプリの再ビルドや再デプロイなしでもそのアプリを監視できるようになります。

今回、例として .NET を基盤とするコンテンツ管理システムの Orchard CMS (英語) を使用してブログや個人の Web サイトを作成します。Orchard CMS は Azure のオンライン ストアから入手できます。以下では、Azure ポータルで作成した Orchard CMS サイトで Application Insights を有効化する方法をご紹介します。

ポータルから Orchard CMS Web サイトをデプロイする

Azure ポータルから Orchard CMS サイトを新たにデプロイするには、まず [+ New]、[Web + Mobile]、[Marketplace] の順に選択します。[Marketplace] ブレードの [Web + Mobile] で [Blogs + CMSs] から Orchard CMS を選択します。

Azure ポータルから Orchard CMS サイトをデプロイする際にはソース コードは不要で、URL を指定し、お好みのサービス プランと料金レベルを選択するだけでデプロイできます。

[Create] ボタンをクリックすると、新しい Orchard CMS Web サイトが数秒で作成されます。今回は Azure ポータルから Web サイトを新規作成したため、既に基本的な監視機能が有効になっており、1 秒あたりの要求数が表示されています。これに加え、さらに詳細なテレメトリ データを取得できるようにします。

 

Application Insights を有効化する

Application Insights を有効化するには、お客様の Web サイトで [Tools]、[Performance Monitoring] の順に選択します。

新しいブレードに [Performance Monitoring] が表示されます。ここで [Click here to collect insights into the performance of your .NET applications.]、[Application Insights]、[<Web アプリケーション名>] の順に選択します。[Application Insights] ブレードの「The related Application Insights resources for this website is shown below.」というメッセージの下にお客様の Web アプリが表示されます。

これでサーバーの応答時間や失敗した要求数などの詳細なデータにアクセスできるようになりました。

ソース コードにアクセスしなければ、アプリケーションと依存関係にあるリソースをすべて把握することはできませんが、Application Insights を使用することで、依存関係やその頻度、期間を把握することができます。

 

また、特定の要求や例外を検索することもできます。

まとめ

Application Insights 拡張機能では、アプリのソース コードを加工したり再デプロイしたりしなくても、基本的な Azure Web アプリの利用状況や診断結果を取得できます。ソース コードを加工できる場合は、Application Insights SDK を追加して再デプロイし、利用状況に関する情報カスタマイズされたテレメトリ データをより詳細に収集することをお勧めします。また Orchard CMS では、お客様のアプリケーションで Application Insights を有効化するための Orchard 用プラグイン (英語) が公開されていますので、こちらもご確認ください。