.NET の監視機能の追加設定
.NET の基本的な監視設定が完了したら、監視機能を強化するために追加機能を設定できます。
Kafka のトレース相関ヘッダーの設定
bothKafka のトレース相関ヘッダーの形式を設定するには、環境変 INSTANA_KAFKA_HEADER_FORMAT 数を、 stringbinary、または に設定してください。 INSTANA_KAFKA_TRACE_CORRELATION=falseKafka のトレース相関機能を、. を使用して完全に無効にしないでください。
もう一つの方法は、 Instana ホストエージェントのレベルで、 Kafka のトレース相関オプションを設定することです。
詳細については、 「 Kafka ヘッダーの移行」 を参照してください。
プロセスを無視する
Windows で特定のプロセスの監視を無効にするには、以下の手順を実行してください:
- ホストレベルで環境変数を
INSTANA_REWRITER_BACKOFF設定します。 - 次の例に示すように、その値をセミコロンで区切られたプール名またはプロセス名のリストに設定します
INSTANA_REWRITER_BACKOFF=my_pool_1;process_1;my_pool_2 - IISが新しい環境を読み込めるように、次の
iisresetコマンドでIISサービスを再起動してください。
ホワイトリスト登録のプロセス
Instana では、ホワイトリスト機能を使用することで、特定のプロセスのみをトレースするように設定できます。 ホワイトリストが設定されると、指定されたパターンに一致するプロセスのみがトレース対象となります。 その他のすべてのプロセスは除外されます。
ホワイトリスト機能では、大文字と小文字を区別しない正規表現を使用し、セミコロン区切り値に対応しているため、複数のパターンを定義して柔軟なプロセス照合を行うことができます。
特定のプロセスに対してホワイトリスト登録を有効にするには、以下の手順を実行してください:
- ホストレベルで環境変数を
INSTANA_NET_WHITELIST設定します。 - その値を、次の例に示すように、プロセス名または正規表現パターンをセミコロンで区切ったリストに設定します
INSTANA_NET_WHITELIST="^(weBapi|cORe).*;customerService;myApp.dll"ここで、それぞれ以下のとおりです。
^(weBapi|cORe).*大文字小文字を区別せずに、coreでwebapi始まるプロセスに一致します。 このパターンでは、正規表現のアンカーとワイルドカードを使用して、関連する複数のアプリケーションに一致させます。customerServicecustomerService「.」で始まるプロセスファイル名に対して、大文字と小文字を区別しない検索を行います。customerServiceAPI.dllたとえば、や に一致しますCustomerService.dll。myApp.dll特定のアプリケーションと、ファイル名およびファイル拡張子の完全な形式を照合します。
- 環境変数が反映されるように、アプリケーションを再起動してください。
ホワイトリストが設定されると、プロファイラは初期化時に各プロセスをホワイトリストのパターンと照合します。 少なくとも1つのパターンに一致するプロセスに対してのみ、計測が行われます。 一致するプロセスが見つからない場合、プロファイラはプロセスにアタッチせずに終了します。
ホワイトリスト機能は、次のような環境において特に役立ちます:
- 重要なアプリケーションのみを追跡することで、オーバーヘッドを削減する
- 監視対象となる特定のサービスを切り分ける
- 本番環境以外またはテスト環境のプロセスをトレース対象から除外する
INSTANA_REWRITER_BACKOFF注: 環境変 INSTANA_NET_WHITELIST 数が設定されていないか、空の場合、すべてのプロセスがトレースの対象となります(ただし、で設定されたブラックリストのルールが適用される場合があります)。スパンフィルタリングの設定
スパンフィルタリング機能を使用すると、どのスパンを収集して Instana に送信するかを制御できるため、データ量を削減し、最も関連性の高いトレースに焦点を当てることができます。 .NET センサーは、複数の設定方法を通じて柔軟なスパンフィルタリングに対応しています。
詳細については、 「スパンフィルタリング」 を参照してください。
AutoProfile の有効化
.NET をご利用のお客様向けに、 Linux および Windows の両方で動作する.NET アプリケーション向けに、 AutoProfile が利用可能です。
Linux で「 AutoProfile 」を有効にする
AutoProfile, を有効にするには、エージェントの configuration.yml ファイルに以下の設定を追加してください:
com.instana.plugin.netcore:
profiling:
enabled: true
また、環境変数を INSTANA_AUTO_PROFILE true に設定することで、 AutoProfile を有効にすることもできます。
Windows で「 AutoProfile 」を有効にする
AutoProfile, を有効にするには、以下の手順を実行してください:
- エージェントの configuration.yml ファイルに以下の設定を追加してください:
com.instana.plugin.netcore: profiling: enabled: true true環境変数をINSTANA_AUTO_PROFILEに設定してください。
詳細については、 「プロファイルの分析」 を参照してください。
.NET SDK を使用したカスタムトレースの追加
必要に応じて、 Instana (.NET )のトレースSDKを使用して、アプリケーションコードにカスタムスパンを追加することができます。
標準の Instana 計測機能に加えてカスタムトレースを使用するには、アプリケーションに NuGet パッケージ Instana.Tracing.Core.Sdk を追加してください。
コードに分散トレーシング機能を追加する方法の詳細については、.NET または .NET Core Tracing SDK を参照してください。
イベント駆動型計測の設定
Instana .NET 環境において、計測対象のライブラリから発信されるイベントを監視することでテレメトリデータを取得する、イベント駆動型の計測機能をサポートしています。 実行時に中間言語(IL)コードを書き換える代わりに、 Instana .NET Tracer はこれらのイベントを監視し、それらを分散トレースに変換します。
要件
- .NET 6.0 またはそれ以降、もしくは .NET Core 3.1 またはそれ以降で、 DiagnosticSource 6.0 + パッケージを使用
- Instana .NET センサー 1.0.96 以降
イベント駆動型トレースの有効化または無効化
デフォルトでは、イベント駆動型の計測機能は無効になっています。 次の環境変数を設定することで、明示的に有効にすることができます:
# Enable event-driven tracing (disabled by default)
INSTANA_ENABLE_EVENT_TRACING=true
ActivitySource イベントのフィルタリング
以下の例に示すように環境変数を設定することで、除外または含める ActivitySource イベントを制御できます:
特定の情報源をブラックリストに登録する:
# Exclude specific ActivitySource names (comma-separated)
INSTANA_DOTNET_BLACKLISTED_ACTIVITYSOURCES="MyApp.Internal,ThirdParty.Debug"
デフォルトでブラックリストに登録されている特定のソースをホワイトリストに登録する:
# Include only specific ActivitySource names (comma-separated)
INSTANA_DOTNET_WHITELISTED_ACTIVITYSOURCES="MyApp.Api,MyApp.Services"
計測の重複や不要なノイズを防ぐため、 Instana ではデフォルトで以下の ActivitySource パターンをブラックリストに登録しています:
| System.Net 内部活動 | システムのスレッド処理 | ASP.NET Core 社内ホスティング | その他の活動 |
|---|---|---|---|
System.Net.SocketsSystem.Net.SecuritySystem.Net.QuicSystem.Net.NetworkInformationSystem.Net.MailSystem.Net.Experimental.* |
System.Threading.* |
Microsoft.Extensions.*Microsoft.AspNetCore.Experimental.*Microsoft.AspNetCore.HostingMicrosoft.AspNetCore.Server.Kestrel.Transport.SocketsMicrosoft.AspNetCore.Server.Kestrel.ConnectionsMicrosoft.AspNetCore.Routing.EndpointMiddleware |
Experimental.* |