Deployment Support

エージェントインストーラには、AppDynamics によって実行されるマイクロサービスの構成が必要です。

AppDynamics エージェントインストーラによって展開を簡素化し、アプリケーションを迅速にインストゥルメント化します。エージェントインストーラでインストゥルメント化されたアプリケーションは、[Monitoring Settings] での最小限のコード変更で管理できます。

エージェントインストーラ(Linux および Windows オペレーティングシステム)

  • Java およびマシンエージェントの展開。 

  • アプリケーションの自動インストゥルメント化。
  • ティアとノードへの一意の名前の割り当て。
  • エージェントのアップグレードとロールバック。
マシンエージェントの展開。 

その他のエージェントは、開始ウィザードを使用して展開できます。  

エージェントインストーラの概要

エージェントインストーラは、以下の項目とともに動作します。

  • エージェントインストーラ:appdynamics-zero-agent-<version>.zip ファイル(エージェント インストーラ プラットフォームを表す)内の実行可能インストーラ。エージェントインストーラは、Java およびマシンエージェントとともにエージェント インストーラ プラットフォームをシステムにインストールします。コントローラ UI でインストーラにアクセスします。
  • デコレータ:AppDynamics APM エージェントを使用して新しいプロセスを自動的にインストゥルメント化するためのライブラリ。ライブラリは、アプリケーションを自動インストゥルメント化し、コントローラのティアとノードを自動で命名します。
  • エージェント インストーラ プラットフォーム:デコレータ、Java エージェント、およびマシンエージェントを管理するソフトウェアバンドル。自動インストゥルメンテーションを有効化し、さまざまなプロセスのステータスをコントローラ UI に報告します。デコレータ、エージェント daemon、エージェントバイナリの総称です。
  • ダウンローダ:Java およびマシン(該当する場合)エージェント、およびエージェント インストーラ プラットフォームを含む個々の zip ファイルをダウンロードするスクリプト(zero-agent.sh)。
  • ウォッチドッグ:エージェントインストーラでインストールされたエージェントは、Watchdog プロセスで管理できます。 
  • アップデータ:モニタリングエージェントのロールバックとアップグレードを行います。
  • エージェントインストーラ:appdynamics-zero-agent-windows-64-<version>.zip ファイル(エージェント インストーラ プラットフォームを表す)内の実行可能インストーラ。エージェントインストーラは、マシンエージェントとともにエージェント インストーラ プラットフォームをシステムにインストールします。コントローラ UI でインストーラにアクセスします。
  • エージェント インストーラ プラットフォーム:マシンエージェントを管理するソフトウェアバンドル。メトリックをコントローラ UI に送信します。エージェント daemon、エージェントバイナリの総称です。
  • ダウンローダ:マシンエージェント、およびエージェント インストーラ プラットフォームを含む個々の zip ファイルをダウンロードするスクリプト(zero-agent.ps1)。
  • ウォッチドッグ:エージェントインストーラでインストールされたエージェントは、Watchdog プロセスで管理できます。 
  • アップデータ:モニタリングエージェントのロールバックとアップグレードを行います。

エージェントインストーラの要件

エージェントインストーラには、次のコンポーネント、権限、およびサポートされている環境が必要です。 

Ansible などの構成管理ツールなど、他のプロセスによってファイルディレクトリのアクセス許可が変更されている場合、アプリケーションは正しくインストゥルメント化されません。

AppDynamics のコンポーネント

  • エージェントインストーラには、SaaS コントローラ 20.6.0 以降が必要です。 
  • また、Java およびマシンエージェントを使用するために十分な数の APM ライセンスも必要です。エージェント インストーラ プラットフォームに追加のライセンスは必要ありません。  

ファイアウォールの設定とブロック解除

