• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

.NETエージェントの設定

New Relic アカウントを作成し(永久に無料です)、.NET エージェントをインストールすると、ご使用の環境に合わせて .NET エージェントを構成できます。

設定概要

APMエージェントの設定オプションでは、エージェントの動作の一部を制御することができます。これらの設定オプションの中には、基本的なインストールプロセスの一部であるもの(ライセンスキーやアプリ名の設定など)もありますが、ほとんどは、ログレベルの設定、プロキシホストアクセスの設定、特定の属性の除外、分散型トレースの有効化など、より高度な設定です。

.NET エージェントは、インストール プロセスの一部として生成されるnewrelic.configファイルから設定を取得します。 デフォルトでは、グローバルnewrelic.configファイルのみが作成されますが、複数のアプリ システムをより細かく制御するために、アプリ ローカルnewrelic.configファイルを作成することもできます。 構成オプションを設定するその他の方法には、環境変数を使用する方法や、 UIからサーバー サイド構成を設定する方法などがあります。 さまざまな設定オプションと何が何を上書きするかの詳細については、 「設定の優先順位」を参照してください。

.NET Frameworkと.NET Coreの両方をサポートする場合、特に断りがない限り、同じ構成オプションを使用し、同じAPM機能を備えています。

構成ファイルに変更を加えて、それが正しい形式であることを検証したい場合は、任意のXSDバリデーターを使用してXSDファイル(たとえば、Windowsの場合はC:\ProgramData\New Relic\.NET Agent\newrelic.xsd )と照合できます。

重要

For IIS: newrelic.configまたはapp.configファイルを変更した後、管理コマンド プロンプトからIISRESETを実行します。 ログレベルの調整にはリセットは必要ありません。

設定方法と優先順位レベル

インストール時に、.NETエージェントの構成ファイル( newrelic.config )はすべての監視対象アプリケーションに適用されますが、他の方法でエージェントを構成できます。これは、さまざまな構成オプションが互いにどのように優先されるかを示す図です。

New Relic .NET agent configuration settings precedence

この図は、.NETエージェントを構成するさまざまな方法について、優先順位を説明しています。

ここでは、図に示された設定方法の詳細と、その優先順位について説明します。

.NET configuration

Details and precedence

web.config またはapp.configまたは appsettings.json

これらのファイルで設定された設定が最も優先されます。

エージェントがローカルまたはグローバル newrelic.configで無効になっている場合:

  • appsettings.json will enable the agentNewRelic.AgentEnabled設定。
  • web.configまたはapp.configファイルwill be ignoredNewRelic.AgentEnabled設定。

環境変数

2番目に高い優先順位です。これらの詳細については、 .NET環境変数 を参照してください。

サーバー側の構成

3番目に高い優先順位です。 限られた数のサーバー側の構成 の設定が利用できます。その他の設定は、他の構成ソースから得られます。

アプリローカル newrelic.config

4番目に高い優先順位。 app-local newrelic.configファイルを作成して、マルチアプリシステムで個々のアプリを構成できます。これらのローカル構成ファイルは、グローバルnewrelic.configファイルの設定を上書きします。

エージェントは、以下のディレクトリにあるアプリローカルの設定ファイルを、この順番で探します。

  • NewRelic.ConfigFileプロパティを使用してweb.configまたはapp.configファイルで指定されたディレクトリ

  • Webアプリのルートディレクトリ( app.configまたはweb.configを含む)

  • アプリの実行ファイルがあるディレクトリ

    app-local構成ファイルが完全であり、XSDファイルに対して検証する必要があることに注意してください(たとえば、Windowsの場合はC:\ProgramData\New Relic\.NET Agent\newrelic.xsd )。

デフォルト(グローバル) newrelic.config

デフォルトのソースと最低の優先順位。他の構成ファイルがない場合に、ホスト上のすべてのアプリケーションを構成します。グローバル設定ファイルは、NewRelicエージェントのホームディレクトリにあります。 %PROGRAMDATA%\New Relic\.NET Agent

必要な環境変数

