デフォルトの .NET エージェント PBD データ収集のカスタマイズ
目次
apmdevops97jp
目次
エージェントをインストールするときは、いくつかのデフォルトの ProbeBuilder ディレクティブ(
.pbd
)ファイルと、.NET Framework および ASP.NET アプリケーションの多数の一般的なコンポーネントで有効な監視機能も一緒にインストールされます。このセクションでは、デフォルトで提供される監視、およびカスタム .pbd
ファイルを作成せずにデフォルトの監視を変更する方法について説明します。デフォルトの ProbeBuilder ファイルについて
ProbeBuilder ディレクティブ ファイルは、挿入するプローブのタイプと、プローブを配置するコード内の場所を指定します。タイマやカウンタなどのプローブは、エージェントが Introscope Enterprise Manager にレポートするメトリックを制御します。カスタマイズなしで、エージェントが初期状態でメトリックを収集できるようにするために、Introscope には、事前に定義された ProbeBuilder ファイルのデフォルト セットが含まれます。
- ProbeBuilder ディレクティブ(PBD)ファイル:プローブを挿入し、アプリケーションのメトリックを取得するための、具体的な指示が含まれます。
- ProbeBuilder リスト(PBL)ファイル:すべてまたは一部のコンポーネントを監視するために一緒にデプロイする、具体的な PBD ファイルのリストが含まれます。
注:
すべてのメトリックは、システム クロックに設定された時刻を使用して計算されます。システム クロックがトランザクション処理中にリセットされた場合、そのトランザクションでレポートされた経過時間は誤っている可能性があります。デフォルトの ProbeBuilder ファイルでは、.NET 環境の最も一般的なコンポーネントの監視が可能です。デフォルトのファイル セット内の設定を細かく調整することで、ご使用の環境に合わせて、一般的なコンポーネントの監視をカスタマイズできます。
デフォルト PBD のコンポーネント追跡
デフォルトの Introscope PBD ファイルは、以下の .NET コンポーネントを追跡します。
- .NET ディレクトリ サービス
- .NET Messaging
- .NET Remoting
- ADO.NET
- ASP.NET
- エンタープライズ サービス
- ネットワーク ソケット
- SMTP メール
- Web サービス
デフォルトの ProbeBuilder ディレクティブ(PBD)ファイル
以下の表では、.NET エージェントと共にインストールされるデフォルトの PBD ファイルについて説明します。
PBD ファイル名 | 説明 |
appmap.pbd | このファイルは、アプリケーション問題切り分けマップのインスツルメンテーションに使用するトレーサ ディレクティブを提供します。 |
appmap-soa.pbd | このファイルは、インストール時に CA APM for SOA を有効にしたかどうかに応じて、.NET Framework クラス ライブラリまたは SOA スタックのための、アプリケーション問題切り分けマップのトレーサ ディレクティブを提供します。 |
appmap-soa.spm.pbd | このファイルは、.NET Framework でサポートされる SOAP スタック用のアプリケーション問題切り分けマップのトレーサ ディレクティブを提供します。 このファイルはユーザがインストール中に CA APM for SOA を有効にしなかった場合にのみインストールされます。インストール時にCA APM for SOA を有効にしている場合、このファイルは appmap-soa.pbd という名前に変更され、デフォルトのエージェントである appmap-soa.pbd は appmap-soa.core.pbd という名前に変更されます。 |
bizrecording.pbd | エージェント ビジネス記録をセットアップするトレーサ定義およびディレクティブのファイルです。 |
biz-trx-http.pbd | このファイルは、ビジネス セントリックの HTTP インスツルメンテーションに使用するトレーサ ディレクティブを提供します。 |
dotnet.pbd | このファイルは、.NET Framework クラス ライブラリをサポートするディレクティブを提供します。 |
errors.pbd | このファイルで、重大なエラーを発生させるコード レベルのイベントを指定して、ErrorDetector を設定します。デフォルトでは、フロントエンドおよびバックエンドのエラーのみが重大と見なされます。すなわち、ユーザにエラー ページとして表示されるエラーやバックエンド システム(ADO.NET、メッセージングなど)の問題を示すエラーのみです。 |
httpheaderdecorator.pbd | CA CEM との統合ソリューションの一部である HTTP ヘッダ デコレータの有効化に使用されるファイルです。 |
leakhunter.pbd | Introscope LeakHunter のインスツルメンテーション設定ファイルです。通常、このファイルの内容を変更する必要はありません。 |
sharepoint-full.pbd | Microsoft SharePoint データの追跡について( TurnOn ディレクティブの形式で)オン/オフを切り替えるファイルです。ほとんどのトレーサ グループがオンになります。 |
sharepoint-typical.pbd | Microsoft SharePoint データの追跡について( TurnOn ディレクティブの形式で)オン/オフを切り替えるファイルです。トレーサ グループのごく一部のみがオンになります。 |
skips.pbd | 再入可能に問題のある一部のアセンブリ、クラスおよびメソッドをスキップするように NativeProfiler に指示するファイルです。 |
spm-correlation.pbd | このファイルは、コンポーネント間にまたがってトランザクション追跡の相関関係付けを制御するディレクティブを提供します。このファイルは、CA APM for SOA を使用するときに、プロセス間にまたがるトランザクション追跡を可能にするのに必要です。 |
sqlagent.pbd | このファイルは、SQL エージェントの設定ファイルです。このファイルを使用して、ADO.NET ベンダー ライブラリ(.dll)をインスツルメントします。通常、このファイルを編集する必要はありません。 |
toggles-full.pbd | 他のディレクティブ ファイルで指定されている追跡について( TurnOn ディレクティブの形式で)オン/オフを切り替えるファイルです。ほとんどのトレーサ グループがオンになります。 |
toggles-typical.pbd | 他のディレクティブ ファイルで指定されている追跡について( TurnOn ディレクティブの形式で)オン/オフを切り替えるファイルです。トレーサ グループのごく一部のみがオンになります。 |
webservices.pbd | このファイルは、.NET Web サービスの監視をサポートするディレクティブを提供します。 このファイルの内容は、インストール時に CA APM for SOA を有効にしたかどうかにより異なります。有効にされているとき、.NET Web サービスおよび SOAP スタックが監視されます。有効にされていないときは .NET Web サービスのみが監視されます。 |
デフォルト ProbeBuilder リスト(PBL)ファイル
各エージェントで利用できる .pbl ファイルのセットは、以下の 2 つです。
- default-full.pbl: デフォルトのファイルです。ほとんどのトレーサ グループがオンに設定されている PBD ファイルを参照します。Introscope は、このセットをデフォルトで使用して、Introscope のフル機能を発揮します。
- default-typical.pbl: 参照される .pbd ファイル内のトレーサ グループのサブセットがオンになります。標準セットには共通の設定が含まれます。これは、特定の環境に合わせてカスタマイズできるセットです。
トレーサ グループは、PBD ファイルに含まれており、PBL ファイルで参照されます。トレーサ グループによって、クラス セットについての情報がレポートされます。.pbd ファイルでは、トレーサ グループは「flag」という用語で記述されます。たとえば、
TraceOneMethodIfFlagged
または SetFlag
は、トレーサ グループの情報を定義します。デフォルトのトレーサ グループおよびトグル ファイル
トレーサ グループは、クラスのセットに適用されるトレーサのセットで構成されます。たとえば、すべてのシステム メッセージング クラスの応答時間および速度をレポートするトレーサ グループがあります。
特定のトレーサ グループをオンまたはオフにして、システムでのメトリックの収集を細かく設定することができます。このことは、トレーサ グループの設定方法によって、オーバーヘッドの増減に影響を与えます。
Tracer グループは
toggles-full.pbd
ファイルおよび toggles-typical.pbd
ファイルで変更できます。これらは default-full.pbl ファイルおよび default-typical.pbl ファイルによって参照されます。toggles-full.pbd ファイルでは、すべてのデフォルト トレーサ グループに対して追跡がオンになっており、検出されたすべての .NET コンポーネントの追跡が有効になります。toggles-typical.pbd ファイルでは、トレーサ グループのサブセットに対して追跡がオフになっています。デフォルトでは、toggles-typical.pbd ファイル内の以下のデフォルト トレーサ グループに対して追跡がオフになっています。
- ネットワークの設定: SocketTracing
- トランザクション ユーティリティの追跡: ContextUtilTracing
- ランタイム Remoting の追跡: RemotingWebServiceTracing
- システム Web メールの追跡: WebMailTracing
ほとんどの場合、デフォルトの toggles-full.pbd および toggles-typical.pbd ファイルは編集せずに使用できます。しかし、特定のトレーサ グループをオンまたはオフにすることによって、メトリックの収集を細かく指定することができます。たとえば、toggles-typical.pbd ファイルを使用している場合、ソケット メトリックの追跡を追加するには、Network Configuration セクションを探し、TurnOn ステートメントをコメント化解除して SocketTracing を有効にします。
TurnOn: SocketTracing
同様に、特定のトレーサ グループの追跡を停止するには、TurnOn ステートメントをコメント化してシステム オーバーヘッドを低減します。たとえば、toggles-full.pbd ファイルを使用しているものの、SQL エージェント オペレーションの追跡には関心がない場合、そのようなオペレーションの追跡を中止するには、SQL Agent Tracing セクションを探し、SQL エージェント トレーサ グループに対して TurnOn ステートメントをコメント化します。
#TurnOn: SQLAgentCommands#TurnOn: SQLAgentDataReaders#TurnOn: SQLAgentTransactions#TurnOn: SQLAgentConnections
また、既存のトレーサ グループにクラスを追加することで追跡をカスタマイズすることもできます。
トレーサ グループのオンまたはオフ
特定のトレーサ グループをオンまたはオフにして、システムでのメトリックの収集を細かく設定することができます。
以下の手順に従います。
- <Agent_Home>ディレクトリで、default-full.pbl または default-typical.pbl に準じて、使用されているファイル タイプに応じて toggles-full.pbd または toggles-typical.pbd を探して開きます。
- オンまたはオフにするトレーサ グループを見つけます。
- 行の先頭にシャープ記号(#)を追加または削除することで、その行をコメント化またはコメント化を解除できます。以下の例は、トレーサ グループをオンまたはオフにしたディレクティブを示しています。TurnOn: SocketTracingこのトレーサ グループはオンになっています。行のコメント化が解除されています。#TurnOn: SocketTracingこのトレーサ グループはオフになっています。行がコメント化されています。
- toggles-full.pbdまたは toggles-typical.pbd を保存します。
エージェントの接続メトリックの設定
デフォルトで、Introscope は、Enterprise Manager に接続されているエージェントの接続ステータスについて監視可能なメトリックを生成します。エージェントの接続メトリックを監視すれば、エージェントと Enterprise Manager 間の接続の現在の状態を判断できます。
エージェントの接続メトリックは、Workstation Investigator の Enterprise Manager プロセス(カスタム メトリック ホスト)の下に表示されます。
Custom Metric Host (Virtual) \ Custom Metric Process(Virtual) \ Custom Metric Agent (Virtual) (*SuperDomain*) \ Agents \ <HostName> \ <Agent Process Name> \ <Agent Name> \ ConnectionStatus
接続メトリックに設定される値を以下に示します。
- 0 -- エージェントに関して利用できるデータがありません。
- 1 -- エージェントは接続されています。
- 2 -- エージェントは、レポートを行うために速度が低下しています。
- 3 -- エージェントは切断されています。
エージェントの切断によって、「注目点」イベントも生成されます。ほかのイベントと同様に、ユーザは、履歴クエリ インターフェースを使用して、エージェントの切断についてクエリを実行できます。エージェント切断イベントは、Workstation および WebView の[概要]タブで、アプリケーションの稼働状況の評価に使用されるデータの一部です。
エージェントが Enterprise Manager から切断された後、Introscope はエージェントがタイムアウトするまで切断状態のメトリックの生成を続けます。エージェントがタイムアウトすると、接続メトリックは生成されなくなり、Enterprise Manager にもレポートされません。
以下の手順に従います。
- Enterprise Manager がインストールされているコンピュータで、<EM_Home>/config ディレクトリにある IntroscopeEnterpriseManager.properties ファイルを開きます。
- 以下のプロパティを変更します。introscope.enterprisemanager.agentconnection.metrics.agentTimeoutInMinutes時間は分単位で指定します。
- IntroscopeEnterpriseManager.properties を保存します。
ソケット メトリック コレクションの制限
ソケット メトリック コレクションはデフォルトで有効になっています。監視対象アプリケーションまたはサービスで一時的なソケットを多数作成するものがあると、CA APM がこれらのソケットについて収集する情報によって、メモリの使用量が通常より大きくなることがあります。またプロセッサの使用量や I/O 時間が増加することもあります。これは、標準ソケットのほか、管理対象ソケットや NIO ソケットでも確認されています。
メモリ オーバーヘッド問題を防ぐために、またはより関連性の高い情報を対象にするために、これらのソケット メトリックのコレクションを完全にオフにすることができます。
以下の手順に従います。
- IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
- Agent Socket Rate Metrics セクションを探します。
- introscope.agent.sockets.reportRateMetrics プロパティを false に設定します。たとえば、以下のように追加します。introscope.agent.sockets.reportRateMetrics=false
- IntroscopeAgent.profile ファイルを保存して閉じます。
注:
トレーサ グループをオンまたはオフにすることでも、メトリック コレクションを制御できます。