Java エージェントの設定

ほとんどのエージェント オペレーションは IntroscopeAgent.profile ファイル内のプロパティを使用して設定します。 このセクションでは、設定の際に最もよく使用されるエージェント プロパティおよびインストール後の情報について説明します。 環境によってはほかのプロパティを使用できます。
apmdevops106
ほとんどのエージェント オペレーションは IntroscopeAgent.profile ファイル内のプロパティを使用して設定します。 このセクションでは、設定の際に最もよく使用されるエージェント プロパティおよびインストール後の情報について説明します。 環境によってはほかのプロパティを使用できます。
エージェントのバージョンが異なると、設定に使用できるプロパティが異なっていたり、デフォルト値が異なっていたりする場合があります。
Enterprise Manager への接続の設定
メトリックをレポートするには、エージェントを Enterprise Manager に接続する必要があります。 デフォルトの通信設定では、エージェントはポート 5001 を使用して、ローカルの Enterprise Manager に接続できます。 ただし、通常はエージェントと Enterprise Manager は同じシステム上には配置されていません。 デフォルト設定の変更は、エージェントのインストール時に行うことができます。または、エージェントのインストール後に、IntroscopeAgent.profile ファイルを変更して行うこともできます。
要件に応じて、エージェントと Enterprise Manager の間で使用する通信を設定できます。
  • 直接ソケット接続
  • HTTP トンネル接続
  • プロキシ サーバ経由の HTTP トンネル
  • HTTP over Secure Sockets Layer 接続(HTTPS)
  • Secure Socket Layer (SSL)接続
詳細:
直接ソケット接続を使用した Enterprise Manager への接続
エージェントから Enterprise Manager に接続するための最も一般的な方法は、直接ソケット接続です。 可能な場合、Enterprise Manager への直接ソケット接続を使用することをお勧めします。 以下のシステム プロパティを使用して、エージェントの接続先となる Enterprise Manager、コレクタ、または MOM の URL を入力します。
システム プロパティ名
: agentManager.uri.1
短縮名
: agentManager
完全修飾システム プロパティ名は、短縮名よりも優先されます。 Java コマンドラインまたはエージェント プロファイルで、完全修飾名を指定できます。 短縮名は、最初の接続エントリ「
agentManager.url.1
」のエイリアスです(「エージェント プロファイルでの 1 つ以上のマネージャの指定」を参照)。 短縮形は、JVM コマンド ラインでのみ使用する必要があります。 このプロパティの値は URL です。
serverHostOrIP
値には、IP アドレス(IPv4 または IPv6)、ホスト名、または完全修飾ドメイン名のいずれかを指定できます。 ご使用の環境に最適な値を指定してください。 どの場合も、デフォルトはないので、ポート番号はプロパティの一部として指定する必要があります。
以下の手順に従います。
  1. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  2. agentManager.url.1
    プロパティを見つけます。 エージェントの接続先となるホスト名または IP アドレス、および Enterprise Manager のデフォルト リスニング ポートを指定します。 例:
    agentManager.url.1=sfcollect01:5001
    複数の Enterprise Manager が存在するクラスタを使用する場合は、必ず MOM を指定します。 その後、MOM はエージェントを コレクタに割り当てます。
  3. (オプション)プライマリ Enterprise Manager への接続が失われた場合に備えて、エージェントが接続できる 1 つ以上のバックアップ Enterprise Manager を指定します。
  4. IntroscopeAgent.profile ファイルを保存して閉じます。
直接 TCP 接続
直接 TCP 接続を使用するには、以下のいずれかの形式を指定します。
agentManager=serverHostOrIP:Port
形式は、ネームスペースに
tcp:// プレフィックス
を想定しています。
agentManager=serverHostOrIP:Port
agentManager=tcp://serverHostOrIP:Port
HTTP トンネルを使用した Enterprise Manager との接続
Enterprise Manager への直接ソケット接続が実現可能でない場合は、HTTP 経由で Enterprise Manager に接続するようにエージェントを設定できます。 この設定によって、HTTP トラフィックのみが許可されているファイアウォールをパススルーして通信できるようになります。
トンネリング技術を使用して情報を送信できるようにエージェントを設定できます。これにより、エージェントから Enterprise Manager にリモート接続できるようになります。 この場合は、HTTP トンネル Web サービスをホストする Enterprise Manager 埋め込み Web サーバにエージェントを接続するように設定する必要があります。
HTTP トンネルを使用すると、アプリケーション サーバおよび Enterprise Manager にかかる CPU とメモリのオーバーヘッドが、直接ソケット接続の場合より大きくなります。
以下の手順に従います。
  1. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  2. agentManager.url.1
    プロパティを、エージェントがデフォルトで接続する Enterprise Manager のホスト名または IP アドレスに設定します。 ホスト名または IP アドレスの後に、コロンと Enterprise Manager 埋め込み Web サーバの HTTP リスニング ポートが続きます。 例:
    agentManager.url.1=http://webhost:8081
    ポート番号を <
    EM_Home
    >/config/IntroscopeEnterpriseManager.properties ファイルの
    introscope.enterprisemanager.webserver.port
    プロパティ値に一致させます。 ポートのデフォルト値は 8081 です。
  3. (オプション)プライマリ Enterprise Manager への接続が失われた場合に備えて、エージェントが接続できる 1 つ以上のバックアップ Enterprise Manager を指定します。
  4. IntroscopeAgent.profile ファイルを保存して閉じます。