.NETエージェントは、環境変数に依存して、.NET共通言語ランタイム(CLR)にNewRelicをプロセスにアタッチするように指示します。一部の.NETエージェントのインストール手順(MSIインストーラーなど)では、これらの変数が自動的に設定されます。一部の手順では、手動で設定する必要があります。

注意

セキュリティ上の推奨事項です。どのユーザがシステム環境変数を設定できるかを考慮する必要があります。また、ユーザの環境変数がシステムの環境変数を上書きしないように、アプリケーションを実行するアカウントを保護する必要があります。

" お使いのシステムで以前に(New Relic 以外の)監視サービスを使用していた場合、New Relic エージェントをインストールして使用しようとすると、"プロファイラーの競合が発生する可能性があります。詳細はこちらをご覧ください。

具体的なインストール方法については、 .NETエージェントのインストールドキュメント をご覧ください。

オプションの環境変数

New Relic の .NET エージェントの設定オプションの中には、設定ファイルで設定する代わりに、環境変数で設定できるものがあります。以下に、.NETエージェントで認識される環境変数のリストと値の例を示します。

NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY
NEW_RELIC_APP_NAME=Descriptive Name
MAX_TRANSACTION_SAMPLES_STORED=500
MAX_EVENT_SAMPLES_STORED=500
NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true
NEW_RELIC_SPAN_EVENTS_ENABLED=false
NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=2000
NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST=myhost.infinitetracing.com
NEW_RELIC_LABELS="foo:bar;zip:zap"
NEW_RELIC_PROCESS_HOST_DISPLAY_NAME=Custom Name
NEW_RELIC_HOST=gov-collector.newrelic.com
NEW_RELIC_PROXY_HOST=hostname
NEW_RELIC_PROXY_URI_PATH=path/to/something.aspx
NEW_RELIC_PROXY_PORT=5000
NEW_RELIC_PROXY_USER=YOUR_USER_NAME
NEW_RELIC_PROXY_PASS=YOUR_PROXY_PASSWORD
NEW_RELIC_PROXY_DOMAIN=mydomain.com
NEW_RELIC_PROXY_PASS_OBFUSCATED=YOUR_OBFUSCATED_PROXY_PASSWORD
NEW_RELIC_CONFIG_OBSCURING_KEY=YOUR_OBSCURING_KEY
NEW_RELIC_SEND_DATA_ON_EXIT=true
NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000
NEW_RELIC_HIGH_SECURITY=true
NEW_RELIC_DISABLE_SAMPLERS=true
NEW_RELIC_LOG=MyApp.log
NEW_RELIC_LOG_ENABLED=true
NEWRELIC_LOG_LEVEL=info
NEW_RELIC_LOG_CONSOLE=true
NEWRELIC_PROFILER_LOG_DIRECTORY=path\to\a\directory # not configurable via config file
NEWRELIC_LOG_DIRECTORY=path\to\a\directory # Insert a directory where you want to put the agent and profiler logs. You can't set this directory for both agent and profiler logs in the configuration file.
NEW_RELIC_LOG_ROLLING_STRATEGY=day
NEW_RELIC_LOG_MAX_FILE_SIZE_MB=100
NEW_RELIC_LOG_MAX_FILES=2
NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES=401, 403.18
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES=401, 501-503
NEW_RELIC_APPLICATION_LOGGING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE="myCustomAttribute1, myOtherCustomAttribute*"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE="myCustomAttribute2, myOtherCustomAttributeMoreSpecificName"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn"
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true
NEW_RELIC_ALLOW_ALL_HEADERS=true
NEW_RELIC_ATTRIBUTES_ENABLED=true
NEW_RELIC_ATTRIBUTES_INCLUDE=request.headers.*,foo.bar
NEW_RELIC_ATTRIBUTES_EXCLUDE=request.headers.cookie,request.headers.authorization
NEW_RELIC_UTILIZATION_DETECT_AWS=true
NEW_RELIC_UTILIZATION_DETECT_AZURE=true
NEW_RELIC_UTILIZATION_DETECT_GCP=true
NEW_RELIC_UTILIZATION_DETECT_PCF=true
NEW_RELIC_UTILIZATION_DETECT_DOCKER=true
NEW_RELIC_UTILIZATION_DETECT_KUBERNETES=true
NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=true
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true
NEW_RELIC_AI_MONITORING_ENABLED=true
NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED=true

