.NET エージェントは、多くの一般的なバックエンドタイプを自動検出します。ほとんどのバックエンドタイプには、デフォルトの検出ルールおよび構成可能なプロパティが含まれています。バックエンド検出ルールの変更方法については、「バックエンド検出ルール」および「イグジットポイント検出ルール」を参照してください。

その他のトラフィック トランザクションすべてについては、「ビジネストランザクション」を参照してください。

ADO.NETバックエンド

.NETエージェントは、データベースバックエンドととして標準的なMicrosoftインターフェイスを実装するADO.NETデータプロバイダーを自動検出します。「.NET対応環境」を参照してください。

ADO.NET API はインターフェイスに基づくため、AppDynamics ではこのインターフェイスを実装するすべての ADO.NET データベースプロバイダーをデフォルトでインストゥルメント化します。

AppDynamics では、ADO.NET 接続文字列からデータベースの識別情報を使用します。接続文字列で、サーバのアドレスとスキーマ、またはローカルファイル名を指定します。ほとんどの接続文字列は、データベース名の解析、集約が可能な周知のルールに従ってフォーマット化されます。ただし、接続文字列には標準というものがないため、フォーマットの選択は ADO.NET プロバイダーの開発者によって決まります。

プロバイダーによっては、AppDynamicsで接続文字列の解析ができない場合があります。この場合、.NET エージェントはユーザパスワードを除く完全な接続文字列を使用します。プロパティは ADO.NET connection string とラベル付けされ、値はユーザパスワードを除く接続文字列を示します。

たとえば、.NET エージェントは接続文字列パターン <datasource name>-<database name> を使用して、次のデータベースバックエンドを命名します。

.\SQLEXPRESS-HowdyWorldDB

ADO.NET の構成可能なプロパティ

ADO.NET イグジットポイントに対する以下のプロパティの使用を有効または無効にできます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

ホスト(Host)

はい

データソースまたはデータベースサーバ

データベース

はい

データベース名

ベンダー

いいえ

クライアント側の ADO.NET ライブラリのタイプ

接続文字列

いいえ

パスワードが除外された完全な接続文字列

[ポート(Port)]

いいえ

ポート番号

.NET の Azure Service Bus バックエンド

.NET エージェントは、インストゥルメント化されたティアが Azure Service Bus を呼び出すと、Azure Service Bus バックエンドを自動的に検出します。エージェントは、クライアントライブラリ Azure.Messaging.ServiceBus バージョン 7.0.0 以降をサポートしています。

Azure Service Bus イグジットポイントは、キューまたはトピックにメッセージを送信またはパブリッシュするメソッドです。Azure Service Bus エントリポイントは、キューまたはトピックからメッセージを受信するメソッドです。エージェントは、送信者の exit コールから受信者のエントリポイントへのキューの相関をサポートします。

Azure Service Bus トランスポート経由で NServiceBus を使用している場合は、「」を参照してください。.NETのNServiceBusバックエンド

イグジットポイントとバックエンドの命名

エージェントは、ダウンストリーム アプリケーションがメッセージまたはメッセージのバッチをキューまたはトピックに送信またはパブリッシュするときに、Azure Service Bus バックエンドのイグジットポイントを検出します。

エージェントは、次のプロパティを使用してバックエンドを識別します。

  • [Address]:Azure Service Bus サーバーへの URI アドレス。たとえば、//myservicebusname.servicebus.windows.net/ となります。
  • [Host]:Azure Service Bus サーバーのホスト。たとえば、myservicebusname.servicebus.windows.net となります。
  • [Path]:メッセージが送信またはパブリッシュされるキューまたはトピックの名前。たとえば、myqueuename となります。

エージェントは、バックエンドに Address/Path という名前を付けます。たとえば、amqps://myservicebusname.servicebus.windows.net/myqueuename となります。

エントリポイント

アップストリーム アプリケーションがキューまたはトピックからメッセージを受信すると、エージェントは Azure Service Bus エントリポイントを検出します。エージェントは、バックエンドと同様に、エントリポイントに Address/Path という名前を付けます。