HTTP トンネルのためのプロキシ サーバの設定
HTTP トンネルで接続しているエージェントが、プロキシ サーバ経由で EnterpriseManager に接続するように設定できます。 この設定はフォワード プロキシ サーバに必要です。 プロキシ サーバ経由の送信 HTTP トラフィック ルーティングのみが許可されているファイアウォールの外部でエージェントが実行されているときには、この設定を行います。
プロキシ サーバの設定プロパティは、エージェントで HTTP トンネリングを行うように設定されている場合にのみ適用されます。 プロキシ サーバの設定は、単一の接続ではなく、エージェントに設定された HTTP トンネル接続すべてに適用されます。 それぞれの Enterprise Manager への接続に HTTP を使用している複数の Enterprise Manager 間のフェールオーバを設定する場合は、この設定を慎重に検討してください。
  • エージェントの HTTP トンネルを有効にするには、HTTP/1.1 が必要です。 また、プロキシ サーバは HTTP Post もサポートする必要があります。
  • プロキシにアクセスできない場合は、エージェントはプロキシを経由せずに Enterprise Manager に直接接続します。 プロキシがアクセス可能で認証が失敗する場合、エージェントはプロキシ経由で Enterprise Manager への接続を再試行します。
以下の手順に従います。
  1. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  2. agentManager.httpProxy.host
    プロパティを、プロキシ サーバのホスト名または IP アドレスに設定します。
  3. agentManager.httpProxy.port
    プロパティを、プロキシ サーバのポート番号に設定します。
  4. (オプション)プロキシ サーバが認証にユーザ認証情報を必要とする場合は、以下のいずれかのオプションを実行します。
    • クリア テキスト認証を使用するには、以下のプロパティを設定します。
      agentManager.httpProxy.username=<user_name>
      agentManager.httpProxy.password=<user_password>
    • パスワードを暗号化するには、以下の手順に従います。
      1. wily\tools\PropertiesUtil.jar から暗号化ツールにアクセスします。
      2. 以下のコマンドを使用して、ツールを実行します。
        java -jar <
        directory path
        >\wily\tools\PropertiesUtil.jar encrypt <user_password>
        暗号化されたパスワードが生成されます。
      3. IntroscopeAgent.profile ファイルで、以下のプロパティを設定します。
        agentManager.httpProxy.username=<user_name>
        agentManager.httpProxy.password=<encrypted_password>
  5. IntroscopeAgent.profile ファイルを保存して閉じます。
HTTPS トンネルを使用した Enterprise Manager との接続
HTTP over Secure Sockets Layer (SSL)を使用してエージェントから Enterprise Manager へ接続できるようにするには、
IntroscopeAgent.profile
ファイル内のプロパティを設定します。
以下の手順に従います。
  1. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  2. agentManager.url.1
    プロパティをこれらの設定のいずれかに設定します。ターゲット Enterprise Manager のホスト名または IP アドレスを指定します。 ホスト名または IP アドレスの後に、コロンと Enterprise Manager 埋め込み Web サーバの HTTP リスニング ポートが続きます。 例:
    agentManager.url.1=https://172.31.255.255:8444
  3. (オプション)プライマリ Enterprise Manager への接続が失われた場合に備えて、エージェントが接続できる 1 つ以上のバックアップ Enterprise Manager を指定します。
  4. IntroscopeAgent.profile ファイルを保存して閉じます。
