InstanaPCP および Windows のパフォーマンスカウンター
Windows では、エージェントの起動時に「 InstanaPCP 」アプリケーションが自動的に起動します。 InstanaPCP アプリケーションは、以下の処理を実行します:
- IIS がホストするアプリケーションの自動トレースの環境をセットアップします。
- 実行中のプロセス (GC や CPU など) のメトリックを収集し、それらをエージェントに送信します。
- Windows ホスト上で実行中のプロセスのリストをエージェントに送信します。
configuration.yamlファイルに定義されているカスタム・パフォーマンス・カウンター・メトリックを収集します。
パフォーマンス・カウンター
Instana Windows ホストからプロセスとそのメトリクスを収集する2つの方法をサポートしています。
最初の方法(デフォルトの方法) :
InstanaPCP の起動時、レジストリに値 2 が の設定 ProcessNameFormat が作成されます。 この設定により、以下のレジストリパスにおいて、プロセス名の形式 processname_processid が から processname に変更されます:
HKLM:\SYSTEM\CurrentControlSet\Services\.NETFramework\PerformanceHKLM:\SYSTEM\CurrentControlSet\Services\PerfProc\Performance
2つ目の方法 :
この方法ではロジックを書き換えるため、プロセス名の形式を変更する必要はありません。 この方法を使用するには、ホストレベルで INSTANA_COLLECT_METRICS_BY_PROCESS_READING 環境変数を 1 または true に設定してください。 この方法では、プロセス名の形式を変更しないため、より柔軟性が高くなります。今後、これがデフォルトのオプションとなり、サポートされる唯一のオプションとなります。
カスタム・パフォーマンス・カウンター
Instana カスタムパフォーマンスカウンターの監視に対応しています。 デフォルトでは、カスタム・パフォーマンス・カウンターは無効になっています。 カスタム・パフォーマンス・カウンターを使用可能にするには、以下の例に示すように configuration.yaml ファイルを更新します。
com.instana.plugin.perfcounters:
enabled: true
パフォーマンス・カウンターは、4 つの異なる値と名前で定義されます。 パフォーマンス・カウンターは、カテゴリー別にグループ化されています。 特定のインスタンスにバインドすることも、ホスト全体にバインドすることもできます。 カウンターを一意的に記述するには、以下の例のような構文を使用します。
[host]\[category]([instance])\[counter name]
カウンターによっては、 instance はオプションの場合があります。 以下のカウンターは例です。
\Processor Information(_Total)\% Processor Time
この例のカウンターの属性について、以下のリストで説明します。
host空です。 カウンターは、現行ホスト (localhost) 用です。categoryは 「プロセッサー情報」です。instanceは _Totalです。counter nameは 「プロセッサー時間 (%)」です。
Instana カウンター localhost の照会のみをサポートしています。
一部のカテゴリーは host-wide; instance のみがこれらのカテゴリーに定義されていません。 以下の例は、ホスト全体のカテゴリーを示しています。
\System\Processor Queue Length
フラグを有効にした後、モニターするカウンターを定義します。 以下の例に示すように、構成を更新します。
com.instana.plugin.perfcounters:
enabled: true
counters:
- category: [name of the counters category]
instance: [instance name]
counters:
- [name of the counter]
以下の出力は、カウンターのサンプル値を示しています。
com.instana.plugin.perfcounters:
enabled: true
counters:
- category: Processor Information
instance: _Total
counters:
- "% Processor Time"
%_ のための文字カテゴリーごとにさらにカウンターが必要な場合は、以下の例に示すように、それらを counters 配列に追加します。
com.instana.plugin.perfcounters:
enabled: true
counters:
- category: Memory
counters:
- Page Faults/sec
- Cache Faults/sec
- Page Reads/sec
instance 定義されていません。以下の例は、複数のカテゴリーとカウンターを示しています。
com.instana.plugin.perfcounters:
enabled: true
counters:
- category: System
counters:
- Processor Queue Length
- System Calls/sec
- category: Process
instance: _Total
counters:
- Private bytes
- Working Set
- Thread Count
- category: Memory
counters:
- Page Faults/sec
- Cache Faults/sec
- Page Reads/sec
- category: .NET CLR Exceptions
instance: _Global_
counters:
- "# of Exceps Thrown / sec"
- "# of Pinned Objects"
以下の例は、パフォーマンス・カウンターを含むホスト・ダッシュボードを示しています。

