Linux 上でネットワークエージェントとアプリケーション エージェントを設定する

注: ネットワークエージェント 4.5.7 および Java エージェント 4.5.11 では、同じマシン上で複数のノードを実行するときに、マルチテナントセットアップでネットワークエージェントを個別に設定する必要がなくなります。Java エージェント 4.5.10 以前でネットワークエージェント 4.5.7 を使用する場合は、マルチテナントセットアップでネットワークエージェントを設定する必要があります。「ネットワークエージェントと Java エージェントのインストール手順」を参照してください。

ネットワークエージェントと Java エージェントのインストール手順

電源の冗長化を使用している場合は、 次に
ネットワークエージェント 4.5.7 以降、Java エージェント 4.5.11 以降ネットワークエージェントをインストールします。
ネットワークエージェント 4.5.7 以降、Java エージェント 4.5.10 以前

ネットワークエージェントをマルチテナントのセットアップ(エージェントホスト上の複数のアプリケーション)マルチテナントセットアップまたはシングル テナント セットアップにインストールします。

手動で有効にする必要はありません。

ネットワークエージェント 4.5.6 以前

ネットワークエージェントをマルチテナントのセットアップ(エージェントホスト上の複数のアプリケーション)マルチテナントセットアップまたはシングル テナント セットアップにインストールします。

マルチテナントセットアップ中に netlib パラメータを手動で有効にする必要があります。

Java アプリケーション エージェント 4.4 以前Java エージェントを更新します。

マルチテナントのセットアップ(エージェントホスト上の複数のアプリケーション)

ネットワークエージェントでの Netlib の有効化

注: ネットワークエージェント 4.5.6 以前を使用している場合は、ステップ 1 で説明されているように netlib パラメータを手動で有効にします。

ネットワークエージェントでの Netlib の有効化

  1. 次のファイルをテキストエディタで開きます。<network_agent_home>/conf/agent_config.lua
  2. enable_netlib パラメータを編集します。 
    npm_config = {
          log_destination = "file",
          log_file = "agent.log",
          debug_log_file = "agent-debug.log",
          disable_filter = 1,
          mode = "Advanced",
          enable_netlib = 1,
          lua_scripts_path = ROOT_DIR .. "/scripts/netagent/lua/",
    } 

アプリケーション エージェントのインストールまたは更新(必要に応じて)

ネットワークエージェントには、Java アプリケーション サーバ エージェント 4.4 以降が必要です。以前のバージョンを実行している各アプリケーション エージェントを更新します。JavaエージェントのインストールJavaエージェントのインストール

アプリケーション エージェントでの NetViz 外部サービスフォルダの抽出

アプリケーション エージェントでの NetViz 外部サービスフォルダの抽出
  1. 次のフォルダに移動します。<app-agent-install-dir>/<version-number>/external-services
  2. まだ抽出されていない場合は、ZIP の内容が次のフォルダの下に配置されるように netviz.zip アーカイブを抽出します。<app-agent-install-dir>/<version-number>/external-services

Preload NetLib and Enable Socket Collection on the App Agent

You must configure the Java App Agent startup command to perform two additional tasks, as shown in the following:
  1. Preload the appd-netlib library so the Network Agent can collect network metrics for each individual node (rather than for the entire host).
  2. Enable appdynamics.socket.collection.bci.enable for the Network Agent to map network metrics to application flows.
    For example:
    LD_PRELOAD=/<network-agent-home>/lib/appd-netlib.so \
    java -javaagent:<app_server_agent_home>/javaagent.jar \
    -Dappdynamics.socket.collection.bci.enable=true

The following examples illustrate how editing the Agent startup command can differ, depending on the framework of the monitored application. See Agent Installation by Java Framework and its relevant framework documentation.

FrameworkExample (App Agent ZIP)
IBM WebSphere and InfoSphere

In the WebSphere/InfoSphere UI, navigate to the Java Virtual Machine properties page for the monitored server. Then add javaagent and appdynamics.socket.collection.bci.enable=true as a Generic JVM argument. For example:

javaagent:/usr/appd/agents/apm/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true

You can add LD_PRELOAD as a JVM environment variable. This example describes how to add an environment variable on a Cognos server using IBM Connections 6.0.0:

    1. Log in to the WebSphere Application Server administrative console of the Cognos server.
    2. Click Servers > Server Types > WebSphere application servers.
    3. Click the cognos_server link.
    4. Click Java > Process Management > Process Definition > Environment Entries > New to add this entry: LD_PRELOAD=/usr/appd/agents/netviz/lib/appd-netlib.so
  1. In the WebSphere/InfoSphere UI, navigate to the Java Virtual Machine properties page for the monitored server.
  2. Add javaagent and appdynamics.socket.collection.bci.enable=true as a Generic JVM argument. For example:
javaagent:/usr/appd/agents/apm/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true

You can add LD_PRELOAD as a system environment variable. This example describes how to add an environment variable on a Cognos server using IBM Connections 6.0.0:

  1. Log in to the WebSphere Application Server administrative console of the Cognos server.
  2. Go to Servers > Server Types > WebSphere Application Servers.
  3. Click cognos_server.
  4. Go to Java > Process Management > Process Definition > Environment Entries > New to add this entry: LD_PRELOAD=/usr/appd/agents/netviz/lib/appd-netlib.so
Apache Tomcat

Add the full command as a Catalina environment variable in file CATALINA_BASE/bin/setenv.sh (Tomcat 6 and later). For example:

export LD_PRELOAD=/<network-agent-home-directory>/lib/appd-netlib.so

export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/<java-agent-home-directory>/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true"

Glassfish