SSL 経由での Enterprise Manager との接続
Secure Socket Layer (SSL)の直接接続を使用する場合は、HTTP トンネルなしの SSL を使用して、EnterpriseManager とのエージェント通信を設定できます。 以前には、SSL サーバ ソケットを Enterprise Manager 上で有効にする必要がありました。 詳細については、「Enterprise Manager の通信の設定」を参照してください。
以下の手順に従います。
  1. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  2. SSL ソケット ファクトリを使用して、エージェントを Enterprise Manager の SSL リスニング ポートに接続するように設定します。
  3. agentManager.url.1
    プロパティをターゲット Enterprise Manager のホスト名または IP アドレスに設定します。 ホスト名または IP アドレスの後に、コロンと Enterprise Manager の SSL リスニング ポートが続きます。 例:
    agentManager.url.1=ssl://172.31.255.255:443
  4. Enterprise Manager を認証するようにエージェントを設定します。
    1. agentManager.trustStore.1
      プロパティのコメント化を解除します。
    2. agentManager.trustStore.1
      を Enterprise Manager 証明書を含むトラストストアの場所に設定します。
      trustStore を指定しないと、エージェントはすべての証明書を信頼します。 エージェント プロファイルの絶対パスまたは相対パスを指定できます。 例:
      agentManager.trustStore.1=/certs
  5. 必要に応じて、
    agentManager.trustStorePassword.1
    プロパティを設定して、トラストストア パスワードを指定します。
  6. EnterpriseManager がクライアント認証を要求する場合は、
    agentManager.keyStore.1
    プロパティを、エージェントの証明書が含まれるキーストアの場所に設定します。 エージェント プロファイルの絶対パスまたは相対パスを指定できます。 Windows では、円記号をエスケープ処理する必要があります。 例:
    agentManager.keyStore.1=C:\\keystore
  7. 必要に応じて、
    agentManager.keyStorePassword.1
    プロパティを、キーストア パスワードに設定します。
  8. agentManager.cipherSuites.1
    プロパティを設定します。
    サフィックス番号を引き上げてプロパティを追加することにより、その他の許可された暗号スイートを定義できます。 たとえば、
    agentManager.cipherSuites.2
    などです。
    このプロパティの値を指定しない場合、デフォルトの暗号スイートが使用されます。
  9. (オプション)プライマリ Enterprise Manager への接続が失われた場合に備えて、エージェントが接続できる 1 つ以上のバックアップ Enterprise Manager を指定します。
  10. IntroscopeAgent.profile ファイルを保存して閉じます。
JVM 引数として agentManager.url.1 プロパティを設定
すべてのアプリケーション サーバに対して、単一のエージェント設定を行うことができます。
以下の手順に従います。
  1. JVM 引数として agentManager.url.1 プロパティを設定します。
    以下の例で示すように、単一のサーバに対してカスタム設定の代わりに単一の設定を行うことができます。
    -d agentManager.url.1=<momhostname>:5001
  2. エージェント プロファイルで agentManager.url.1=localhost:5001 をコメントアウトします。
エージェントの接続メトリックの設定
デフォルトでは、Enterprise Manager に接続しているエージェントの接続ステータスについてのメトリックがレポートされます。 エージェントの接続メトリックを監視すれば、エージェントと Enterprise Manager 間の接続の現在の状態を判断できます。
エージェントの接続メトリックは、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 -- エージェントは切断されています。
ほかのイベントと同様に、ユーザは、履歴クエリ インターフェースを使用して、エージェントの切断についてクエリを実行できます。 エージェント切断イベントは、アプリケーションの稼働状況の評価に使用されるデータの一部です。 稼働状況メトリックは、WebView および Workstation の[概要]タブに表示されます。
エージェントが Enterprise Manager から切断された後に、エージェントはタイムアウトするまで切断状態のメトリックの生成を続けます。 エージェントがタイムアウトすると、接続メトリックは生成されなくなり、Enterprise Manager にもレポートされません。
特定期間中に Enterprise Manager がエージェントを追跡する期間を設定することもできます。 これは、エージェントが切断してから Enterprise Manager がエージェントのマウントを解除するまでの期間です。
例 1
エージェント接続タイムアウトを 1 日(1440 分)に設定します。
エージェントが Enterprise Manager から切断されると、エージェント接続ステータスのメトリックは 3 (切断)に変わります。 1440 分経過後に、Enterprise Manager はそのエージェントのステータス レポートを停止します。 何もレポートされないため、メトリックは値を表示しません。
例 2
エージェントの接続タイムアウトを 1 日(1440 分)、エージェントのマウント解除延期を 1 日半(2160 分)に設定します。
エージェントが Enterprise Manager から切断されると、エージェント接続ステータスのメトリックは 3 (切断)に変わります。 1440 分経過後に、Enterprise Manager はそのエージェントのステータス レポートを停止します。 何もレポートされないため、メトリックは値を表示しません。 Enterprise Manager は、エージェントの追跡を 12 時間(720 分)継続した後に、エージェントのマウントを解除します。 12 時間後に、Enterprise Manager は、エージェントの追跡と関連付けられているリソースも解放します。
以下の手順に従います。
  1. <EM_Home>
    /config ディレクトリにある IntroscopeEnterpriseManager.properties ファイルを開きます。
  2. (オプション)一時的な切断の後に、Enterprise Manager がエージェントの追跡を継続する期間を設定します。
    以下を確認してください。
    introscope.enterprisemanager.autoUnmountDelayInMinutes
    の値が次の値より大きいか等しい
    introscope.enterprisemanager.agentconnection.metrics.agentTimeoutInMinutes
  3. IntroscopeEnterpriseManager.properties を保存します。
  4. Enterprise Manager を再起動します。
