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

NetLib をプリロードしてアプリケーション エージェントでソケット収集を有効にする

次の例に示すように、Java アプリケーション エージェント開始コマンドを設定して、2 つの追加タスクを実行する必要があります。
  1. ネットワークエージェントが(ホスト全体ではなく)個々のノードのネットワークメトリックを収集できるように、appd-netlib ライブラリをプリロードします。
  2. ネットワークエージェントの appdynamics.socket.collection.bci.enable を有効にして、ネットワークメトリックをアプリケーションフローにマップします。
    例:
    LD_PRELOAD=/<network-agent-home>/lib/appd-netlib.so \
    java -javaagent:<app_server_agent_home>/javaagent.jar \
    -Dappdynamics.socket.collection.bci.enable=true

次の例では、モニタ対象アプリケーションのフレームワークによって、エージェント開始コマンドの編集方法がどのように異なるかを示しています。「Javaフレームワークによるエージェントのインストール」および関連するフレームワークのドキュメントを参照してください。

フレームワーク例(アプリケーション エージェント ZIP)
IBM WebSphere および InfoSphere

WebSphere/InfoSphere UI で、モニタ対象サーバの Java 仮想マシンのプロパティページに移動します。次に、javaagentappdynamics.socket.collection.bci.enable=true を汎用 JVM 引数として追加します。例:

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

JVM 環境変数として LD_PRELOAD を追加できます。次の例では、IBM Connections 6.0.0 を使用して、Cognos サーバに環境変数を追加する方法について説明します。

    1. Cognos サーバの WebSphere Application Server 管理コンソールにログインします。
    2. [ServersServer TypesWebSphere application servers] をクリックします。
    3. [cognos_server] リンクをクリックします。
    4. Java > Process Management > Process Definition > Environment Entries > New の順にクリックして次のエントリを追加します。LD_PRELOAD=/usr/appd/agents/netviz/lib/appd-netlib.so
  1. WebSphere/InfoSphere UI で、モニタ対象サーバの Java 仮想マシンのプロパティページに移動します。
  2. javaagentappdynamics.socket.collection.bci.enable=true を汎用 JVM 引数として追加します。例:
javaagent:/usr/appd/agents/apm/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true

システム環境変数として LD_PRELOAD を追加できます。次の例では、IBM Connections 6.0.0 を使用して、Cognos サーバに環境変数を追加する方法について説明します。

  1. Cognos サーバの WebSphere Application Server 管理コンソールにログインします。
  2. Servers > Server Types > WebSphere Application Servers に進みます。
  3. [cognos_server] をクリックします。
  4. Java > Process Management > Process Definition > Environment Entries > New の順に移動して次のエントリを追加します。LD_PRELOAD=/usr/appd/agents/netviz/lib/appd-netlib.so
Apache Tomcat

ファイル CATALINA_BASE/bin/setenv.sh(Tomcat 6 以降)で、完全なコマンドを Catalina 環境変数として追加します。例:

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

完全なコマンドを GlassFish ドメインの -javaagent JVM オプションとして追加します。asadmin ツールを使用してエージェントを追加できます。例:

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.sh ファイルに完全なコマンドを追加します。例:

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

start.jar を使用したスタンドアロン Jetty の場合:

  1. Jetty ベースディレクトリの start.ini コンフィギュレーション ファイルに完全なコマンドを追加します。例:execjavaagent:/usr/appd/agents/apm/javaagent.jar -Dappdynamics.socket.collection.bci.enable=true
  2. Jetty を開始するためのスクリプトを作成します。たとえば、 startJetty.sh:

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

組み込み Jetty を使用したサービスの場合:

  1. Jetty を開始するためのスクリプトを作成します。たとえば、 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>

アプリケーション エージェントが正しく稼働していることを検証するには、次のコマンドを入力します。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 で実行されている場合は、ネットワークエージェントが永続的な接続を検出してモニターするために、アプリケーションを再起動する必要があります。