New Relic CodeStreamを使用してIDEからパフォーマンスを監視する場合は、リポジトリをサービスに関連付けビルドSHAまたはリリースタグをエラーに関連付ける必要があります。

受信トレイ構成のエラー

次のタグのいずれかを設定すると、エラーが発生しているソフトウェアのバージョンを特定するのに役立ちます。

  • NEW_RELIC_METADATA_SERVICE_VERSION デプロイされているコードのバージョン (多くの場合、1.2.3 などのセマンティック バージョン) を含むイベント データに tags.service.version が作成されますが、常にそうとは限りません。
  • NEW_RELIC_METADATA_RELEASE_TAG リリースタグを含むイベントデータに tags.releaseTag を作成します (v0.1.209 など)またはリリース-209)。
  • NEW_RELIC_METADATA_COMMIT コミット SHA を含むイベント データに対して tags.commit を作成します。sha 全体を使用することも、最初の 7 文字だけを使用することもできます (例: 734713b)。

エラー受信箱の今後のリリースでは、ソフトウェアのどのバージョンでエラーが発生しているかを自動的に追跡します。バージョン データもCodeStreamに表示されます。

セットアップオプション、newrelic.config

これらのオプションを使用して、 newrelic.configファイル経由でエージェントをセットアップおよび構成します。 .NET エージェントは、次のカテゴリのセットアップ オプションをサポートしています。

構成要素

構成ドキュメントのルート要素はconfiguration要素です。

<configuration xmlns="urn:newrelic-config"
agentEnabled="true"
maxStackTraceLines="50">

configuration要素は次の属性をサポートします。

サービス要素

configuration要素の最初の子はservice要素です。 service要素は、NewRelicサービスへのエージェントの接続を構成します。

<service licenseKey="YOUR_LICENSE_KEY"
sendEnvironmentInfo="true"
syncStartup="false"
sendDataOnExit="false"
sendDataOnExitThreshold="60000"
autoStart="true"/>

service要素は次の属性をサポートします。

重要な要素の隠蔽

obscuringKey要素はservice要素のオプションの子です。 .NET Agentはこの値を使用して、サポートされている構成値の難読化を解除します。たとえば、難読化されたプロキシパスワードが指定された場合、このキーを使用して難読化が解除されます。

<service licenseKey="YOUR_LICENSE_KEY">
<obscuringKey>OBSCURING_KEY</obscuringKey>
</service>

隠蔽キーは、 NEW_RELIC_CONFIG_OBSCURING_KEY環境変数を設定することによって構成することもできます。

注意

セキュリティの推奨事項:難読化された値と同じ構成ファイルに不明瞭なキーを配置すると、セキュリティ上のリスクが生じる可能性があります。難読化されたキーと難読化されたプロキシパスワードを環境変数に配置し、環境内の環境変数へのアクセスを制限することを検討してください。

プロキシ要素

proxy 要素は、 service 要素のオプションの子です。 proxy 要素は、エージェントがプロキシ経由で New Relic バックエンド サービスと通信するときに使用されます。

<service licenseKey="YOUR_LICENSE_KEY">
<proxy
host="hostname"
port="PROXY_PORT"
uriPath="path/to/something.aspx"
domain="mydomain.com"
user="PROXY_USERNAME"
password="PROXY_PASSWORD"
passwordObfuscated="OBFUSCATED_PROXY_PASSWORD"/>
</service>

proxy要素は次の属性をサポートします。

ログエレメント

log要素はconfiguration要素の子です。 log要素はNewRelicのロギングを設定します。エージェントは独自のログファイルを生成して、そのログ情報をアプリケーションのログとは別に保持します。

<log enabled="true"
level="info"
auditLog="false"
console="false"
directory="PATH\TO\LOG\DIRECTORY"
fileName="FILENAME.log" />

log要素は次の属性をサポートします。

応募要素(必須)

