On this page:

Related Pages:

このページでは、CLIを使用してLinuxシステムでイベントサービスをインストールおよび管理する方法について説明します。Enterprise Consoleを使用して埋め込みイベントサービスをスケールアップする手順についても説明します。

AppDynamics Enterprise Console では、GUI または CLI のいずれかを使用するイベントサービスデプロイのインストールおよび管理のタスクが自動化されます。Enterprise Console を使用したイベントサービスのインストールについては、「カスタムインストール」を参照してください。

イベントサービスのインストールでインストールディレクトリやデータディレクトリを指定するする必要はありません。指定する場合は、プラットフォームディレクトリ以外のディレクトリを指定します。

イベントサービスホストの要件

始める前に、イベントサービスと Enterprise Console の使用に関する既知の問題と最新情報について、「リリースノート」で必ず確認してください。また、以下の要件についても確認してください。

  • イベントサービスは、単一のノード、または 3 つ以上のノードのマルチノードクラスタとしてデプロイできます。 

  • コントローラのためのLinuxの準備」に記載されているように、サポートされている Linux バージョンには、コントローラでサポートされているフレーバーやバージョンが含まれています。
  • イベントサービスは専用マシンで実行する必要があります。そのマシンでは、イベントサービスに関連しない他のアプリケーションまたはプロセスを実行しないでください。

  • イベントサービスマシン用に適切にサイズ指定されたハードウェアを使用します。Enterprise Consoleは、ターゲットシステムが最小ハードウェア要件に適合しているかどうかをチェックします。これらの要件の詳細については、「イベントサービスクラスタのインストール」にある、イベントサービスのインストールコマンドの profile 引数の説明を参照してください。 
  • コントローラとイベントサービスは、同じローカルネットワーク上に配置されていて、内部ネットワークで通信できる必要があります。互いに関連していても、Enterprise Console が実行されているコントローラに関連していても、別のネットワークにあるノードにクラスタをデプロイしないでください。構成でクラスタホストを特定する場合は、そのホストの外部ルーティング対応の DNS 名ではなく、ホストの内部 DNS 名または IP アドレスを使用する必要があります。
    たとえば、AWS デプロイの場合、ec2-34-201-129-89.us-west-2.compute.amazonaws.com などの公開 DNS ホスト名ではなく、172.31.2.19 などのプライベート IP アドレスを使用します。
  • 各イベントサービスホストで適切なポートが開いていることを確認します。詳細については、「ポート設定」を参照してください。 

  • Enterprise ConsoleはSSHキーを使用してイベントサービスホストにアクセスします。そのキーの作成については次のセクションを参照してください。 

  • イベントサービスのノードは、通常はロードバランサの内側で運用されます。イベントサービスのノードのインストール時に、Enterprise Consoleはコントローラからそのノードへの直接接続を自動的に構成します。クラスタをデプロイすると、最初のマスターノードはコントローラ内の接続ポイントとして自動的に構成されます。インストール後に、以下に説明している手順に従って、ロードバランサのVIPを介して接続するようにコントローラを再構成する必要があります。サンプル構成については、「ロードバランスイベントサービストラフィック」を参照してください。 

ポート設定

各マシンで、以下のポートで外部(クラスタ外)のトラフィックにアクセスできる必要があります。

  • イベントサービスAPIストアのポート:9080
  • イベントサービスAPIストアの管理ポート:9081

クラスタについては、以下のポートがクラスタ内のマシン間の通信に対してオープンな状態であることを確認します。通常、以下のポートを開くには、各マシンでiptablesまたはOSレベルのファイアウォールソフトウェアを構成する必要があります。

  • 9300 ~ 9400

オペレーティングシステムのファイアウォールを構成するための iptables コマンドの例を次に示しています。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9081 -j ACCEPT
-A INPUT -m state --state NEW -m multiport -p tcp --dports 9300:9400 -j ACCEPT

イベントサービスノードでポートがブロックされている場合、そのノードに対するイベントサービスのインストールコマンドは失敗し、Enterprise Consoleのコマンド出力とログに次のようなエラーメッセージがあります。

