デフォルト データ収集のカスタマイズ

内容
apmdevops96jp
内容
エージェントをインストールするときは、いくつかのデフォルトの ProbeBuilder ディレクティブ(
.pbd
)ファイルと、.NET Framework および ASP.NET アプリケーションの多数の一般的なコンポーネントで有効な監視機能も一緒にインストールされます。 このセクションでは、デフォルトで提供される監視、およびカスタム
.pbd
ファイルを作成せずにデフォルトの監視を変更する方法について説明します。
デフォルトの ProbeBuilder ファイルについて
ProbeBuilder ディレクティブ(
.pbd
)ファイルは、挿入するプローブのタイプと、プローブを配置するコード内の場所を指定します。 タイマやカウンタなどのプローブは、エージェントが 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 ファイル名
Description
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 サービスのみが監視されます。
 
レガシー モードのファイル場所
製品は、 <
Agent_Home
>/examples/legacy ディレクトリでレガシー モード PBD および PBL ファイルを提供します。 このディレクトリ内のファイル名には、それぞれ、default-full-legacy.pbl のように -legacy サフィックスが付いています。
デフォルト 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
また、既存のトレーサ グループにクラスを追加することで追跡をカスタマイズすることもできます。
トレーサ グループのオンまたはオフ
特定のトレーサ グループをオンまたはオフにして、システムでのメトリックの収集を細かく設定することができます。
以下の手順に従います。
  1. default-full.pbl
    または
    default-typical.pbl
    で使用しているファイル タイプに応じて、
    toggles-full.pbd
    または
    toggles-typical.pbd
    を開きます。 これらのファイルは、
    <Agent_Home>
    ディレクトリ内にあります。
  2. オンまたはオフにするトレーサ グループを見つけます。
  3. 行の先頭にシャープ記号(#)を追加または削除することで、その行をコメント化またはコメント化を解除できます。 以下の例は、トレーサ グループをオンまたはオフにしたディレクティブを示しています。
    TurnOn: SocketTracing
    このトレーサ グループはオンになっています。 行のコメント化が解除されています。
    #TurnOn: SocketTracing
    このトレーサ グループはオフになっています。 行がコメント化されています。
  4. 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 にもレポートされません。
以下の手順に従います。
  1. Enterprise Manager がインストールされているコンピュータで、
    <EM_Home>/config
    ディレクトリにある
    IntroscopeEnterpriseManager.properties
    ファイルを開きます。
  2. 以下のプロパティを変更します。
    introscope.enterprisemanager.agentconnection.metrics.agentTimeoutInMinutes
    時間は分単位で指定します。
  3. IntroscopeEnterpriseManager.properties
    を保存します。
ソケット メトリック コレクションの制限
ソケット メトリック コレクションはデフォルトで有効になっています。 監視対象アプリケーションまたはサービスで一時的なソケットを多数作成するものがあると、CA APM がこれらのソケットについて収集する情報によって、メモリの使用量が通常より大きくなることがあります。 またプロセッサの使用量や I/O 時間が増加することもあります。 これは、標準ソケットのほか、管理対象ソケットや NIO ソケットでも確認されています。
メモリ オーバーヘッド問題を防ぐために、またはより関連性の高い情報を対象にするために、これらのソケット メトリックのコレクションを完全にオフにすることができます。
以下の手順に従います。
  1. IntroscopeAgent.profile
    ファイルをテキスト エディタで開きます。
  2. Agent Socket Rate Metrics セクションを探します。
  3. introscope.agent.sockets.reportRateMetrics
    プロパティを
    false
    に設定します。 たとえば、以下の通りです。
    introscope.agent.sockets.reportRateMetrics=false
  4. IntroscopeAgent.profile
    ファイルを保存して閉じます。
注:
トレーサ グループをオンまたはオフにすることでも、メトリック コレクションを制御できます。
.NET エージェントのログ オプションの構成
以下のセクションでは、.NET エージェントを冗長モードで実行する方法、およびエージェントのログ ファイルのオプションを設定する方法を説明します。 これらの機能について、Introscope の .NET エージェントでは、
Log4net
の機能が使用されます。 ほかの
Log4net
機能を使用する場合は、http://logging.apache.org/log4net/release/features.html にある Log4net のドキュメントを参照してください。
冗長モードでの .NET エージェントの実行
.NET エージェントを冗長モードで実行すると、ログ ファイルに詳細な情報が記録されます。これはデバッグ時に役立ちます。
.NET エージェントを冗長モードで実行する方法
  1. .NET エージェントを停止します。
  2. logging.config.xml
    ファイルを開きます。
  3. level value
    属性を
    VERBOSE
    に変更します。 デフォルトは
    INFO
    です。
    <root>
    <level value="VERBOSE" />
    <appender-ref ref="logfile" />
    <appender-ref ref="console" />
    </root>
  4. logging.config.xml
    ファイルを保存して、.NET エージェントを再起動します。
.NET エージェントのログ ファイルの場所の変更
ログ ファイルはデフォルトで
<Agent_Home>\logs
ディレクトリに書き込まれます。 通常は、
C:\Program Files\CA Wily\Introscope<バージョン>\wily\logs
です。ここで、
<バージョン>
はインストールしてある Introscope のバージョンです
使いやすくするために、.NET エージェント ログ ファイルの場所を変更することができます。
.NET エージェント ログ ファイルの場所を変更する方法
  1. .NET エージェントを停止します。
  2. logging.config.xml
    ファイルを開きます。
  3. file value
    属性を、ログ ファイルを置きたい場所に変更します。たとえば、以下のとおりです。
    <file value="c:\introscope_logs\IntroscopeAgent.log" />
  4. logging.config.xml
    ファイルを保存します。
  5. .NET エージェントを再起動します。
エージェントの名前を自分で設定した場合は、名付けたエージェントのログが、デフォルトの場所または指定した新しい場所の
logs
ディレクトリに書き込まれます。
.NET エージェントのログ ファイルおよびエージェントの自動ネーミング
デフォルトで、.NET エージェントには自動的に名前が付けられます。 .NET エージェントの名前が自動的に付けられると、そのエージェントに関連するログ ファイルにも同じ情報を使用して自動的に名前が付けられます。 エージェントによって生成されるログ ファイルには、インスツルメンテーション プロセス中に使用された PBD および挿入されたプローブに関する情報が記録されます。 自動名前付けを使用する場合、デフォルトでは、作成されるログ ファイルには、タイム スタンプを使用した名前が最初に付けられます。 たとえば、以下の通りです。
AutoProbe20060928-175024.log
エージェント名を利用できるようになると、ログ ファイルの名前はエージェント名を含んだものに変更されます。 たとえば、エージェント名が
MyDomain//MyAgent
である場合、
MyDomain
がドメイン、
MyAgent
がインスタンスです。
AutoProbeMyDomain_MyStuff.log
ログ ファイルに実際の名前ではなく、タイム スタンプ名が付けられている場合は、エージェント名が付けられる前にプロセスがタイムアウトした可能性があります。 また、高度な Log4Net 機能を使用すると、自動名前付け機能は動作しません。
注:
.NET エージェント プロファイルをクラスパスのリソースからロードする場合、
IntroscopeAgent.profile
ファイルがリソース内に置かれているため、NativeProfiler はログ ファイルに書き込むことができなくなります。
ログ ファイルの自動名前付けを無効にする場合は、エージェント プロファイル内の introscope.agent.disableLogFileAutoNaming プロパティを true に設定します。
デフォルト ドメインのログ
デフォルト ドメインは Enterprise Manager に接続せず、メトリックもレポートしません。また、それ自体ではアプリケーションを実行することもありません。 ただし、デフォルト ドメイン内にある .NET エージェントでは、デフォルト ドメインにホストされているすべてのアプリケーション ドメインのバイト コードのインスツルメンテーションがすべて処理されるため、ここではログ ファイルが生成されます。 生成されるログ ファイルの 1 つである
AutoProbe.DefaultDomain.log
には、デフォルト ドメインで行われるバイト コードのインスツルメンテーションに関する情報が含まれています。 バイト コードのインスツルメンテーションはすべてデフォルト ドメインで行われるため、これらのログ ファイルにはバイト コードのインスツルメンテーションに関する重要な情報が含まれています。
デフォルト ドメインでは、.NET エージェントの
IntroscopeAgent.DefaultDomain.log
ファイルも生成されます。