application要素はconfiguration要素の子です。この必須要素は、アプリケーション名を定義し、サンプリングを無効または有効にします。

データ伝送素子

dataTransmission要素はconfiguration要素の子です。この要素は、データがNew Relicに送信される方法に影響し、特定のデータ送信要件がある場合に使用できます。

<dataTransmission
putForDataSend="false"
compressedContentEncoding="deflate"/>

dataTransmission要素は次の属性をサポートします。

ホスト名

APM UI のデフォルトのホスト名ラベルが役に立たない場合は、New Relic UI でその名前を表示名で修飾できます。 アプリケーション プロセスが再起動され、.NET エージェントが再度レポートを行うと、表示名がServersドロップダウン リストに表示されます。 このホスト名の設定は、アプリケーションのSummaryページのホストのリストには影響しません。

表示名を設定するには、次のいずれかのオプションを選択します。環境変数は、コンフィグファイルの値よりも優先されます。その後、アプリケーションを再起動すると、New Relic UI に変更内容が表示されます。

クラウドプラットフォームの利用

utilization構成要素は、エージェントが使用率情報を収集し、それをNewRelicサービスに送信して価格を決定する方法を制御します。エージェントは、Amazon Web Services(AWS)EC2インスタンス、Dockerコンテナー、Microsoft Azure、Google Cloud Platform、Pivotal Cloud Foundry、Kubernetesから情報を収集できます。

<configuration . . . >
<utilization detectAws="true" detectAzure="true" detectGcp="true" detectPcf="true" detectDocker="true" detectKubernetes="true" />
</configuration>

utilization要素は次の属性をサポートします。

インストゥルメンテーションのオプション

これらのオプションを使用して、アプリケーションや環境のどの要素をインスツルメンテーションするかを設定します。New Relic for .NET は、以下のカテゴリの計測オプションをサポートしています。

計装要素

instrumentation要素はconfiguration要素の子です。既定では、.NETエージェントはIISaspワーカープロセスとMicrosoftAzureWebおよびワーカーの役割を計測します。他のプロセスをインストルメント化するには、カスタムアプリケーションのインストルメンテーションを参照してください。

ルール要素 (インストゥルメンテーション)

重要

この機能は、.NETエージェント 10.21.0 以降で利用できます。

rules要素はinstrumentation要素の子です。 rules要素は、任意の数のignore子要素をサポートします。これにより、指定されたアセンブリで定義されたメソッドを計測しないようにプロファイラーに指示されます。 他のアセンブリで定義されたメソッドは引き続きインストゥルメント化されます。

<instrumentation>
<rules>
<ignore assemblyName="NameOfAssemblyToIgnore" />
</rules>
</instrumentation>

ignoreルールを使用すると、オプションでクラス名を定義できます。 次の例では、アセンブリMyAssemblyMyNamespace.MyClassで定義されたメソッドのみが無視されます。 そのアセンブリ内および他のアセンブリ内の他のクラスの他のメソッドは、プロファイラーによって無視されません。

<instrumentation>
<rules>
<ignore assemblyName="MyAssembly" className="MyNamespace.MyClass" />
</rules>
</instrumentation>

複数の無視ルールを指定できます。 次の例では、Confluent Kafka と StackExchange Redisインストゥルメンテーションの両方を無効にします。

<instrumentation>
<rules>
<ignore assemblyName="Confluent.Kafka" />
<ignore assemblyName="StackExchange.Redis" />
</rules>
</instrumentation>

カスタムインストゥルメンテーションは、 rules要素を介して無視できないことに注意してください。

アプリケーションエレメント(計測器)

applications要素はinstrumentation要素の子です。 applications要素は、インストルメントする非Webアプリを指定するapplication子要素をサポートします。 application要素にはname属性が含まれています。

重要

これはconfiguration要素の子であるapplication (構成)要素と同じではありません。

<instrumentation>
<applications>
<application name="MyService1.exe" />
<application name="MyService2.exe" />
<application name="MyService3.exe" />
</applications>
</instrumentation>

属性要素