failed on host: <ip_address> with message: Uri [http://localhost:9080/_ping] is un-pingable.

このエラーが発生した場合は、このセクションで示しているポートが他のクラスタノードで利用可能であることを確認します。 

SSHキーの作成

イベントサービスのインストール時に、Enterprise Console がリモートでイベントサービスホストにアクセスするために使用できる SSH キーを指定する必要があります。始める前に、公開鍵と秘密鍵の PEM ファイルを RSA 形式で作成します。鍵ファイルにはパスワード保護を使用しないでください。

たとえば、ssh-keygenを使用する場合は、次のコマンドでキーを作成できます。

ssh-keygen -t rsa -b 2048 -v -m pem

パスワード不要のSSHログインの構成

Enterprise Console は、パスワード不要の SSH を使用して各クラスタマシンにアクセスできる必要があります。始める前に、鍵ベースの SSH アクセスを有効にします。

このセットアップでは、Enterprise Console ホストでキーペアを生成し、クラスタノードで Enterprise Console の公開鍵を認証キーとして追加することも必要です。以下の手順では、この例のシナリオに合わせた構成手順を示しています。そのため、使用している環境に合わせて手順を調整する必要があります。  

AWS で EC2 インスタンスを使用している場合は、以下の手順に従って、EC2 ホストをプロビジョニングする場合に対応できるようにします。そのときに、PEM ファイルが要求され、その PEM ファイルの公開鍵がホストの authorized_keys にコピーされます。この場合は、これらの手順をスキップできます。  

Enterprise Consoleマシンで以下の手順に従います。

  1. Enterprise Consoleマシンにログインするか、またはデプロイの実行に使用するユーザーに切り替えます。

    su - $USER
  2. SSHアーティファクトのディレクトリを作成し(存在しない場合)、次のようにディレクトリで権限を設定する。

    mkdir -p ~/.ssh 
    chmod 700 ~/.ssh
  3. そのディレクトリに移動します。

    cd .ssh 
  4. 公開鍵と秘密鍵のPEMファイルをRSA形式で生成します。

    ssh-keygen -t rsa -b 2048 -v -m pem

    キーファイルにはパスワード保護を使用しないでください。

  5. 要求されたときに、鍵を保存するファイルの名前を入力します(例:appd-analytics)。

  6. キーファイルの名前を変更して.pem拡張子を追加します。

    mv appd-analytics appd-analytics.pem

    このファイルのパスは、「イベントサービスクラスタのデプロイ」で説明しているように、Enterprise Console の構成ファイルの sshKeyFile 設定として後で構成します。 

  7. 公開鍵をクラスタマシンにコピーします。たとえば、次のように scp を使用して転送を実行できます。

    scp ~/.ssh/myserver.pub host1:/tmp
    scp ~/.ssh/myserver.pub host2:/tmp
    scp ~/.ssh/myserver.pub host3:/tmp

    例のとおりの名前を使用している場合、myserver は appd-analytics です。
    初めて接続するときに、接続を確認して、そのクラスタマシンを known_hosts のリストに追加し、ユーザのパスワードを入力する必要があることがあります。 

  8. 各クラスタノード(host1、host2、host3)で、ユーザーのホームディレクトリに.sshディレクトリがなければ作成し、コピーした公開鍵を認証キーとして追加します。

    cat /tmp/appd-analytics.pub &gt;&gt; .ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  9. コントローラマシンからsshを使用してクラスタノードへのログインを試すことによって、構成をテストします。

    ssh host1

    接続できない場合は、クラスタマシンにopenssh-serverパッケージがインストールされていて、SSH接続を受け入れるようにオペレーティングシステムのファイアウォールルールを変更していることを確認します。正常に接続できれば、次のセクションで説明しているように、コントローラホストで Enterprise Console を使用してイベントサービスクラスタをデプロイできます。 

Enterprise Consoleが、パスワード不要のSSHが適切に構成されていないノードにイベントサービスをインストールしようとすると、次のようなエラーメッセージが表示されます。

./bin/platform-admin.sh install-events-service --ssh-key-file /root/e2e-demo.pem --remote-user username --installation-dir /home/username/ --hosts 172.31.57.202 172.31.57.203 172.31.57.204
...
Events Service installation failed. Task: Copying JRE to the remote host failed on host: 172.31.57.204 with message: Failed to upload file: java.net.ConnectException: Connection timed out

このエラーが発生した場合は、このセクションの手順に従って、パスワード不要の SSH 構成を再度チェックしてください。  

GUIを使用したイベントサービスのインストール

GUI で、[Express Install] オプションを使用すると、コントローラと同じホストにイベントサービスが自動的にインストールされます。[Custom Install] オプションを選択すると、埋め込みまたはスケールアップされたイベントサービスをインストールできます。埋め込みイベントサービスをインストールした後に、スケールアップされたイベントサービスに切り替える場合は、「埋め込みイベントサービスのスケールアップ」で説明している手順を実行します。  

CLIを使用したイベントサービスのインストール

  1. ロードバランスをセットアップします。ロードバランサの構成については、「ロードバランスイベントサービストラフィック」を参照してください。 

  2. コマンドラインで、Enterprise Console のインストール時に作成された platform-admin ディレクトリに移動します。「Enterprise Consoleのインストール」を参照してください。

  3. 最後のセッションから1日以上経った場合には、以下のコマンドを使用してログインする必要があります。

    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
  4. 次のコマンドを使用してプラットフォームを作成します。

    bin/platform-admin.sh create-platform --name <platform_name> --installation-dir <platform_installation_directory>

    インストールディレクトリは、Enterprise Consoleによってすべてのプラットフォームコンポーネントがインストールされるディレクトリです。

    同じインストールディレクトリが存在していて、すべてのリモートノードで使用されています。異なるノード間で構成の等質性を維持するために、このようになっています。

  5. Enterprise Console がイベントサービスホストにリモートでアクセスおよび管理するために使用する SSH キーを追加します(詳細については、「SSH キーの作成」を参照してください)。

    bin/platform-admin.sh add-credential --credential-name <name> --type ssh --user-name <username> --ssh-key-file <file path to the key file> --platform-name <name of platform>

    <file path to the key file> は Enterprise Console マシンの秘密鍵です。インストールプロセスで、鍵を使用してイベントサービスホストに接続します。キーはデプロイされず、代わりに暗号化され、Enterprise Console データベースに保存されます。
    platform-name パラメータはオプションです。

  6. プラットフォームに追加した認証情報を渡して、プラットフォームにホストを追加します。

    bin/platform-admin.sh add-hosts --hosts es_host_1 es_host_2 es_host_3 --credential <credential name> --platform-name <name of platform>

    platform-nameパラメータはオプションです。

  7. クラスタ内の各イベントサービス宛先ノードで、イベントサービスのインストールディレクトリを作成します。このディレクトリは、ステップ(2)でプラットフォームの作成中に installation-dir 引数で指定したディレクトリです。

  8. もう一度 Enterprise Console マシンのコマンドラインで、platform-admin ディレクトリに移動して 次のコマンドを実行します。クラスタ構成設定をコマンドの引数として渡します。コマンドの形式は 次のとおりです。 

    bin/platform-admin.sh install-events-service  --profile prod --hosts <host1>  <host2>  <host3> --data-dir “<data_directory_on_node>” --platform-name <name of platform>

    platform-nameパラメータはオプションです。
    引数は以下のとおりです。

    • hosts:この引数または host-file を使用して、デプロイ内のクラスタホストの内部 DNS ホスト名または IP アドレスを指定します。この引数では、ホスト名またはアドレスをパラメータとして渡します。例:

      --hosts 192.168.32.105 192.168.32.106 192.168.32.107
    • host-file:ホストを --hosts 引数として指定する代わりに、ホストのリストを記述したテキストファイルをこの引数で指定して渡すこともできます。そのプレーンテキストファイルでは、各クラスタホストの内部DNSホスト名またはIPアドレスを、1行に1つずつ指定します。

      192.168.32.105
      192.168.32.106
      192.168.32.107
    • profile:デフォルト(プロファイルの指定なし)では、インストールは実稼働インストールとみなされます。開発者プロファイル(‑‑profile dev)を指定すると、非実稼働環境のみに適した、軽減されたハードウェアプロファイル要件を使用するように Enterprise Console に指示されます。Enterprise Consoleでは以下のリソースがチェックされます。

      • dev プロファイルの場合は、1 コア CPU、1 GB の RAM、2 GB のディスク領域。 

      • それ以外の場合は、4 コア CPU、12 GB の RAM、128 GB のディスク領域。 

    例:

    bin/platform-admin.sh install-events-service --profile dev --hosts ip-172-31-20-21.us-west-2.compute.internal ip-172-31-20-22.us-west-2.compute.internal ip-172-31-20-23.us-west-2.compute.internal 

    hosts.txt ファイルを 使用する場合は、次のコマンドを使用します。

    bin/platform-admin.sh install-events-service --host-file=/home/appduser/hosts.txt
  9. 各イベントサービスノードマシンにログインし、環境をセットアップするためのスクリプトを次のように実行します。

    tune-system.sh スクリプトは、ユーザの環境を最適化するために使用されます。それは任意になります。

    1. tune-system.shスクリプトに実行権限を付与します。

      chmod +x tune-system.sh 
      ./tune-system.sh
    2. スクリプトを実行します。

      sudo <installation_dir>/events-service/processor/bin/tool/tune-system.sh
  10. ロードバランサを使用している場合は、ロードバランサで提示されるイベントサービスの仮想IPを使用します。イベントサービスへのコントローラ接続を次のように構成します。

    1. 管理コンソールを開きます。

    2. コントローラ設定ペインで、appdynamics.on.premise.event.service.url and を見つけて、その値をロードバランサでのイベントサービスの仮想 IP の URL に変更します。

    コンソールで接続設定を変更した後に、コントローラとイベントサービスがアカウント情報を同期するのに数分かかることがあります。

完了すると、イベントサービスの管理機能で Enterprise Console を使用できます。クラスタノードマシンをデプロイした後は、それらのマシンに直接アクセスする必要はなくなります。特に、イベントサービスノードのホームディレクトリにあるスクリプトは使用しないでください。
インストール後に、Enterprise Console はコントローラの構成を自動的に更新します。 

埋め込みイベントサービスのスケールアップ

以下の手順では、コントローラと共有しているホストにあるイベントサービスをスケールアップする方法について説明しています。スケールアップすることによって、埋め込みイベントサービスを個別のホストで実行できるようになります。カスタムインストールを使用することで、イベントサービスを個別のホストに直接インストールすることもできます。

  1. ロードバランスをセットアップします。ロードバランサの構成については、「Load Balance Events Service Traffic」を参照してください。 
  2. Enterprise Console GUIを開きます。
  3. 使用する認証情報およびホストが、AppDynamicsプラットフォームに追加されていることを確認します。詳細については、「Enterprise Consoleの管理」を参照してください。

    1. [Credential ] ページで、イベントサービスのインストール先のホストの SSH 認証情報を追加します。

    2. [Hosts] ページで、ホストを追加します。Enterprise Console はイベントサービスのスケールアップにこれらのホストを使用します。1 つのホストのみ、または 3 つ以上のホストが必要です。
  4. [Events Service] ページで、[Events Service] を選択し、[More] にある [Scale Up Events Service ] をクリックし、ウィザードに従って完了します。スケールアップ後のイベントサービスで使用するホストを入力する際に、コントローラホストは含めないでください。  

    コントローラはスケールアップジョブによって自動的に再起動されるため、ユーザーが再起動する必要はありません。

  5. 各ノードマシンにログインし、環境をセットアップするためのスクリプトを次のように実行します。

    sudo <installation_dir>/events-service/latest/bin/tool/tune-system.sh
  6. 次のページにController移動します。
  7. Enterprise Consoleはデフォルトでは、クラスタで定義されている最初のマスターノードを参照するように、コントローラでイベントサービス接続を構成します。ロードバランサを使用している場合(推奨)は、以下の手順に従って、ロードバランサで提示されているイベントサービスのVIPを指すように、このコントローラ設定を変更する必要があります。

    1. 管理コンソールを開きます。

    2. コントローラ設定ペインで次を見つけます。appdynamics.on.premise.event.service.url.
    3. URL の設定値を、ロードバランサでのイベントサービスの VIP に変更します。 

    4. デフォルトでは、データベースモニタリングはコントローラに埋め込まれているイベントサービスにイベントデータを保存します。デプロイしたばかりのイベントサービスを使用するように変更するには、次の手順に従います。

      1. appdynamics.on.premise.event.service.url も VIP の URL に変更します。 

      2. appdynamics.analytics.local.store.keyの値がappdynamics.analytics.server.store.keyと同じ値であることを確認します。

      このイベントサービスに保存されるのは、データベースモニタリングの新たに生成されたデータのみであることに注意してください。以前に収集されたデータは、そのデータが新しいイベントサービスに移行されていない限り、埋め込みイベントサービスのインスタンスに残ります。「イベントサービスへの接続」を参照してください。 

    コンソールで接続設定を変更した後に、コントローラとイベントサービスがアカウント情報を同期するのに数分かかることがあります。

インストールのトラブルシューティング

イベントサービスのインストール中に Enterprise Console がクラッシュまたはシャットダウンした場合、GUI にインストールが進行中であることが表示されることがあります。この問題を解決するには、CLI を使用してイベントサービスをアンインストールします。次に、CLI を使用してイベントサービスをインストールします。