.NETアプリケーションに名前を付ける

New Relicは、ライセンスキーごとに情報を収集してからプライマリアプリケーション識別子またはアプリケーション名ごとに情報を収集します。New Relic は、これらの名前を使用してメトリックスを集計します。これにより、同じアプリケーションを複数のホストで実行して、すべてのインスタンスからのメトリックスを組み合わせることができます。このドキュメントでは、.NETアプリケーションに名前を付けるさまざまな方法について説明します。

.NETアプリケーションの設定ファイルnewrelic.configまたはapp.config)を変更した後は、常にアドミニストレーターのコマンドプロンプトからIISRESETを実行してください。

例外: newrelic.config内のログレベルの調整にIISRESETは必要ありません。

デフォルト名の変更

最初にアプリケーションをディプロイする際には、デフォルトの名前を分かりやすい名前に変更します。メトリックスは、複数の名前を使用して集計することもできます。別のAPMエージェントがすでに同じアプリケーション名を使用している場合、.NETアプリケーションは、名前の末尾に(DOTNET)を追加して報告します。

.NETエージェントAPIの使用

ランタイムにアプリケーション名を設定するには、SetApplicationName()エージェントAPIコールを使用できます。この名前は、他のすべてのアプリケーション名のソースより優先されます。

SetApplicationNameへのコールはそれぞれ、その前のコールを上書きします。.NETエージェントAPIを使用して設定されたアプリケーション名は、アプリケーションを再起動すると失われます。

環境変数の使用

.NETエージェントのバージョン6.17.387.0以降を使用している場合は、環境変数NEW_RELIC_APP_NAMEを使用してアプリケーション名を設定できます。この名前は、アプリケーションのローカルnewrelic.configより優先されますが、ただし、この名前はweb.config (IIS上にないウェブアプリケーションのためのapp configファイル) またはSetApplicationName APIコールに優先されません。

IISでホストされるアプリケーションに名前を付ける

IISでホストされるアプリケーションは、以下のいずれかのオプションを使用して名前を付けることができます。

  • web.configweb.configによる命名法を使用すれば、各アプリケーションに確実に分かりやすい名前を付けることができます。これにより、複数のアプリケーションで、メトリックのデータが不適切に集計されることも防止できます。
  • newrelic.configweb.configを変更したくない場合は、そのローカルnewrelic.configを使用してアプリケーションに名前を付けることもできます。

web.configを使用してアプリケーションに名前を付ける

web.configによるアプリケーションの命名法を使用すれば、ユーザー独自の各アプリケーションに確実に分かりやすい名前を付けることができます。この名前は、SetApplicationName()APIコールを除き、すべてのアプリケーション名のソースより優先されます。

  1. 次のエントリをweb.configファイルに追加します:

    <appSettings>
        <add key = "NewRelic.AppName" value="Primary Name" />
    </appSettings>
  2. オプション:アプリケーションに複数の名前(最大3件)を付けるには、<name>を使用して個別に名前を指定します。最初の名前をプライマリ名として割り当てます。

    <appSettings>
        <add key="NewRelic.AppName" value="My First Application, My Second Application, My Third Application"/>
    </appSettings>
  3. IISをリセットします。

アプリケーションがトラフィックを受信していれば、数分以内にデータが表示されます。表示されない場合は、トラブルシューティングの手順に従ってください。

newrelic.configを使用してアプリケーションに名前を付ける

web.config(または、非IISアプリケーションのアプリケーション設定ファイル)を編集したくない場合は、newrelic.configをアプリケーションのルートフォルダにコピーし、そこで名前を編集することができます。newrelic.configをコピーすると、グローバルファイルが上書きされます。

  1. 必要に応じて、newrelic.configをエージェントのホームディレクトリからアプリケーションのルートフォルダにコピーします:

    • デフォルト%ALLUSERSPROFILE%\New Relic\.NET Agent
    • Windows 2003%ALLUSERSPROFILE%\Application Data\New Relic\.NET Agent
  2. newrelic.configのコピーを開きます。<name>要素に、アプリケーションの新しい名前を指定します:

    <application>
       <name> App Name </name>
    </application>
  3. オプション:アプリケーションに複数の名前(最大3件)を付けるには、<name>を使用して個別に名前を指定します。最初の名前をプライマリ名として割り当てます。

    <application>
        <name>My Application</name>
        <name>Second App Name</name>
        <name>Third App Name</name>
    </application>
  4. IISをリセットします。