バックアップの Enterprise Manager およびフェールオーバ プロパティの設定
エージェントのインストール時には、エージェントがデフォルトで接続する Enterprise Manager のホスト名とポート番号を指定します。 オプションで、1 つ以上のバックアップ Enterprise Manager を指定することもできます。 エージェントとプライマリ Enterprise Manager の接続が切断された場合、エージェントはバックアップ Enterprise Manager への接続を試行できます。
エージェントがバックアップ Enterprise Manager に接続できるようにするには、エージェント プロファイルで Enterprise Manager の通信プロパティを指定します。
以下の手順に従います。
  1. Introscope.Agent.profile ファイルをテキスト エディタで開きます。
  2. エージェント プロファイルに以下のプロパティを追加して、1 つ以上の代替 Enterprise Manager 通信チャネルを指定します。 たとえば、2 つのバックアップ Enterprise Manager を作成するには、以下のように指定します。
    agentManager.url.2=paris:5001
    agentManager.url.3=voyager:5002
    サフィックスの番号によって、接続順が自動的に決定されます。 プライマリ Enterprise Manager (agentManager.url.1)が利用可能でない場合、エージェントは、次の Enterprise Manager (agentManager.url.2)に接続を試みます。 最初のバックアップ Enterprise Manager に接続できない場合は、その次の Enterprise Manager (agentManager.url.3)を試します。
    このプロセスでは、各 Enterprise Manager への接続が成功するまで順番に試行されます。 エージェントはどの Enterprise Manager にも接続できないと、10 秒間待機してから再試行します。
  3. 変更を保存し、IntroscopeAgent.profile ファイルを閉じます。
  4. アプリケーションを再起動します。
追加ガベージ コレクション メトリックの有効化および使用
GC (garbage collection、ガベージ コレクション)およびメモリ管理は、アプリケーションのパフォーマンスに重要な効果をもたらします。 基本的な GC ヒープ メトリックはデフォルトで利用できます。 ガベージ コレクション処理およびメモリ プール使用量の詳細について説明するためのオプションのメトリックを有効にできます。 このような追加メトリックは、有効にすると、Investigator の[GC Monitor]ノードに表示されます。 GC Monitor メトリックによって、メモリ プール割り当ておよびガベージ コレクション処理を最適化するのに役立つ情報がレポートされます。 アプリケーションを開発またはテストするときや、アプリケーション パフォーマンスの問題を調査するときには、一般的にこれらのメトリックが有効化されます。 通常では、これらのメトリックは実稼働環境におけるリアルタイムのアプリケーション管理には使用されず、デフォルトで無効になっています。
introscope.agent.gcmonitor.enable
プロパティが true (デフォルト)に設定されている場合は、監視している JVM のガベージ コレクタとメモリ プールに関する詳細を表示できます。
エージェント負荷分散の設定
エージェントによってレポートされるメトリックがクラスタの主な作業負荷である場合は、MOM エージェント負荷分散を設定することで、全体的なクラスタ キャパシティを最適化できます。
ヒープのサイジング
エージェントは、収集したデータの保存にアプリケーション サーバの Java ヒープ メモリの一部を使用します。 アプリケーション サーバの GC ヒープ使用量については、メトリック ブラウザの[GC ヒープ]タブの概要から参照することができます。
ヒープ使用量に関する説明を以下に示します。
  • ヒープ使用率が高い場合は、エージェントのインストール時にヒープの割り当てを増やす必要があります。
  • 多数のトランザクション追跡を収集する場合は、JVM ヒープ サイズを増やします。
高性能の CA APM 環境を運用している場合は、エージェントの適切な JVM ヒープ設定に関して CA Services にお問い合わせください。