AppDynamics では、Java エージェントを使用して合成サーバーのパフォーマンスを監視することを推奨します。合成サーバーをインストゥルメント化すれば、事前設定の容量監視ダッシュボードや正常性ルールを使用したり、JMX および合成サーバーメトリックに基づいてカスタムダッシュボードや正常性ルールを作成したりできます。 

次の手順に従って、合成サーバーを監視します。

Javaエージェントのインストール

合成サーバー インストール ディレクトリと同じディレクトリに Java エージェントをインストールする必要があります。手順については、「Javaエージェントのインストール」を参照してください。

Javaエージェントの構成

特定のコントローラにメトリックを報告するように Java エージェントを設定します。

  1. <agent_home>/conf/ に変更します。
  2. 以下のエレメントの値がコントローラの情報、アプリケーション名、ティア名、ノード名と一致するように controller-info.xml ファイルを編集します。
    • <controller-host>
    • <controller-port>
    • <application-name>
    • <tier-name>
    • <node-name>
  3. たとえば、controller-info.xml ファイルは以下の例と同じように見えます。

    <controller-info>
        <controller-host>192.168.1.20</controller-host>
        <controller-port>8090</controller-port>
        <application-name>SyntheticServer</application-name>
        <tier-name>SchedulerTier</tier-name>
        <node-name>SchedulerNode</node-name>
    </controller-info>
    XML

    Java エージェントを合成サーバーに接続するときは、アプリケーション名、階層名、ノード名が javaagent.jar パラメータと同じであることを確認する必要があります。

合成サーバーのコントローラへの接続

合成サーバーをインストールする前に、EUMサーバーのMySQLデータベースとEMUコレクタに接続するように合成サーバーを構成する必要がありました。このセクションでは、合成サーバーがコントローラに接続されるように inputs.groovy の構成を設定し、事前設定の正常性ルールとダッシュボードを作成できるようにします。

inputs.groovy ファイルで、以下のプロパティが設定されていることを確認します。括弧内のプレースホルダを、コントローラの情報と監視しているアプリケーションとティアの情報に置き換えます。

controller_host = "http(s)://<url_to_machine_running_controller>"     // The URL to your on-prem Controller
controller_port = "<port_number>"                                     // The default is 8090.
controller_account = "<controller_account>"                           // Account used for running post-deploy tasks
controller_username = "<controller_username>"                         // Username for making API calls to controller
prompt_for_password = "false"                                         // When false, the password below will be used without prompting.
controller_password = "<controller_password>"                         // Password used for username. It is not stored in any config files.
controller_synth_app = "<app_name_set_in_controller-info.xml>"        // This is the application shown in the Controller and is based on the value given in the <application-name> element in controller-info.xml.
controller_shepherd_entity = "<tier_name_set_in_controller-info.xml>" // This is the tier shown in the Controller and is based on the value given in the <tier-name> element in controller-info.xml
TEXT

Javaエージェントと合成サーバーの接続

Java エージェントを合成サーバーにアタッチするには、変数 SCHEDULER_OPTS および SYNTHETIC_SHEPHERD_OPTS を使用して Java オプションを設定します。次の例に記載されているノード名とティア名は、使用例に応じて変更できます。1 つの JVM プロセスには、1 つの Java エージェントが接続されている必要があります。 

  1. JavaエージェントがJVMプロセスに接続されるように合成スケジューラのオプションを設定します。

    SCHEDULER_OPTS="-javaagent:./java_agent/javaagent.jar -Dappdynamics.agent.applicationName=synthonprem -Dappdynamics.agent.nodeName=synthetic-scheduler -Dappdynamics.agent.tierName=scheduler-tier"
    BASH
  2. JavaエージェントがJVMプロセスと接続されるように合成シェパードのオプションを設定します。

    SYNTHETIC_SHEPHERD_OPTS="-javaagent:./java_agent/javaagent.jar -Dappdynamics.agent.applicationName=synthonprem -Dappdynamics.agent.nodeName=synthetic-shepherd -Dappdynamics.agent.tierName=shepherd-tier"
    BASH
  3. Java エージェントが JVM プロセスに接続されるように合成フィーダクライアントのオプションを設定します。

    FEEDER_CLIENT_OPTS="-javaagent:./java_agent/javaagent.jar -Dappdynamics.agent.applicationName=synthonprem -Dappdynamics.agent.nodeName=synthetic-feeder-client -Dappdynamics.agent.tierName=feeder-client-tier"
    BASH
  4. 合成サーバーオプションの変数をエクスポートします。

    export SYNTHETIC_SHEPHERD_OPTS
    export SCHEDULER_OPTS
    export FEEDER_CLIENT_OPTS
    BASH
  5. 合成サーバーインストーラのディレクトリから、以下を実行して合成サーバーを停止および開始します。

    unix/deploy.sh stop
    unix/deploy.sh start
    BASH

合成サーバーのインストゥルメンテーションの確認

  1. Javaエージェントが実行されていることを確認します。

    ps -ef | grep javaagent
    BASH
  2. Javaエージェントログを確認します。

    tail <java-agent>/ver<agent-version>/logs/<node-name>/agent-XXXX.log
    BASH
  3. コントローラに移動します。

  4. 次と同様に controller-info.xml ファイルに割り当てられた名前のビジネスアプリケーションが表示されます。また、Java オプションで指定したティアとノードも表示されます。
    Business application

事前設定のダッシュボードと正常性ルールの作成

合成サーバーには、合成サーバーの監視用に事前設定されたダッシュボードと正常性ルールの作成に役立つ post_deploy.sh コマンドが付属しています。正常性ルールは、合成エージェントや Java エージェントのホストマシンではなく、合成シェパードによって生成されるメトリックに基づいていて、CPU 使用量、メモリ消費などの JMX 正常性ルールを補完します。 

事前設定のダッシュボードと正常性ルールについて

事前設定の正常性ルールでは、合成サーバーのビジー率が 80% に達すると警告が発行され、ビジー率が 90% に達すると重大アラートが発行されます。ビジー率は最後の 30 分間で算出されます。

ビジー率について

各合成エージェントが一度に実行できるジョブは 1 つのみです。ジョブを実行している場合、合成エージェントがビジー状態になり、実行していない場合、合成エージェントはビジー状態ではありません。ビジー率は、合成エージェントがジョブを実行している時間の割合を示します。たとえば、合成エージェントが 5 分かかるジョブを実行し、他のジョブを実行しなかった場合、過去 10 分間は 50% ビジー状態でした。ビジー率は、1 分ごとに報告されるメトリックと、1 分あたりのページ数(PPM)を使用して計算されるメトリックに基づいています。ビジー率は、1 つの合成エージェント、合成エージェントのグループ、または場所をモニターするために使用できます。

ダッシュボードと正常性ルールの作成

インストゥルメンテーションが正常に終了し、ビジネスアプリケーションが作成されたことを確認したら、以下を行います。

  1. 合成サーバーをホストするマシンにログインします。
  2. 合成サーバーのホームに変更します。
  3. 以下のコマンドを実行して、事前設定のダッシュボードと正常性ルールを作成します。

    unix/post_deploy.sh
    BASH
  4. コントローラ UI から、[Dashboards & Reports] ページに移動します。

  5. 次に示すように ダッシュボード [Synthetic Private Agent Capacity Monitoring] が表示されます。

    Dashboards and Reports

  6. オンプレミス合成サーバーのビジネスアプリケーションを開きます。
  7. Alert & Respond > Health Rules にアクセスします。
  8. [Alert & Respond > Health Rules, ] から、[ Create Preset Dashboards and Health Rules] で作成した正常性ルールが表示されます。
    Health Rules

カスタムダッシュボードと正常性ルールの作成

Java エージェントは、CPU 使用率、メモリ消費量、ガーベッジコレクションなど、合成サーバーで生成されたメトリックを報告します。このメトリックを使用すると、正常性ルールおよびカスタムダッシュボードを作成できます。

手順については、以下のページを参照してください。