Azure Web App

Microsoft の Azure Web Apps プラットフォーム上でアプリケーションを実行している場合は、以下の手順に従って、New Relic の .NET エージェントをインストールしてください。Azure Cloud Services プラットフォーム上で実行している場合は、Azure Cloud Servicesをご覧ください。

特別価格

New Relic は、Microsoft とパートナー契約を結んいます。そのため、Windows Azure Store を通じてサインアップする際は、特別価格で New Relic を提供できます。価格に関する詳しい内容は、Azure Store 上での New Relic (英語) をご覧ください。

注: New Relic のウェブサイトからではなく、Windows Azure Store から直接 Windows Azure のアプリケーション用の .NET エージェントをインストールした場合は、特別価格は適用されません。

NuGet を使った標準のインストール方法


Azure 上でのインストール方法についてのビデオ (約3分).

New Relic, Azure、NuGet を使い慣れている場合は, 以下は、Azure にデプロイしたウェブアプリを New Relic へ追加する方法のまとめです。複数プロジェクトのソリューションの場合は、NuGet パッケージをインストールする前に、適切なプロジェクトを指定していることを確認します(例えば、特定のウェブアプリのプロジェクト)

  1. manage.windowsazure.com にサインインします。計測対象の Azure Web App がまだない場合は、新規に作成します。
  2. Enable New Relic を有効にします。New Relic アカウントを既に持っているかどうかで必要な手順が異なります。
    New Relic アカウントをまだ持っていない
    1. New Relic アドオンを Azure アカウントに追加します。Azure のサイドバーから、Add-Ons > Purchase Add-Ons > New Relic > (選択したプラン) > Purchase を選択します。
    2. Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configureを選択します。
    3. Performance Monitoring [パフォーマンス監視]のトグルを Add-On [アドオン]に設定し、Choose Add-On [アドオンの選択]のドロップダウンから NewRelic を選択します。 そして、Save [保存]を押します。
    New Relic アカウントを持っている
    1. ライセンスキー をコピーします。
    2. Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configureを選択します。
    3. Performance Monitoring [パフォーマンス監視]のトグルを Custom [アドオン]に設定し、Provider のドロップダウンから NewRelic を選択します。
    4. Provider Key フィールドにライセンスキー keyを入力し、Save [保存]を押します。
  3. Azure のバージョンを検証します。Azure のサイドバーから、Web Apps > (選択したウェブアプリ) > Configure を選択し、Platform トグルボタンを探します。アプリを 32 ビット64 ビットどちらのプラットフォームで実行するかを決めます。
  4. New Relic NuGet パッケージをインストールします。Visual Studio 上でアプリを選択し、パッケージマネージャーコンソール上で、適切なコマンドを実行します。:
    • 32 ビット: Install-Package NewRelic.Azure.WebSites
    • 64 ビット: Install-Package NewRelic.Azure.WebSites.x64
  5. Azure の Standard または Basic ティアを利用していて、Always On 設定を有効にしている場合は、Always On 設定を無効にするか、web.config 内でアプリ名を明示する必要があります。

    • Always On 設定を無効にするには、Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configure を選択します。そして、Always On ボタンをオフにします。
    • 明示的にアプリに名前を設定するには、web.config 内で<add key="NewRelic.AppName" value="NameOfApp"/> 要素を <appSettings> 要素に追加します。
  6. Azure 上でウェブアプリを公開します。
  7. ウェブアプリにトラフィックが生成されるまで数分待ちます。そして、アプリのパフォーマンスをチェックします。
screen-azure-addon.png
Azure sidebar > Web Apps > (選択したウェブアプリ) Configure: New Relic アドオンを購入した後、Performance Monitoring トグルボタンを Add-On にセットして、Azure Web Site で New Relic を有効にします。そして、Add-On ドロップダウンから、NewRelic を選択します。

アプリのパフォーマンスチェックする