アプリケーションがトラフィックを受信していれば、数分以内にデータが表示されます。表示されない場合は、トラブルシューティングの手順に従ってください。

アプリケーションプールに基づいて名前を付ける

アプリケーションに親アプリケーションプールに基づいた名前を付けるには:

  1. newrelic.configweb.configから、明示的な名前をすべて削除します。
  2. それぞれのアプリケーションには、SNCI名前を付け手順に従って分かりやすい名前を付けてください。
  3. newrelic.configに、<application></application>親要素を残しておきます。子<name></name>のみを削除してください:

    <application>
    </application>
  4. アプリケーションを再起動します。

IISを使用しないアプリケーションの命名

web.configファイル、またはアプリケーションのローカルnewrelic.configファイルで、IISでホストされていないアプリケーションに名前を付けることができます。アプリケーションの設定ファイルで名前を設定するには:

  1. アプリケーション設定ファイル(例:applicationname.exe.config)に次のエントリを追加します:

    <appSettings>
        <add key = "NewRelic.AppName" value="Descriptive Name" />
    </appSettings>
  2. オプション:アプリケーションに複数の名前(最大3件)を付けるには、<name>を使用して個別に名前を指定します。最初の名前をプライマリ名として割り当てます。

    <appSettings>
        <add key="NewRelic.AppName" value="My First Application, My Second Application, My Third Application"/>
    </appSettings>
  3. アプリケーションを再起動します。

アプリケーションがアクティブであれば、数分以内にデータが表示されます。表示されない場合は、トラブルシューティングの手順に従ってください。

外部appSettingsファイルを使用して名前を付ける

通常の場合、アプリケーションの設定オプションを外部ファイルに指定している場合は、その外部ファイルを呼び出してアプリケーション名を設定できます。

  1. web.configまたはapp.config外部ファイルを呼び出していることを確認します。
  2. appSettingsファイルに次のエントリを追加します:

    <appSettings>
        <add key = "NewRelic.AppName" value="Descriptive Name" />
    </appSettings>
  3. オプション:アプリケーションに複数の名前(最大3件)を付けるには、<name>を使用して個別に名前を指定します。最初の名前をプライマリ名として割り当てます。

    <appSettings>
        <add key="NewRelic.AppName" value="My First Application, My Second Application, My Third Application"/>
    </appSettings>
  4. IISをリセットします。

アプリケーションがトラフィックを受信していれば、数分以内にデータが表示されます。表示されない場合は、トラブルシューティングの手順に従ってください。

SNCIを使用する

SCNI(Shared Network Content Infrastructure)を使用して「ウェブファーム」を構築している場合は、デフォルトでそれぞれのアプリケーションが単一の名前にレポートします。これは、SNCIがひとつのweb.configファイルしか使用しないからです。

SNCI環境でアプリケーションプールをプレロードすると、アプリケーション名を取得するNew Relicの機能は制限されます。SNCIを使用する場合は、アプリケーションプールのプレロードを必ず無効にしてください。

それぞれのアプリケーションに一意の分かりやすい名前を付けるには:

  1. 各アプリケーションをそれぞれのアプリケーションプールに分割し、各アプリケーションプールに分かりやすい名前を割り当てます。
  2. appSettingsからNewRelic.AppNameキーをすべて削除することによって、web.config(存在する場合)からすべての名前を削除します:

    <appSettings>
    </appSettings>
  3. <application>要素から<name>要素をすべて削除することによって、newrelic.config(存在する場合)からすべての名前を削除します。周囲の<application></application>タグは削除しないようにしてください。

    <application>
    </application>

その後は、各アプリケーションはそれぞれのアプリケーションプール名に従ってレポートします。

その他のヘルプ

推奨する詳細情報: