第3回 APIの活用とロードテストの実施:連載:アプリケーションの運用監視(3/4 ページ)
New Relic APIの活用とApplication Insightsのログ出力のカスタマイズ、Visual Studio Onlineによるロードテストの実施方法を解説する。連載完結。
Application Insightsでのログ出力のカスタマイズ
Application Insightsでは独自のログを出力することが可能だ。Application Insightsにもログ出力用のAPIがあるので、現在のアプリでログを埋め込んでいる場合であっても、破棄して作り直す必要はない。現在.NETで多く使用されていると思われる以下のログプロバイダーをサポートしているため、Application InsightsのTracing APIを直接呼び出さなくてもよい。
- System.Diagnostics.Trace
- Nlog
- Log4Net
- Application Insights tracing API
いずれもパッケージはNuGetで用意されているので、必要に応じて追加すればよい。以下では「Application Insights TraceListener」をインストールして、これを使ってみる。

NuGetでマイクロソフトから提供されているApplication Insightsのパッケージを追加する
[NuGet パッケージの管理]ダイアログを表示して左側のペーンで[オンライン]を、中央上部にあるドロップダウンから[リリース前のパッケージを含める]を選択して、右上の検索ボックスに「AppInsights」と入力したところ。
(1)[Application Insights TraceListener]を追加する。中央上部のドロップダウンで[リリース前のパッケージを含める]を選択しないと表示されないので注意すること。
ログ出力を行うコードを追加すれば、Application Insightsのポータルで確認することが可能だ。
上の例では、default.aspxページにアクセスがあったときにログを出力するようなコードを追加した。ログはAzureの新ポータルでトレースを選択すれば表示される。

Application Insightsで出力したログをポータルで確認する
Application Insightsのブレードの[診断]にある[診断検索]をクリックすると各種の診断情報が表示される。ここにトレース情報も表示される。
(1)診断情報概要。指定時間内におけるページビューやログ情報の概要。
(2) トレースログとして出力したログの内容を確認する。
Application Insightsを使用したアプリのモニタリングについては、以下のWebページも参照してほしい。
- Application Insights - Start monitoring your app's health and usage
- Application Insights SDK (0.11.0-prerelease)
[コラム]Windowsストアアプリおよび、Windows Phoneアプリのプライバシーポリシーに注意
Windowsストアアプリのうち、インターネット通信を行うアプリではプライバシーポリシーが必要になる。ここで注意したいのは、アプリ自身にインターネット接続機能がなかったとしても、Application Insightsを使用してモニタリングを行う場合、そのデータはインターネットを使用して送信されるため、プライバシーポリシーを用意する必要がある点だ。
参考:「4.1.1 アプリがネットワークに対応している場合はプライバシーに関する声明を用意しなければならない」。
前述の方法でApplication Insightsから処理ログを出力する場合、不特定のユーザーに配布するようなアプリでは、プライバシーの観点から個人を識別可能な識別子をログに埋め込まないようにする必要がある。配布対象を組織内に限定可能なアプリでは、トラブル対応時に必要があるため、ログに個人を識別可能な情報を埋め込むという状況もあるが、不特定多数に配布するようなアプリでは注意してほしい。
最後に、Visual Studio Onlineを使い、Webページのパフォーマンステストやロードテストを行う方法を見てみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.