エージェントは、ServiceBusProcessor メッセージハンドラの受信パターンをサポートします。

ServiceBusProcessor メッセージハンドラ

エージェントは、アプリケーションが ServiceBusProcessor を使用して構成されたメッセージハンドラを使用して着信メッセージを処理する次のパターンを検出します。この場合、コールのタイミングはハンドラ全体の実行時間を反映します。エージェントは、ハンドラ内で行われた終了コールも検出します

ServiceBusProcessor の例

ServiceBusClient client = ...; string queueName = ...; await using ServiceBusProcessor processor = client.CreateProcessor(queueName); processor.ProcessMessageAsync += args => { Console.WriteLine($"Message Received: {args.Message.Body}"); // more logic if needed };
C#

その他のパターン

エージェントは、アプリケーションが他の受信パターンで使用できる ServiceBusReceiver.CompleteMessageAsync(ServiceBusReceivedMessage,CancellationToken) を呼び出すときにエントリポイントを検出します。ただし、この場合、コールのタイミングには、メッセージの完了にかかった時間のみが反映されます。エージェントは、このパターンのメッセージの処理中に終了コールを検出しません。

ディレクトリサービスバックエンド

.NET エージェントは、System.DirectoryServices.Protocols(S.DS.P)ライブラリを使用するディレクトリサービスへの exit コールを自動検出します。

エージェントはサーバ名のバックエンドを命名します。エージェントがリクエストからサーバ名を派生できない場合、ドメインコンポーネント(DC)値を使って名前を構成します。

例:activedirectory.example.com

HTTPバックエンド

AppDynamics は、HTTP イグジットポイント(バックエンド)を自動検出します。「HTTP バックエンド検出」を参照してください。

Windows 用の .NET エージェント

Windows 用の .NET エージェントの場合、デフォルトの HTTP 自動検出ルールでは URL プロパティが使用されます。有効化されたプロパティから、AppDynamics は URL を使用して表示名を生成します。

例:http://api.example.com:8989/searchfares

.NET Agent for Linux

Linux 用の .NET エージェントの場合、バックエンドのデフォルトの HTTP 自動検出ルールでは、ホスト名とポート番号が使用されます。 

例:http://api.example.com:8989/

HTTP の構成可能なプロパティ

Windows および Linux バージョンの .NET エージェントの場合、以下の HTTP イグジットポイントのプロパティの使用を有効化または無効化できます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明
Windows 用の .NET エージェント.NET Agent for Linux

ホスト(Host)

非対応

はいHTTPホスト

[ポート(Port)]

非対応

はいHTTPポート番号

URL

はい

いいえ完全なURL

クエリ文字列

非対応

はいHTTPパラメータ/クエリ文字列

メッセージキューのバックエンド

デフォルトで、AppDynamics では多数のメッセージ キュー イグジット ポイントが自動的に検出および識別されます。サポートされているメッセージ指向ミドルウェア製品のリストについては、「.NET でサポートされているリモートサービス検出」を参照してください。

デフォルトのキュー自動検出ルールは、宛先のプロパティを使ってメッセージキューバックエンドを命名します。

例:HowdyWorldQueue$\HWT_MQ_Server1_MsgQ

メッセージキューの構成可能プロパティ

次の表に、キューのイグジットポイントに使用されるプロパティを示します。ただし、メッセージ指向の製品はそれぞれ異なるため、プロパティや名前に多少の違いが生じる場合があります。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

ホスト(Host)

なし

キューサーバ名

[接続先(Destination)]

はい

トピックまたはキューの名前

宛先タイプ

いいえ

キューまたはトピック

ベンダー

いいえ

クライアントライブラリからのベンダー

特定のキュータイプについては、以下をご確認ください。

MongoDBバックエンド

デフォルトでは、.NET エージェントは MongoDB exit コールを検出し、C# と .NET MongoDB ドライババージョン 1.10、2.0、2.2、および 2.4 を使用してオペレーションを作成、読み込み、更新、削除(CRUD)します。

デフォルトの MongoDB の自動検出ルールは、ホスト、ポート、およびデータベース名を使用して MongoDB バックエンドを命名します。

例:mymongohost.27017.mymongodb

MongoDB の構成可能なプロパティ

MongoDB イグジットポイントに対する以下のプロパティの使用を構成できます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

ホスト(Host)

はい

MongoDBホスト

[ポート(Port)]ありMongoDBポート
データベースありMongoDBデータベース名

.NET Remoting

AppDynamics では、アプリケーションが .NET リモート処理を使用する際にリモート処理イグジットポイント(バックエンド)を自動的に検出、識別します。ダウンストリーム相関を構成する場合は、「.NET Remotingの関連付けを有効化」を参照してください。

デフォルトのリモート処理自動検出ルールは URL プロパティを使用します。 

例:tcp://remoting.example.com:8648/MovieTicketBooking

.NET リモート処理の構成可能なプロパティ

.NET リモート処理イグジットポイントに対する以下のプロパティの使用を構成できます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

URL

あり

完全なURL

WCFバックエンド

AppDynamics では、アプリケーションが WCF クライアントライブラリを使用する際に WCF イグジットポイント(バックエンド)を自動的に検出、識別します。デフォルトの WCF 自動検出ルールはリモート アドレス プロパティを使用します。エージェントは、有効なプロパティからリモートアドレスを使用して表示名を生成します。

例:http://wcf.example.com:8205/Services/Service1.svc

エージェント互換性

次の表では、.NET エージェントの各バリエーションでの WCF バックエンド検出のサポートについて説明します。

エージェントとバージョンWCF バックエンド検出のサポート
Windows 用 .NET エージェント(.NET Framework)完全サポート
.NET Agent for Linux 20.7.0 以降

一部サポートあり

  • .NET Core 3.1 以降で動作
  • HTTP 経由の非同期コールに対応
  • Operation ContractService Contract、および SOAP Action の各プロパティはサポートされません。
Windows 用 .NET エージェント(.NET Core)21.3.0 以降

WCF の構成可能なプロパティ

WCF イグジットポイントに対する以下のプロパティの使用を有効または無効にできます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

リモートアドレス

はい

クエリ、フラグメント、ユーザ情報(名前とパスワード)を除く URL

運用契約

いいえ

WCF オペレーションコントラクト名

サービス契約いいえWCF サービスコントラクト名

URL

いいえ

完全なURL

ホスト(Host)

いいえ

URL のホスト部分

[ポート(Port)]

いいえ

URL に存在する場合はポート番号、存在しない場合はプロトコルのデフォルト値

SOAPアクション

いいえ

Web サービスコールの場合は SOAP アクション

.NET Webサービスのバックエンド

デフォルトで、アプリケーションが Microsoft Web サービス クライアント ライブラリを使用すると、AppDynamics は Web サービスイグジットポイント(バックエンド)を自動的に検出、識別します。デフォルトのWebサービス自動検出ルールはURLプロパティを使用します。有効化されたプロパティから、AppDynamics は URL を使用して表示名を生成します。

例:http://webservice.example.com:8105/Services/Service1.asmx

Web サービスの構成可能なプロパティ

Web サービス イグジット ポイントに対する以下のプロパティの使用を有効または無効にできます。

構成可能なプロパティ

デフォルトの検出と命名のプロパティかどうか

説明

サービス

なし

Web サービス名

URL

あり

完全なURL

操作

いいえ

Web サービスオペレーション名

Soapアクション

なし

SOAPアクション

カスタムイグジットポイント

.NET対応環境 に含まれていないバックエンドをモニタするには、カスタムイグジットポイントを設定できます。

デフォルトでは、インストゥルメンテーションの変更を反映させるにはインストゥルメント化されたアプリケーションを再起動する必要があります。.NET エージェントのランタイム リインストゥルメンテーションを有効化すると、インストゥルメンテーションの変更後にアプリケーションと AppDynamics.Agent.Coordinator を再起動する必要がなくなります。