ファイアウォールルールを設定して、次を含む特定の URL への発信トラフィックを許可する必要が生じる場合があります 。

  • AppDynamics コントローラへのアクセス:<customername>.saas.appdyanamics.com/* で APM トラフィックを許可します。

  • AppDynamics ダウンロードファイルサイトへのアクセス:accounts.appdynamics.com/downloads でエージェントバイナリをダウンロードします。

エージェントインストーラの権限

アクセスとロールを設定するには、AppDynamics アカウントの所有者であるか、管理者権限が必要です。また、Cloud Native Visualization には、AppDynamics SaaS プラットフォームの設定変更が必要です。2020 年 10 月 28 日に、SaaS コントローラへの設定の展開が開始されました。

エージェントインストーラを使用するには、Install Agent アカウントレベルの権限と、次のうちの少なくとも 1 つが必要です。

    • 任意のデフォルトロール(Analytics Administrator ロールを除く)
    • 任意のアプリケーションレベルの権限
    • Execute Workflow アカウントレベルの権限

Install Agent 権限は、デフォルトロールには追加されていません。

対応環境

この表では、エージェントインストーラでサポートされている環境を示します。JVM およびアプリケーションサーバの要件は、Java エージェントをインストールする場合にのみ適用されます。エージェントインストーラは Windows のインストールをサポートしていません。

エージェントインストーラでサポートされる環境
オペレーティング システム

Linux(64 ビット)。完全にテストされたフレーバー:

  • CentOS 7、8
  • Rhel 7、8
  • Ubuntu 18.04
  • Fedora 31
  • Debian 10

他の Linux オペレーティングシステムおよびバージョンはおそらく機能しますが、AppDynamics によって認定されていません。 

Windows Server(64 ビット)。完全にテストされたフレーバー:

  • Windows 2019
  • Windows 2016

JVM(Linux のみ)

  • Open => JDK 1.6
  • Oracle => JDK 1.7
  • IBM JDK => 1.6

アプリケーションサーバー(Linux のみ)

  • Apache Tomcat
  • Jboss Wildfly
  • GlassFish
  • WebSphere
  • Weblogic

バージョンの互換性については、「Java対応環境」と「マシンエージェントの要件とサポートされる環境」を参照してください。 

エージェントとプロセスの制限

このテーブルには、アクティブなエージェント登録、プロセス、およびエージェントインストーラに対するプロセスグループの制限が一覧表示されます。

Agent(エージェント)アカウントあたりの上限
アクティブなエージェントの登録数1000
プロセスアカウントあたりの上限
管理対象プロセス10,000
管理対象外プロセス10,000
単一のインストールでの管理対象プロセス100
単一のインストールでの管理対象外プロセス100
プロセスグループアカウントあたりの上限
管理対象プロセスグループ1000
管理対象外プロセスグループ1000
単一のインストールでの管理対象プロセスグループ100
単一のインストールでの管理対象外プロセスグループ100

エージェントインストーラで使用可能なエージェント

エージェントインストーラによってエージェント インストーラ プラットフォームを展開し、モニタするエージェントをマシンにダウンロードします。次をインストールできます。

  • 4.5.19 以降の Java エージェントレガシー(Linux のみ)
  • 22.3.0 以降の Java エージェント JDK8+(Linux のみ)
  • マシンエージェント 20.3.0 以上

AppDynamics アプリケーション エージェントがインストールされていないホストにマシンエージェントをインストールすると、マシンエージェントは、選択されたアプリケーション名、階層名:ホスト名、ノード名:ホスト名で動作します <zero-agent-generated-hash-string>。 

エージェントインストーラを使用したエージェントの展開

アプリケーション名に一重引用符(')を含めることはできません。エージェントインストーラを使用して Java JDK8+ をインストールすると、OpenTelemetry リソース属性 service.namespace および service.name が AppDynamics アプリケーション名と階層名にマップされます。 

エージェントインストーラを使用してエージェントを展開するには、次の手順を実行します。

  1. コントローラ UI から、[Home] > [Agent Installer] を選択します。
  2. [Specify Application to Deploy to] ドロップダウンから、既存のアプリケーションを選択するか、[New application] を選択して名前を入力します。  

  3. エージェントインストーラをダウンロードして、高速インストールまたはカスタムインストールの方法を使用して実行します。 

エージェントインストーラ API を使用したエージェントの展開」を参照してください。 

高速インストール方法

  1. [Express installation] 方法がデフォルトとして選択されています。使用可能なすべてのエージェントの最新バージョンをダウンロードしてインストールできます。  
    1. Java エージェントタイプである Java JDK8+ は、OpenTelemetry が無効になっている高速インストールのデフォルトです。 
    2. 高速インストールのマシンエージェントは、サーバーの可視性と .NET 互換モードを無効にします。 
  2. 最初のコマンドをコピーして実行し、使用可能な最新のエージェントをダウンロードします。  

  3. script icon(2 番目のコマンドの右上隅)を選択して 2 番目のコマンドをコピーして実行し、エージェントをインストールします。また、[Show command] を選択して、アクセスキーを使用して完全なコマンドを表示することもできます。

  4. モニタするアプリケーションプロセスを再起動します。 
  5. [Next] をクリックして、インストゥルメンテーションを続けます。 

エージェントのインストールが完了すると、[Monitoring Settings] タブにリダイレクトされ、インストゥルメント化された階層とノードが表示されます。 

カスタムインストール方法

コントローラがホスティングされている地域の外部にある AppDynamics エンドポイントを使用する OpenTelemetry Collector を設定する場合、OpenTelemetry データはコントローラがホスティングされている地域とは異なる地域を通過する可能性があります。「AppDynamics for OpenTelemetry™ のサポート」を参照してください。 

  1. [Custom installation] を選択します。 
  2. エージェント Java Agent (レガシーまたは JKD8+)またはインストールする Machine Agent を選択します。 

  3. (オプション):Java エージェント JDK8+ の OpenTelemetry を有効にします。これを行うには、トレースエクスポータ、メトリックエクスポータ、および OTLP エンドポイントを追加します。 
  4. (オプション):マシンエージェントのサーバーの可視性または .NET 互換モードを有効にします。 
  5. ターミナル(Linux)/PowerShell(Windows)ウィンドウまたは自動化ツールにコマンドをコピーして実行します。 

  6. ユーザ権限を設定して、エージェントインストーラの実行方法を決定します。

    • sudo 権限でエージェントインストーラを実行し、ホスト上のすべてのユーザーに対してエージェント インストーラ プラットフォームを有効にするには、[ Instrument processes for all system users] を選択します(sudo アクセスが必要です)。

      • デフォルトでは、サービスはルートとして実行されます。別のユーザーとして実行するようにサービスを構成するには、パラメータ --run-as <user> を追加します。
      • デフォルトでは、すべてのユーザーによって実行されるプロセスがインストゥルメント化されます。特定のユーザーによって実行されるプロセスをインストゥルメント化するには、パラメータ --filter-by-users <user1>,<user2> またはパラメータ --filter-by-groups <group1>,<group2> を追加します。
    • sudo 権限なしでエージェントインストーラを実行し、現在のユーザーに対してのみエージェント インストーラ プラットフォームを有効にするには、[ Instrument processes for an individual user ] を選択します。Sudo と非 Sudo アクセスの比較」を参照してください。 

    • デフォルトでは、インストールされたサービスは LOCAL SYSTEM として実行されます。ローカルサービスアカウントとして実行するようにサービスを設定するには、次のようにします。
      • Windows アカウントの run-as および password パラメータを追加します。

      • サービスアカウントが使用される場合( NT AUTHORITY\LOCAL SERVICE など)、パスワードパラメータは指定されません。16 文字以上のパスワードを使用してください。 

  7. ユーザーのインストール権限を確認した後に、script icon(コマンドの右上隅)を選択してコマンドをコピーし、実行します。アクセスキーを使用して完全なコマンドを表示するには、[Show command] を選択します。

    1. 指定されたホストでコマンドを実行すると、エージェントファイルはそのホストのみにダウンロードされます。複数のホストにエージェントをインストールするには、複数のホストでのエージェントインストーラの実行」を選択します。

  8. モニタするアプリケーションプロセスを再起動します。 

  9. [Next] をクリックして、インストゥルメンテーションを続けます。

エージェントのインストールが完了すると、[Monitoring Settings] タブにリダイレクトされ、インストゥルメント化された階層とノードが表示されます。 

Sudo と非 Sudo アクセスの比較(Linux)

エージェントインストーラは sudo 権限の有無にかかわらず実行できます。

AppDynamics は、sudo コマンドを使用して、システム内のすべてのユーザーに対してエージェントをインストールすることを推奨します。 

次の表では、sudonon-sudo のインストールの違いについて説明します。


sudo のインストール

非 sudo のインストール

説明システム内のすべてのユーザに対して、サポートされているすべてのプロセスにエージェントをインストールします。現在のユーザのみに対してエージェントをインストールします。
自動インストゥルメンテーション プロセスデフォルトでは、systemd と統合して、エージェントが常に実行されるようにします。この動作をオーバーライドするには、「エージェントインストーラのカスタマイズ」を参照してください。インストールユーザーによって開始され、bash などの Linux シェルで実行されるプロセスを自動インストゥルメント化します。

sudo 環境での systemd 管理対象プロセスのインストゥルメント化

sudo エージェント インストーラ プラットフォームのインストールで systemd 管理対象アプリケーションプロセスのインストゥルメンテーションを有効にするには、アプリケーションプロセスのロードに使用される systemd サービスのプロファイルで、デコレータライブラリへのパスを使用して LD_PRELOAD 環境変数を定義する必要があります。

実際のパスは、オペレーティングシステムと製品のインストールディレクトリによって異なります。次に、CentOS 7 で更新された Apache Tomcat systemd サービスプロファイルの例を示します。

$ grep LD_PRELOAD /etc/systemd/system/apache-tomcat-7.service Environment=LD_PRELOAD=/home/centos/appdynamics/zeroagent/lib64/libpreload.so 
BASH

プロファイルを更新したら、変更を有効にするために systemctl デーモンをリロードし、アプリケーションを再起動する必要があります。

$ sudo systemctl daemon-reload 
$ sudo systemctl restart apache-tomcat-7.service
BASH

複数のホストでのエージェントインストーラの実行

エージェントインストーラは、一度ダウンロードすると複数のホストで実行できます。複数のホストにエージェントバンドルをインストールするには、該当するすべてのマシンにバイナリを配布します。たとえば、次の手順は、tar コマンドを使用してホスト間でファイルを移動する方法を示しています。 

  1. エージェントバンドルをダウンロードします。「エージェントインストーラを使用したエージェントの展開」を参照してください。 
  2. エージェントインストーラを複数のホストに配布します。 
    1. エージェントバンドルをダウンロードしたディレクトリと同じディレクトリにいることを確認します。 
    2. tar コマンドを使用して、スクリプトを 1 つのファイルに入れます。

      tar cvf zero-agent.tar * 
      BASH
    3. ファイルを複数のホストにコピーします。

      scp zero-agent.tar <target host>:<directory>
      BASH
    4. アーカイブされたスクリプトを同じディレクトリに展開します。

      tar xvf zero-agent.tar
      BASH
  3. カスタムインストール方法を使用して、エージェントインストーラの展開を完了します。

エージェントインストーラのカスタマイズ

エージェントインストーラのカスタマイズ」を参照してください。 

エージェントインストーラのアップグレードとロールバック

エージェントのアップグレードとロールバック」を参照してください。 

サーバーの可視性と .NET 互換モードを有効にする

configure コマンドを使用して、マシンエージェントのサーバーの可視性と .NET 互換モードを有効にするには、「Enable Server Visibility and .NET Compatibility Mode with Agent Installer」を参照してください。 

ノード名の形式

ノード名の形式は、バージョン 22.4 以降から変更されます。バージョン 22.4 にアップグレードすると、再起動後に既存の環境のノード名が自動的に変更されます。 

The <serverName> は、jboss appserver タイプに適用されます。

エージェントインストーラのバージョンノード名の形式ノード名の例
22.4 より前<hostName>-<First 4 systemId><Last 4 systemId>-[hash of Tiername]-<serverName>ubuntu_host-sefd-er43-rextderutq
22.4 以降<hostName>-<First 4 systemId><Last 4 systemId>-[hash of JavaUniquePath]-<serverName>ubuntu_host-sefd-er43-texdreodrx

エージェントインストーラのアンインストール

エージェントインストーラをアンインストールするには、端末で、エージェント インストーラ プラットフォームがインストールされているディレクトリに移動し、次のコマンドを実行します。

languagebash<install-directory>/bin/zfictl uninstall
CODE
<install-directory>\bin\zfictl.exe uninstall
CODE