アプリケーションのソケットの監視
ソケットおよび Secure Sockets Layer(SSL)のメトリック コレクションは、エージェントではデフォルトで有効になっています。
apmdevops106
「ソケット メトリック」
ソケットおよび Secure Sockets Layer(SSL)のメトリック コレクションは、エージェントではデフォルトで有効になっています。
- AgentNoRedefNoRetrans.jarを使用している JVM では、ソケット メトリックがレポートされません。
- GlassFish アプリケーション サーバはデフォルト ソケット実装を変更します。 そのため、エージェントはソケット メトリックをレポートせず、グレー表示されます。 Concurrent Readers、Concurrent Writers、Input Bandwidth(Bytes Per Second)、および Output Bandwidth(Bytes Per Second) などのメトリックは、以下の下に表示されます。
- Sockets|Client|<host>|CA Portal
- Sockets|Server|CA Portal
ソケットおよび SSL メトリック コレクションの微調整
特定のトレーサ グループをオンまたはオフにすることにより、メトリック コレクションを細かく指定することができます。 これを行うことで、
- 必要な情報を対象にすることができます。
- オーバーヘッド コストを削減できます。
以下の手順に従います。
- <Agent_Home>/core/config ディレクトリにある java2.pbd ファイルを開きます。
- java2.pbd の I/O Socket Tracer Group または Network Tracer Group セクションで、オンまたはオフにするトレーサを見つけて、そのトレーサをコメント化するか、コメント化を解除します。 たとえば、入力帯域幅のメトリックを抑制するには、以下をコメント化します。#TraceOneMethodWithParametersIfFlagged: SocketTracing read InputStreamBandwidthTracer "Input Bandwidth (Bytes Per Second)"
- java2.pbd ファイルを保存します。
ソケットおよび SSL メトリック コレクションの制限
ソケットおよび SSL メトリック コレクションはデフォルトで有効になっています。 監視対象アプリケーションまたはサービスで一時的なソケットを多数作成するものがあると、これらのソケットに関する情報を保存するために、メモリの使用量が通常より大きくなることがあります。 これは、標準ソケットのほか、管理対象ソケットや NIO ソケットでも確認されています。
メモリ オーバーヘッド問題を防ぐために、またはより関連性の高い情報を対象にするために、以下の設定作業のいずれかまたは両方を実行します。
- 特定のメトリックの収集が必要でない場合、または多くの一時ソケットを作成する監視対象アプリケーションまたはサービスによって引き起こされたメモリ問題を解決するために、コレクションを完全にオフにできます。 これを行うには、toggles-full.pbdまたはtoggles-typical.pbdを編集します。
メトリック コレクションを制限するためのエージェント プロファイルの編集
以下の手順に従います。
- IntroscopeAgent.profileファイルをテキスト エディタで開きます。
- Agent I/O Socket Metrics セクションで以下のプロパティの値を編集し、メトリックが必要とするホストのまたはポートのリストを追加します。パラメータの値に無効なホストまたはポートが含まれていると、エージェント ログに警告メッセージが書き込まれ、その値は無視されます。 その結果としてリストにエントリがない場合、制限は適用されません。
- introscope.agent.io.socket.client.hostsホストのカンマ区切りリスト。指定されたホストの「クライアント」ソケット メトリックのみが生成されます。 ホストは、名前または IP アドレスのテキスト表記(IPv4 または IPv6 形式)で指定できます。重複したホスト名は無視されます。 複数のホスト名が 1 つの IP にマップされている場合、1 つの名前のみが保持されます。 ただし、プロパティは、同じ意味の名前のいずれかのセットとクライアント接続を照合します。
- introscope.agent.io.socket.client.portsポート番号のカンマ区切りリスト。指定されたポートの「クライアント」ソケット メトリックのみが生成されます。重複したポートは無視されます。
- introscope.agent.io.socket.server.portsポート番号のカンマ区切りリスト。指定されたポートの「サーバ」ソケット メトリックのみが生成されます。
- IntroscopeAgent.profileを保存します。
下位互換性
対象: リリース 9.0 より前のトレーサ
Java エージェント ソケット トレーサは、9.0 より前のリリースのトレーサよりも多くの内容を設定できます。 ただし、以前のトレーサに戻す(およびソケット追跡機能と設定オプションを無効にする)ことができます。
9.0 より前のリリースのトレーサを使用している場合、Java エージェントを設定できます。
ソケット メトリックの収集
対象: リリース 9.0 より前のトレーサ
トレーサを使用して、ソケット メトリックを収集するには、Java エージェントを設定します。
以下の手順に従います。
- toggles-full.pbd または toggles-typical.pbd ファイルを開きます(デプロイ時に使用したファイルを開きます)。
- 以下のように、SocketTracing をコメント化します(シャープ記号またはハッシュ記号(#)を行頭に挿入します)。#TurnOn: SocketTracing
- ManagedSocketTracing のコメント化を解除します。TurnOn: ManagedSocketTracing
- ファイルを保存します。
入出力帯域幅メトリックを収集する方法
対象: リリース 9.0 より前のソケット トレーサ
ソケット トレーサを使用しており、入出力帯域幅メトリックが必要な場合は、Java エージェントを設定します。
以下の手順に従います。
- IntroscopeAgent.profile を開きます。
- Agent Socket Rate Metrics セクションを見つけて、以下のプロパティを true に変更します。introscope.agent.sockets.reportRateMetrics=trueManagedSocketTracing が有効で、SocketTracing が無効である場合にのみ、機能します。
- IntroscopeAgent.profile を保存します。