Add the full command as a -javaagent JVM option in the GlassFish domain. You can add the Agent using the asadmin tool. For example:

export LD_PRELOAD=/<network-agent-home-directory>/lib/appd-netlib.so

glassfish4\bin\asadmin create-jvm-options

"-javaagent\:/<java-agent-home-directory>/javaagent.jar:-Dappdynamics.socket.collection.bci.enable=true"

JBoss Standalone

Add the full command to the standalone.sh file. For example:

export LD_PRELOAD=/<network-agent-home-directory>/lib/appd-netlib.so

JAVA_OPTS="$JAVA_OPTS -

javaagent:/<java-agent-home-directory>/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true"

Jetty

For a standalone Jetty using start.jar:

  1. Add the full command to the start.ini config file in the Jetty base directory. For example:execjavaagent:/usr/appd/agents/apm/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true
  2. Create a script to start Jetty. For example, startJetty.sh:

    export LD_PRELOAD=/usr/appdynamics/agents/netviz/lib/appd-netlib.so java -jar start.jar

For service with embedded Jetty:

  1. Create a script to start Jetty. For example, startJetty.sh:export LD_PRELOAD=/<network-agent-home-directory>/lib/appd-netlib.sojava -javaagent:/<java-agent-home-directory>/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true -jar <embedded_jetty_jar>

To verify that the App Agent is running correctly, enter:strings /proc/<app_pid>/environ

アプリケーション エージェントで Docker ホストゲートウェイ IP を指定する

これらの手順は、アプリケーション エージェントが

Docker ホストネットワークの外側の Docker コンテナで実行されているときにのみ必要です。

アプリケーション エージェントで Docker ホストゲートウェイ IP を指定する

  1. 次のファイルを開きます。<app-agent-install-dir>/<version-number>/external-services/netviz/netviz-service.properties 次のファイルを開きます。external-services/netviz.zip(このファイルにアクセスするために の解凍が必要になる場合があります。)
  2. netviz.agent.host.address の場合、Docker ホスト ネットワーク インターフェイスのゲートウェイ IP を指定します。この IP を判別するには、Docker ホストで次のコマンドを入力します。docker inspect <app_container_name> | grep Gateway
  3. アプリケーション エージェントを再起動します。
  4. Docker ホストネットワークが接続されているかどうかを確認するには、コンテナ内から次のコマンドを入力します。curl -k -v <host-network-IP>:3892応答を受信した場合は、 であっても、ネットワークが接続されます。
    404 Not Found の場合でも、応答があればネットワークは接続されています。

アプリケーションの再起動(IBM JVM のみ)

モニタリング対象のアプリケーションが IBM JVM で実行されている場合は、ネットワークエージェントが永続的な接続を検出してモニターするために、アプリケーションを再起動する必要があります。

シングル テナント セットアップ(エージェントホスト上の 1 つのアプリケーションのみ)

アプリケーション エージェントのインストールまたは更新(必要に応じて)

ネットワークエージェントには、Java アプリケーション サーバ エージェント 4.4 以降が必要です。以前のバージョンを実行している各アプリケーション エージェントを更新します。JavaエージェントのインストールJavaエージェントのインストール

アプリケーション エージェントでの NetViz 外部サービスフォルダの抽出

アプリケーション エージェントでの NetViz 外部サービスフォルダの抽出
  1. 次のフォルダに移動します。<app-agent-install-dir>/<version-number>/external-services
  2. まだ抽出されていない場合は、ZIP の内容が次のフォルダの下に配置されるように netviz.zip アーカイブを抽出します。<app-agent-install-dir>/<version-number>/external-services

ソケット インストルメンテーションの有効化

これは、エージェントがネットワークメトリックをアプリケーションフローにマップするために必要です。
  1. コントローラで歯車アイコン()をクリックし、AppDynamics Agents > App Server Agents の順に選択します。
  2. テーブルでエージェントを選択し、[Configure] をクリックします。
    [App Server Agent Configuration] ページが表示されます。
  3. ツリービュー(左)でアプリケーション、ティア、ノードを選択します。
  4. [Use Custom Configuration] を選択し、[+Create Agent Property] をクリックします。
  5. [Edit Agent Property] ダイアログで、次のように指定します。
    • socket-enabled

    • type: boolean

    • Value = true

    エージェントプロパティの作成

アプリケーション エージェントで Docker ホストゲートウェイ IP を指定する

これらの手順は、アプリケーション エージェントが

Docker ホストネットワークの外側の Docker コンテナで実行されているときにのみ必要です。

アプリケーション エージェントで Docker ホストゲートウェイ IP を指定する

  1. 次のファイルを開きます。<app-agent-install-dir>/<version-number>/external-services/netviz/netviz-service.properties 次のファイルを開きます。external-services/netviz.zip(このファイルにアクセスするために の解凍が必要になる場合があります。)
  2. netviz.agent.host.address の場合、Docker ホスト ネットワーク インターフェイスのゲートウェイ IP を指定します。この IP を判別するには、Docker ホストで次のコマンドを入力します。docker inspect <app_container_name> | grep Gateway
  3. アプリケーション エージェントを再起動します。
  4. Docker ホストネットワークが接続されているかどうかを確認するには、コンテナ内から次のコマンドを入力します。curl -k -v <host-network-IP>:3892応答を受信した場合は、 であっても、ネットワークが接続されます。
    404 Not Found の場合でも、応答があればネットワークは接続されています。

アプリケーションの再起動(IBM JVM のみ)

モニタリング対象のアプリケーションが IBM JVM で実行されている場合は、ネットワークエージェントが永続的な接続を検出してモニターするために、アプリケーションを再起動する必要があります。