New Relic でパフォーマンスを表示するには、アプリがトラフィックを受信する必要があります。データを受信するまで、数分待つ必要があります。データを受信したら、New Relic のダッシュボードでパフォーマンスを確認できるようになります。

  1. Azure サイドバーから、Add Ons > New Relic > Go to the New Relic, Inc. website for the next steps を選択します。
  2. New Relic の利用規約を確認し、同意します。
  3. UI の機能ページの機能を使って、パフォーマンスを表示します。詳細情報にアクセスすることもできます。

データが表示されない場合は、データが表示されない (Azure Web App)をご覧ください。

New Relic を使う

screen app overview server.png
Applications > (選択したアプリ) > Monitoring > Overview: New Relic APM のアプリケーション一覧からアプリを選択すると、現在のアプリサーバーとブラウザに関する情報を示すOverview ダッシュボードを表示します。

New Relic APM のアプリケーション一覧からアプリを選択すると、Overview ダッシュボードは、アプリサーバーのリクエスト、ブラウザのページ読み込みタイミング、その他のトランザクション情報を表示します。UI 機能ページの機能を使えば、詳細情報にアクセスできます。

手動インストール

通常、New Relic をインストールするには、NewRelic.Azure.WebSites NuGet パッケージを使います。しかし、デプロイ前に、Azure Web App 上でパッケージを実行できない場合もあります。その場合に Azure Web App へ New Relic をデプロイするには、以下の手順に従って、手動でインストールを試みてください。

  1. manage.windowsazure.com にサインインする。まだ計測対象の Azure Web App がない場合は、新規に作成します。
  2. New Relic を有効にします。New Relic アカウントを既に持っているかどうかで必要な手順が異なります。
    New Relic アカウントをまだ持っていない
    1. New Relic アドオンを Azure アカウントに追加します。Azure のサイドバーから、Add-Ons > Purchase Add-Ons > New Relic > (選択したプラン) > Purchase を選択します。
    2. Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configureを選択します。
    3. Performance Monitoring [パフォーマンス監視]のトグルを Add-On [アドオン]に設定し、Choose Add-On [アドオンの選択]のドロップダウンから NewRelic を選択します。 そして、Save [保存]を押します。
    New Relic アカウントを持っている
    1. ライセンスキー をコピーします。
    2. Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configureを選択します。
    3. Performance Monitoring [パフォーマンス監視]のトグルを Custom [アドオン]に設定し、Provider のドロップダウンから NewRelic を選択します。
    4. Provider Key フィールドにライセンスキー keyを入力し、Save [保存]を押します。
    New Relic アカウントを持っている
  3. New Relic の GitHub リポジトリから、Azure Web App のルートに .NET エージェントを含むnewrelic フォルダを追加します。
  4. オプション:
    newrelic.config にある <application> 要素を編集して、アプリケーション名を変更します。アプリケーション名を変更しない場合は、Azure ポータルで定義されている Windows Azure Web App の名前をデフォルト値として使います。
  5. Source Control、Web Deploy、Web Matrix、FTP を利用して、Azure にアプリをデプロイします。
  6. Azure の Standard または Basic ティアを利用していて、Always On 設定を有効にしている場合は、Always On 設定を無効にするか、web.config 内でアプリ名を明示する必要があります。

    • Always On 設定を無効にするには、Azure サイドバーから、Web Apps > (選択したウェブアプリ) > Configure を選択します。そして、Always On ボタンをオフにします。
    • 明示的にアプリに名前を設定するには、web.config 内で<add key="NewRelic.AppName" value="NameOfApp"/> 要素を <appSettings> 要素に追加します。
  7. ウェブアプリへのトラフィックを生成し、数分待ちます。そして、アプリのパフォーマンスをチェックします。

設定されるキーと値

Azure Web App のインストールプロセスにおいて、自動的に App settings に以下の設定キーと値が追加されます。

キー
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

オプション:CLI ツールもしくは PowerShell SDK を利用して以下の変数を設定することができます。

クロスプラットフォーム CLI ツール