属性は、イベントまたはトランザクションのプロパティを決定するキー値のペアです。 各属性は、 APMトランザクション トレース、 APMエラー トレース、Transaction イベント、TransactionError イベント、または PageView イベントに送信されます。 プライマリattributes要素は、.NET エージェントの属性収集を有効または無効にし、収集または除外する特定の属性を定義します。 また、宛先に基づいてプロパティ設定を構成することもできます:エラー収集タグトレース、 browserインストゥルメンテーション、トランザクションイベント

この例では、エージェントはキーがmyApiKeyで始まるすべての属性 ( myApiKey.barmyApiKey.value ) を除外しますが、カスタムアトリビュートmyApiKey.fooを収集します。

<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>

.NET APM属性は、 .NETエージェント属性ページで表示できます。エージェントAPI呼び出しAddCustomAttributeを使用してカスタム属性を定義することもできます。

機能オプション

これらのオプションを使用して、New Relic の機能を有効、無効、および設定します。New Relic for .NET では、以下の機能を設定することができます。

アプリ・プール

重要

これは、システムの グローバルコンフィグファイル にのみ適用されます。

重要

この設定は、IIS ホスティング モデルがインプロセスに設定されている場合にのみ適用されます。

applicationPools要素はconfiguration要素の子です。 applicationPools要素は、プロファイラーに対して、インストルメントするアプリケーションプールを正確に指定し、IISアプリケーションプール名と同じ名前を使用します。この構成要素は、アプリプールのごく一部のみをインストルメント化する必要がある場合に役立ちます。たとえば、特定のサーバーに数百のアプリケーションプールがある場合でも、.NETエージェントがインストルメント化する必要があるのはそれらのプールのほんの一部です。

ここでは、特定のアプリケーションプールに対するインスツルメンテーションを無効にする例を示します。

<applicationPools>
<applicationPool name="Foo" instrument="false"/>
<applicationPool name="Bar" instrument="false"/>
</applicationPools>

ここでは、現在サーバー上で実行されているすべてのアプリケーションプールのインスツルメンテーションを無効にし、特定のアプリケーションプールのインスツルメンテーションを有効にする例を示します。

<applicationPools>
<defaultBehavior instrument="false"/>
<applicationPool name="Foo" instrument="true"/>
<applicationPool name="Bar" instrument="true"/>
</applicationPools>

applicationPools要素は次の要素をサポートします。

エラー収集

errorCollector要素はconfiguration要素の子です。 errorCollectorは、キャッチされなかった例外に関する情報をキャプチャしてNewRelicに送信するエラー収集を構成します。

<errorCollector enabled="true" captureEvents="true" maxEventSamplesStored="100">
<ignoreClasses>
<errorClass>System.IO.FileNotFoundException</errorClass>
<errorClass>System.Threading.ThreadAbortException</errorClass>
</ignoreClasses>
<ignoreMessages>
<errorClass name="System.Exception">
<message>Ignore message</message>
<message>Ignore too</message>
</errorClass>
</ignoreMessages>
<ignoreStatusCodes>
<code>401</code>
<code>404</code>
</ignoreStatusCodes>
<expectedClasses>
<errorClass>System.ArgumentNullException</errorClass>
<errorClass>System.ArgumentOutOfRangeException</errorClass>
</expectedClasses>
<expectedMessages>
<errorClass name="System.Exception">
<message>Expected message</message>
<message>Expected too</message>
</errorClass>
</expectedMessages>
<expectedStatusCodes>403,500-505</expectedStatusCodes>
<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>
</errorCollector>

ヒント

APMでのエラー構成の概要については、「APMでのエラーの 管理」を参照してください。

重要

expectedClassesexpectedMessages 、およびexpectedStatusCodesの構成設定には、 .NETエージェントバージョン8.31.0.0以降が必要です

errorCollector要素は、次の要素と属性をサポートします。

ハイセキュリティモード

highSecurity要素はconfiguration要素の子です。高セキュリティ モードを有効にするには、このプロパティをtrueに設定し、New Relic ユーザー インターフェイスで高セキュリティ プロパティを有効にします。高度なセキュリティを有効にすると、SSL が有効になります。リクエストパラメータ、カスタムパラメータ、HTTPリクエストヘッダーは収集されません。例外メッセージの削除が有効になっています。また、クエリをそのままの形式で New Relic に送信することはできません。

