Azure App ServicesをNew Relicでパフォーマンス監視する

ASP.NETサンプルアプリをVisual Studioからデプロイして、New Relic APMでパフォーマンス監視してみました。

# 実行環境
* Azure App Service Web Apps (App Service Plan Free)
* Visual Studio 2015

# Web Apps作成

* ポータルから[新規]→[Web App]の順に選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/a4e3bdd4-3b43-2cb3-abc1-7d5e88a19692.png)
<br />

* アプリ名とApp Service名を入力して[作成]をクリック（App Service PlanはFreeにしてます）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/7e9458d1-8102-10bc-a560-a4b610ca8b96.png)
<br />

* 作成できたら完了
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/0ea5e253-bacf-2653-2da6-97bff7e02f93.png)
<br />

# New Relic準備

* New Relicのポータルにログインして[APM]→[Microsoft .NET]の順に選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/092dd44b-9da8-4769-14ad-290401ace53e.png)
<br />

* 環境を聞かれるので、[Azure]→[Azure Website]→[Visual Studio]の順に選択し、[Generate My Instructions]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/81e2b07c-0f43-1190-1425-c9bc6cf1d354.png)
<br />

* [Reveal license key]を選択し、表示されたLicenseKeyをメモしておく
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/ab81d084-c266-563b-a664-2c850a1f44a8.png)
<br />

# Web Apps設定

* 作成したWeb Appsを開き、[アプリケーション設定]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/2c3d113a-aeb6-a711-bdcd-b8401f9900ae.png)
<br />

* アプリ設定欄に以下のように5行追記する。NEW_RELIC_LICENSE_KEYは、先程メモしたLicenseKeyを入力する

| Key                    |    Value                                            |
|:-----------------------|:---------------------------------------------------:|
| COR_ENABLE_PROFILING   | 1                                                   |
| COR_PROFILER           | {71DA0A04-7777-4EC6-9643-7D28B46A8A41}              |
| COR_PROFILER_PATH      | D:\Home\site\wwwroot\newrelic\NewRelic.Profiler.dll |
| NEWRELIC_HOME          | D:\Home\site\wwwroot\newrelic                       |
| NEW_RELIC_LICENSE_KEY  | メモしたLicenseKey                                   |

![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/d9361c73-fcd8-52d0-b8e7-a291f2e44705.png)
<br />

* [保存]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/f45bbd35-b259-c14e-8eb8-8fb4182917e5.png)
<br />

* 左バーより、[拡張機能]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/7eaa822a-b6d3-e752-0c40-b47b80c297c0.png)
<br />

* [追加]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/f978d6b8-43fc-dd8a-645a-b0c91f126cc4.png)
<br />

* 拡張機能の選択画面より、[New Relic]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/bbc51b28-d910-1b43-8e7e-235439f22896.png)
<br />

* 法令条項画面で[OK]を選択する
<br />

* New Relicが追加されていることを確認する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/e07d1203-a902-b38b-9582-d63ee29a408d.png)
<br />

* 左バーより、[概要]を選択し、[再起動]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/0464bcf6-44bb-693d-7e85-3e5674e29a11.png)

# Visual Studio準備

* Visual Studioを開き、[ファイル]→[新規作成]→[プロジェクト]の順に選択する
* 今回はサンプルとしてASP.NET Web Applicationのテンプレートを使用する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/5c97947e-9aed-eaa2-d89e-bc6d959e371c.png)
<br />

* [MVC]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/869fd1b0-3c2c-8d58-d758-2a2302c694b8.png)
<br />

* ソリューションエクスプローラーより、プロジェクトを右クリックし、[公開]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/726875ef-dc51-dd4f-975e-98b6cf693ee4.png)
<br />

* 発行先に[Microsoft Azure App Service]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/c1cf5248-6c75-e17a-240a-e0b3e740aee1.png)
<br />

* AzureのログインID/パスワードを入力すると、自IDの閲覧権限のあるWeb Appsが表示されるので、先程作成したWeb Appsを選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/b7846787-6137-2bdb-3bec-59f0366d2e63.png)
<br />

* [接続の検証]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/03bf947d-f08e-e90b-2b95-2e5aba4dd960.png)
<br />

* Web Appsへの接続が問題なければ以下のような画面になる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/ffcd235e-e592-bd91-9342-6958a607fa6a.png)
<br />

* [発行]を選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/5e55dc98-bd54-b965-b1af-105228498484.png)
<br />

# パフォーマンス情報確認

* NewRelicポータルに戻ると、Web Appsアプリケーション名で追加されている
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/d3143eb1-f9a7-f166-e623-77464ed2be80.png)
<br />

* ドリルダウンしていくと各種アプリケーションパフォーマンスを確認することができる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/180335/12c8f526-40e8-0976-b808-dba29ef3efa4.png)
<br />

# 注意点
公式インストール手順によると、Visual Studio SolutionにNuget Packageをインストールすることになってますが、それやっちゃうとなぜかVisual StudioからのWebAppsへのデプロイに失敗しました。