クロスプラットフォーム CLI ツール を使う。

  1. クロスプラットフォーム CLI ツールをダウンロードしインストールします。
  2. SDK を使って、Publish Profile を追加します。
  3. manage.windowsazure.com > Web Apps > (ウェブアプリ名) > Download the publish profile にサインインします。
  4. PowerShell コンソール上で、以下のコマンドを実行します。
    azure account download "Subscription Name"
    azure account import "PathToPublishSettingsFile"
  5. 以下の PowerShell スクリプトを実行します。「MyWebAppName」は、お使いのウェブアプリ名に置き換えてください。
    $appName = "MyWebAppName"
    azure site config add "COR_ENABLE_PROFILING=1" $appName
    azure site config add "COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}" $appName
    azure site config add "COR_PROFILER_PATH=D:\Home\site\wwwroot\newrelic\NewRelic.Profiler.dll" $appName
    azure site config add "NEWRELIC_HOME=D:\Home\site\wwwroot\newrelic" $appName
Azure PowerShell SDK

Azure PowerShell SDK を使う方法は以下のとおりです。:

  1. Azure PowerShell SDK をダウンロードしインストールします。
  2. SDK を使って、Publish Profile を追加します。
  3. manage.windowsazure.com > Web Apps > (ウェブアプリ名) > Download the publish profile にサインインします。
  4. PowerShell コンソールで以下のコマンドを実行します。
    Import-AzurePublishSettingsFile "PathToPublishSettingsFile"
  5. 以下の PowerShell スクリプトを実行します。「MyWebAppName」は、お使いのウェブアプリ名に置き換えてください。
    $appName = "MyWebAppName"
    $appSettings = @{ `
        "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" `
    }
    
    Set-AzureWebsite -Name $appName -AppSettings $appSettings

既知の問題

.NET エージェントを Windows Azure Web App 上にインストールする際に発生しうる既知の問題について説明します。

問題 解説
データが表示されない

5分以内にデータが表示されない場合は、Azure の Always On 設定が New Relic と競合している可能性があります。この機能は、Azureの BasicStandard モードでのみ使用できます。

回避方法 #1: 標準のインストール手順にあるように Always On を無効にします。

回避方法 #2: 標準的なインストール手順 で説明しているように、web.config でアプリ名を指定します。

ログファイルがロックされてしまう

Azure Web App に FTP 経由で接続するときは、LogFiles\NewRelic\ に、NewRelic.Profiler.####.log が作成されます。しかし、そのファイルにアクセスしようとすると、エラーメッセージが表示されます。

回避方法: ファイルを解放するために、一旦、Webアプリを再起動して、プロファイルのログを新たに生成します。

デプロイ中に、Profiler DLL がロックされてしまう

New Relic エージェント(NewRelic.Profiler.dll)の新バージョンをデプロイする際は、エラーメッセージが表示され、プロセスを停止または再起動するまでそのデプロイを続行できなくなります。
本来の動作としては、プロセスが停止し、New Relic が、サイトのルート (D:\Home\site\wwwroot\newrelic)にパックしたものでデプロイ時にアセットが上書きされるべきです。

回避方法 #1: ファイルを解放するため、ウェブアプリを停止し、更新が行われるようにするにします。デプロイが完了したら、インスタンスを再起動します。Azure Web App へ .NET エージェントの(既存のエージェントの上に)新バージョンをデプロイしようとしている場合にのみ、この現象が発生する。

回避方法 #2: New Relic Site Extension を利用して、ウェブアプリにエージェントをインストールする。

  1. http://[yoursite].scm.azurewebsites.net/ へナビゲートし、Site Extensions を選択する。
  2. Gallery から、+ を選択し、New Relic を選択します。
  3. Follow the instructions for 設定されるキーと値に従って、手動でウェブアプリに設定用のキーを追加する。そして、あなたの要求を満たすオプションを利用します。

一度だけ、拡張機能をインストールする必要があります。また、Azure Portal を介して、更新することも簡単にできます。Azure Portal >> WebApps >> choose your site >> All Settings >> Extensions >> New Relic から更新できます。

さらに詳しい情報

追加のドキュメントリソースは次のとおりです。