例外メッセージの除去

stripExceptionMessages要素はconfiguration要素の子です。例外メッセージの除去を有効にするには、このプロパティをtrueに設定します。デフォルトでは、これは false に設定されています。これは、エージェントがすべての例外からのメッセージを New Relic コレクターに送信することを意味します。高セキュリティ モードを有効にすると、これは自動的に true に変更され、エージェントは例外からメッセージを削除します。

Transactionイベント

transactionEvents要素はconfiguration要素の子です。 transactionEventsを使用してトランザクションイベントを構成します。

<transactionEvents enabled="true" maximumSamplesStored="10000">
<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>
</transactionEvents>

transactionEvents要素は次の属性をサポートします。

カスタムイベント

customEvents要素はconfiguration要素の子です。 customEventsを使用してカスタムイベントを構成します。

<customEvents enabled="true" maximumSamplesStored="10000"/>

customEvents要素は次の属性をサポートします。

カスタムパラメータ

customParameters要素はconfiguration要素の子です。 customParametersを使用してカスタムパラメータを設定します。

<customParameters enabled="true" />

customParameters要素は次の属性をサポートします。

ラベル(タグ)

labels要素はconfiguration要素の子です。

これにより、 タグの名前と値が設定されます。このリストは、コロンで区切られた名前と値のペアのセミコロン区切りのリストです。 NEW_RELIC_LABELS環境変数と一緒に使用することもできます。例:

<labels>foo:bar;zip:zap</labels>
NEW_RELIC_LABELS="foo:bar;zip:zap"

ブラウザのインストゥルメンテーション

browserMonitoring要素はconfiguration要素の子です。 browserMonitoring .NET アプリケーションでを構成します。 browserエンドユーザーのパフォーマンス体験をインサイトに提供します。 これは、各ページのヘッダーとフッターに少量の JavaScript コードを挿入することにより、ユーザーのブラウザーが Web ページをダウンロードしてレンダリングするのにかかる時間を測定することで実現されます。

// If you use both the Exclude and Attribute elements
// the Exclude element must be listed first.
<browserMonitoring autoInstrument="true">
<requestPathsExcluded>
<path regex="url-regex-1"/>
<path regex="url-regex-2"/>
...
<path regex="url-regex-n"/>
</requestPathsExcluded>
<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>
</browserMonitoring>

browserMonitoring要素は次の属性をサポートします。

問い合わせの遅さ

slowSql要素はconfiguration要素の子です。 slowSqlは、遅いクエリ実行に関する情報のキャプチャを構成し、これらのクエリの説明プランをキャプチャして難読化します。

<slowSql enabled="true"/>

slowSql要素は次の属性をサポートします。

トランザクショントレース

transactionTracer要素はconfiguration要素の子です。 transactionTracerはトランザクショントレースを構成します。トレースには、発行されたクエリステートメントを含む、トランザクションの正確な呼び出しシーケンスが含まれます。

<transactionTracer enabled="true"
transactionThreshold="apdex_f"
recordSql="obfuscated"
explainEnabled="true"
explainThreshold="500"
maxSegments="3000"
maxExplainPlans="20">
<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>
</transactionTracer>

transactionTracer要素は次の属性をサポートします。

データストアトレーサー

datastoreTracer要素はconfiguration要素の子です。

<datastoreTracer>
<instanceReporting enabled="true" />
<databaseNameReporting enabled="true" />
<queryParameters enabled="false" />
</datastoreTracer>

datastoreTracer要素は、次のサブ要素をサポートします。

ディストリビューティッド(分散)トレーシング

distributedTracing要素はconfiguration要素の子です。

<distributedTracing enabled="false"
excludeNewrelicHeader="false"/>

分散トレースを使用すると、リクエストが分散システムを通過するときにたどるパスを確認できます。.NETエージェントバージョン8.6.45.0以降が必要であり、.NETエージェント9.0.0.0以降ではデフォルトでオンになっています。