さらに支援が必要な場合は、サポート Case を開いてください。
トラブルシューティング
その他の問題が発生した場合は、 IBM サポートにお問い合わせください。
InstanaPCP が実行されていない
監視対象の種類: clr_instana_pcp_not_running
エージェントのログに「 InstanaPCP does not seem to be running 」という警告メッセージが表示される場合があります。 このメッセージは、エージェントが InstanaPCPとの対話に失敗した場合に表示されます。 エージェントは、ブートストラッピング・プロセスの早い段階で InstanaPCP を開始すると、 InstanaPCPと通信できるようになります。 以下のいずれかのエラーが発生した場合、エージェントはブートストラッピング・プロセスの早い段階で InstanaPCP を開始できません。
- エージェントが十分な特権で実行されていません (ローカル・システムまたは管理者として実行されていません)。
- ホスト上の.NET Framework 版はサポートされていません。 .NET Framework 4.5.1 およびそれ以降のバージョンがサポートされています。
- メモリーの過剰使用が原因で、 InstanaPCP が再始動しました。
このメッセージが繰り返し表示される場合は、以下の確認を行ってください。
エージェントを実行するユーザーにローカル管理特権があるかどうかを確認します。 ユーザーにローカル管理特権がない場合は、そのユーザーにローカル管理特権を付与するか、別のユーザー・アカウントを使用してください。 インストールパッケージから Instana エージェントをインストールすると、通常、サービスは「ローカル システム」として実行され、サービスに十分な権限が与えられます。
お使いのマシンにインストールされている.NET Framework のバージョンを確認してください。 Windows のインストーラーパッケージは、 InstanaPCP に必要な.NET Framework の最小バージョンを自動的にインストールします。 ただし、ZIPアーカイブからホストエージェントをインストールする場合は、.NET Framework をインストールする必要がある場合があります。 お使いの.NET Framework が正しいバージョンかどうか不明な場合は、[こちら](
\system\com\instana\agent-windows-extensions<latest>\agent-windows-extensions--<latest> directoryhttps://www.microsoft.com/en-us/windows/windows-10/updates/updates-and-features) にアクセスし、コマンドラインから「 InstanaPCP 」をスタンドアロンセットアップとして手動で実行してください。 正しいバージョンの.NET Framework がインストールされていない場合、メッセージが表示されます。以下のようにして、過剰消費に関連するメッセージがログに表示されているかどうかを確認します。
InstanaPCP.exe Private-Bytes is above warning-treshhold for XXX times now Killing InstanaPCP.exe for excessive memory-usage. Possible memory-leak in native Windows-Libraries.
これらのメッセージは、以下のいずれかの問題が発生した場合に表示されます。
- InstanaPCP が動作している Windows マシンでは、IISのバージョンが7より古く、メモリリークが発生しました。 このリークは、Microsoft 更新をインストールすることでパッチが適用される可能性があります。 この問題は、 Windows 2008 を搭載したマシンで発生する可能性があります。 この Microsoft 更新プログラムをインストールする前に、 IBM サポートに連絡し、お使いのマシンでメモリリークが発生していないか確認してください。 IBM サポートチームが、Microsoftパッケージを更新するためのリンクをご提供いたします。
サーバー上では多数の.NET アプリケーションが実行されており、それらのアプリケーションから大量のトレースが生成されています。 エージェント
configuration.yamlファイルの以下の設定を変更して、 InstanaPCP のメモリ制限を引き上げてください:com.instana.plugin.clr: pcp_warn_limit: <MB-treshold before warning> pcp_stop_limit: <MB-treshold to stop / restart the process>
InstanaPCP が接続されていない
監視対象の種類: clr_instana_pcp_not_connected
ホスト・エージェントが InstanaPCP プロセスに接続できないため、.NET プロセスのトレース・データおよびランタイム・メトリックの取得と処理ができません。
この問題は通常、一時的な障害であり、 InstanaPCP が初期化を完了した後、すぐに解決されます。 この問題が解決しない場合は、 IBM サポートにお問い合わせください。