重要

分散トレースを有効にすると、クロスアプリケーショントレースが無効になり、APM機能に他の影響があります。有効にする前に、計画ガイドをお読みください。

分散トレースの設定の詳細については、「。 NETアプリケーションの分散トレースを有効にする」を参照してください

distributedTracing要素は次の属性をサポートします。

分散型トレーシングはスパンイベントを報告します。スパンイベントのレポートはデフォルトで有効ですが、 ディストリビュートトレース スパンをレポートするためには有効にする必要があります。スパンイベントを無効にするには、次のいずれかのオプションを選択します。

無限のトレース

Infinite Tracing は、 エージェントの外部にあるトレース オブザーバーを採用することで、分散トレース サービスを拡張します。さまざまなサービスでアプリケーション トレースを 100% 監視し、実用的なデータを提供するため、問題をより迅速に解決できます。

Infinite Tracingを有効にするには、 .NET エージェントのバージョンが 8.30 以降であることを確認し、分散トレースを有効にします。次に、次の追加設定を追加します。

<configuration . . . >
<distributedTracing enabled="true" />
<infiniteTracing>
<trace_observer host="YOUR_TRACE_OBSERVER_HOST" />
</infiniteTracing>
</configuration>

重要

無限トレーススパンは、 transactionTracer.maxSegments設定によって制限できます。

infiniteTracing要素は次の要素をサポートします。

クロスアプリケーショントレース

crossApplicationTracer要素はconfiguration要素の子です。 crossApplicationTracerは、アプリケーション間でトランザクショントレースをリンクします。サービス指向アーキテクチャーでリンクされると、HTTPを介して相互に通信するすべてのインストルメント化されたアプリケーションは、トランザクショントレースを、それらが呼び出すアプリケーションおよびそれらが呼び出されるアプリケーションと「リンク」するようになります。クロスアプリケーショントレースを使用すると、サービスとアプリケーション間のパフォーマンスの関係を簡単に理解できます。

重要

クロスアプリケーション トレースは、エージェント v9.0.0 の時点で非推奨となり、デフォルトで無効になっています。 将来のエージェントのバージョンでは削除される予定です。 エージェントの v9 以降で CAT を使用するには、 crossApplicationTracer.enabled = truedistributedTracing.enabled = falseの両方を設定する必要があります。 ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーション トレーシングが無効になります。

<crossApplicationTracer enabled="true"/>

crossApplicationTracer要素は次の属性をサポートします。

スパンイベント

spanEvents要素はconfiguration要素の子です。 spanEventsを使用してスパンイベントを構成します。

<spanEvents enabled="true">
<attributes enabled="true">
<exclude>myApiKey.*</exclude>
<include>myApiKey.foo</include>
</attributes>
</spanEvents>

spanEvents要素は次の属性をサポートします。

HTTPリクエストヘッダの取得

allowAllHeaders要素はconfiguration要素の子です。これをtrueに設定して、.NET エージェントがすべての HTTP 要求ヘッダーをキャプチャーし、それらをrequest.headers.{http-header-name}属性として { SpanおよびTransactionイベントに適用できるようにします。これをfalseに設定すると、.NET エージェントのみが次の HTTP 要求ヘッダーを収集できるようになります:

  • request.headers.referer
  • request.headers.accept
  • request.headers.content-length
  • request.headers.host
  • request.headers.user-agent

重要

allowAllHeaders設定は、.NETAgentバージョン8.40.0以降でのみ使用できます。 allowAllHeadersを使用して属性をキャプチャする場合、キャプチャされたリクエストヘッダー属性は、ルートレベルと宛先レベルの属性設定によって引き続き制御されます。 attributes要素の下のincludeリストにrequest.header.*を設定しなくても(以下を参照)、.NETエージェントはすべてのヘッダー属性を除外します。デフォルトのnewrelic.configは、 request.header.*を含むように設定されています。

<allowAllHeaders enabled="true" />
<attributes enabled="true">
<include>request.headers.*</include>
...
</attributes>

デフォルトのnewrelic.configは、.NETエージェントが不要なデータを収集しないように、次のHTTPリクエストヘッダーを明示的に除外するようにも設定されています。

<attributes enabled="true">
<exclude>request.headers.cookie</exclude>
<exclude>request.headers.authorization</exclude>
<exclude>request.headers.proxy-authorization</exclude>
<exclude>request.headers.x-*</exclude>
</attributes>

アプリケーションログ

重要

これらの構成オプションは、.NET エージェント バージョン 9.7.1 以降でのみ使用できます。コンテキスト データ (カスタム属性) に関連するオプションは、.NET エージェント バージョン 10.4.0 以降でのみ使用できます。

applicationLogging要素はconfiguration要素の子です。 applicationLoggingを使用して、アプリケーションのロギングアクティビティのインストルメンテーションを構成します。

3つの主要なサブ機能があります。

  1. メトリック:ハーベストサイクルごとに書き込まれるログ行の総数( Logging/lines )、および特定のログレベル(たとえば、 Logging/lines/ERROR )で書き込まれるログ行の数に関するメトリックを収集します。

  2. ログ転送:有効にすると、エージェントはログデータをキャプチャしてNewRelicに送信します。

    • コンテキスト データ ( AddCustomAttribute経由): 有効にすると、エージェントはカスタム ログ属性をキャプチャして転送します。include要素とexclude要素は、他のエージェント属性設定と同じルールに従って、含めるか除外する属性名のカンマ区切りのリストです。デフォルトでは両方とも空であるため、すべてのログ コンテキスト データがキャプチャされて転送されます。
    • ログレベルのフィルタリング: カンマ区切りのリストで 1 つ以上のログ レベルを設定すると、エージェントはそれらのレベルのメッセージがキャプチャされ、転送されるのを防ぎます。
  3. ローカルログデコレーション:有効にすると、既存のログは、エラーなどの他のNewRelicデータとログをリンクするメタデータでデコレーションされます。

詳細については、コンテキストでの .NET エージェント ログの使用に関するドキュメントを参照してください。

<applicationLogging enabled="true">
<metrics enabled="true" />
<forwarding enabled="true" maxSamplesStored="10000" logLevelDenyList="">
<contextData enabled="false" include="" exclude="" />
</forwarding>
<localDecorating enabled="false" />
</applicationLogging>

これらの機能は、環境変数を介して構成することもできます。

NEW_RELIC_APPLICATION_LOGGING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE="myCustomAttribute1, myOtherCustomAttribute*"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE="myCustomAttribute2, myOtherCustomAttributeMoreSpecificName"
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn"
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true

applicationLogging要素は、次の属性とサブ要素をサポートします。

コードレベルの指標

codeLevelMetrics要素はconfiguration要素の子です。 codeLevelMetricsを使用して、スパンイベントの属性としてキャプチャされた追加のインストルメント化されたメソッドメタデータを介してCodeStreamでコードレベルのメトリックサポートを有効にします。

詳細については、 NewRelicCodeStreamの統合に関するドキュメントを参照してください。

<codeLevelMetrics enabled="true" />

これは、環境変数を介して構成することもできます。

NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true

AIモニタリング

デフォルトでは、AI モニタリングは無効になっています。 AI モニタリングを有効にするには、 aiMonitoring要素でenabled属性をtrueに設定します。 aiMonitoring要素はconfiguration要素の子です。

<aiMonitoring enabled="true" />

これは、環境変数を介して構成することもできます。

NEW_RELIC_AI_MONITORING_ENABLED=true

aiMonitoring要素は、次のサブ要素をサポートします。

app.configまたはweb.configでの設定

ASP.NETおよび.NETFrameworkコンソールアプリの場合、アプリのapp.configまたはweb.configの最も外側の要素である<configuration>で次の設定を構成することもできます。

appsettings.jsonでの設定

.NET Coreアプリの場合、次の条件が当てはまる場合は、 appsettings.jsonで次の設定を構成できます。

重要

ASP.NET Core アプリの場合、 ASPNETCORE_ENVIRONMENT変数を設定すると、.NET エージェントはappsettings.{environment}.jsonから読み取ります。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.