Windowsにおけるイベントサービスのインストール

Microsoft Windows システム上のイベントサービスは、単一ノードまたはクラスタとしてインストールおよび管理できます。一般的な導入例には次のものがあります。

  • [Single-node Events Service]:デモの用途や、データの冗長性と高可用性が必要とされないシナリオに最適。
  • [Three-node cluster]:実稼働イベントサービスクラスタの最小サイズ。
  • [Cluster of four nodes or more]:負荷の増加または予測されるサイジングが 3 ノードクラスタのキャパシティを超える展開の場合。

ノードが 10 個以上のクラスタを導入する予定がある場合は、Splunk AppDynamics カスタマーサポートまでお問い合わせください。

注: 同じサービスタイプの複数のインスタンスを作成することは、Windows ではサポートされていません。
警告: イベントサービスのインストールでインストールディレクトリやデータディレクトリを指定する必要はありません。指定する場合は、プラットフォームディレクトリ以外のディレクトリを指定します。

マスターノードを作成するノードの決定

すべてのイベントサービスノードは、マスターノードまたはデータノードのいずれかです。イベントサービスクラスターでは、マスターノードは両方ともストレージノードとして機能し、クラスター全体のデータの状態を管理します。これには、レプリカの状態も含まれます。単一ノードの展開では、マスターの役割はあまり多くありません。

マスターノードは、最初に起動するノードです。マスターノードが利用できなくなった場合、ワーカーノードは新しいマスターの選出を試みます。

イベントサービスをインストールするときに、各ノードの設定を指定します。これは、次の 2 つの情報で構成されます。

  • このノードがマスターとして機能することを有効にするかどうか
  • 新しいマスターが選出されるためにクラスターで使用できる必要があるノードの最小数

次の表に、インストール時に指定する値を示します。

展開内のノードの順序マスター対応新しいマスターを選出するために必要な使用できるノードの最小数
単一ノードインストールの最初の(唯一の)ノードtrue1
3ノードクラスタの1、2、3番目のノードtrue2
クラスタの4番目(以降)のノードfalse2
警告: イベントサービスのインストールまたはデータディレクトリの指定は任意です。これを行う場合は、指定したディレクトリをプラットフォーム ディレクトリにすることはできません。

インストールのクイックスタート

Windows にイベントサービスをインストールする前に、Enterprise Console を使用してコントローラをインストールする必要があります。EUM サーバーは Enterprise Console を使用してインストールできないため、別途インストールする必要があります。

警告: Enterprise Console では Windows 上でのリモートオペレーションはサポートされていないため、Windows マシン上のすべてのサービスを Enterprise Console ホストにインストールしておく必要があります。したがって、Enterprise Console の GUI を使用してイベントサービスクラスタをデプロイすることはできません。
  1. Enterprise Console をインストールしますNo Content found for /db/organizations/splunk/repositories/portal-production/content/documents/AppDynamics/on_premises/c_install_the_enterprise_console.dita
  2. Enterprise Console を使用してプラットフォームを作成し、ホストを追加します。
  3. コントローラとイベントサービスを同じホストにインストールするには、高速インストールオプションを使用します。コントローラとは別のホスト上で実行されるスケールアウトされたイベントサービスをインストールするには、カスタムインストールを使用します。カスタムインストールでは、コントローラやイベントサービスのインストール先やインストール方法による多くの柔軟性があります。
  4. 必要に応じて、EUM サーバーをインストールします。
  5. コントローラ、イベントサービス、および EUM サーバのインストール後のタスクを実施します。

単一ノードイベントサービスの展開

注:

次を含む最新のイベントサービス要件をすべて満たしていることを確認します。

  • Java ランタイム環境(JRE)のバージョンが 1.8 であること
  • Windows 環境変数パスにおいて、または相対パス ..\..\jreevents-service.exe がアクセスできる JRE フォルダにおいて、Java が定義されていること

イベントサービスを単一ノードにインストールするには、次の手順を実行します。

  1. イベントサービスの配信アーカイブをターゲットホスト上のディレクトリに解凍します。これにより、イベント サービス アーティファクトを含む events-service ディレクトリが作成されます。
  2. コントローラでイベントサービスへの接続の設定を開始します。
    1. コントローラの実行中に、ルートユーザーとして管理コンソールを開きます。
    2. [Controller Settings] ページで、appdynamics.on.premise.event.service.url を見つけます。
    3. コントローラでイベントサービスへの接続の設定を開始します。例:http://hostname:9080[保存] を選択します。
      注: ロードバランサをイベントサービスの前に設置している場合(クラスタでは必須)、この値はロードバランサで公開されているイベントサービスのVIPになります。その場合は、ノードのデプロイとロードバランサの構成を完了してから、この手順に戻ってくる必要があります。
  3. コントローラキーを取得します。
    1. [Controller Settings] ページで、appdynamics.on.premise.event.service.key 設定を見つけます。
      注: デフォルトのイベントサービスをインストールしない場合、appdynamics.on.premise.event.service.key 設定は空白になります。appdynamics.on.premise.event.service.key を作成するには、UUID ジェネレータを使用します。
    2. 設定の値をコピーします。これは、ステップ 4 を完了するために必要となります。
    3. 管理コンソールを閉じます。
  4. イベントサービスからコントローラへの接続を構成します。
    1. Windows Explorer から、events-service\conf\events-service-api-store.properties ファイルを開いて編集します。
    2. controller-key プロパティを見つけて追加します。
      ad.accountmanager.key.controller=controller-key
  5. イベントサービスプロセスのヒープ設定を確認します。
    1. 2 つのイベントサービスプロセス(それぞれ、イベントサービス JVM と Elasticsearch プロセス)の最小および最大ヒープ設定が正しいことと、デプロイメントに十分であることを確認します。

      設定

      • events-service-api-store.properties ファイルにある。

      • ギガバイト(GB)の場合は g、メガバイト(MB)の場合は m を使用する。

    2. イベントサービスプロセスでは、次のようになっていることを確認します。
      ad.jvm.options.name=events-service.vmoptions
      ad.jvm.heap.min=1g
      ad.jvm.heap.max=1g
    3. ElasticSearch プロセスでは、次のようになっていることを確認します。
      ad.es.jvm.options.name=events-service.vmoptions
      ad.es.jvm.heap.min=8g
      ad.es.jvm.heap.max=8g
      注: 実稼働 Elasticsearch インストールでは 8 GB が必要です。デモ用のインストールでは、デフォルトである1 GBを保持できます。
  6. events-service-api-store.properties ファイルを保存して閉じます。
  7. イベントサービスを Windows サービスとしてインストールし、管理者としてコマンドプロンプトを開きます。
    注: PowerShell を使用してこれを実行しないでください。
    1. Java インストールディレクトリを指定するように JAVA_HOME 環境変数を設定します。
      例:JAVA_HOME=C:\Zulu\zulu-8-jre
    2. ディレクトリを events-service に変更し、次のように入力します。
      bin\events-service.exe service-install -p conf\events-service-api-store.properties --auto-start 
      
      1. このコマンドは、(Elasticsearch への明示的な言及が含まれていない場合でも)Elasticsearch もインストールします。
      2. オプションの auto-start フラグを指定すると、イベントサービスが自動的に開始されるサービスとしてインストールされます。このフラグがない場合、イベントサービスは手動で開始されるサービスとしてインストールされます。
      3. (トラブルシューティングに役立つ)詳細なインストールおよび操作のロギングを行うには、‑‑log-verbose フラグを含めます。
  8. イベントサービスのサービス名を見つけます。
    bin\events-service.exe service-list
  9. Windows サービスを開き、Splunk AppDynamics [Events Service Api Store xxxx] を選択します。[スタート(Start)] を選択します。
  10. 新しいノードの正常性を確認し、サービスステータスを確認します。
    1. サービスステータスに「Healthy」と表示されている場合は、プロセスが正常に動作していることを示します。
      bin\events-service.exe check-health -hp localhost:9081
    2. ポートについては、イベントサービスの管理ポート(デフォルトでは9081)を渡します。
      [appduser@controller-one events-service]$ bin/events-service.exe check-health -hp 192.168.33.22:9081
      [2015-12-09T18:30:45,342-08:00] HV000001: Hibernate Validator 5.0.2.Final
      [2015-12-09T18:30:45,956-08:00] Individual statuses below:
      [2015-12-09T18:30:45,956-08:00] [192.168.33.22:9081] status is [200 OK]
      [2015-12-09T18:30:45,956-08:00] Overall status Healthy
      ...
    3. サービスステータスに「Overall status Healthy」と表示されない場合、サービスは正常ではありません。これを修正するには、次のイベントサービス設定とコントローラ設定間の正しいキーマッピングを決定する必要があります。
      1. appdynamics.es.eum.keyad.accountmanager.key.eumにマップする必要がある
      2. appdynamics.on.premise.event.service.keyad.accountmanager.key.controller にマップする必要がある
      3. appdynamics.on.premise.event.service.keyad.accountmanager.key.mds にマップする必要がある
      4. 管理コンソールでキーマッピングの値が空白になっている場合は、UUID ジェネレータを使用して作成します。
      5. UUID ジェネレータを使用して、ad.accountmanager.key.ops の値を作成します。
      6. UUID ジェネレータを使用して、次のキーに異なる値を作成します(3 つすべてのキーに同じ UUID を使用できます)。
        1. ad.accountmanager.key.slm
        2. ad.accountmanager.key.jf
        3. ad.accountmanager.key.service
  11. イベントサービスへの接続」で説明しているように、分析エージェント、EUM サーバー、またはデータベース モニタリング エージェントからイベントサービスへの接続を構成します。

イベントサービスクラスタのデプロイ(3 ノード)

以下の手順では、イベントサービスクラスタの最小サイズである3つのノードで構成されるイベントサービスクラスタをデプロイする方法について説明します。この手順は、クラスタの新規インストールを実行する場合にも、単一ノードのデプロイを3ノードクラスタに拡張する場合にも適用されます。4 ノード以上のクラスタに拡張する方法については、「クラスタへのノード追加」を参照してください。

警告: Enterprise Console では Windows 上でのリモートオペレーションはサポートされていないため、Windows マシン上のすべてのサービスを Enterprise Console ホストにインストールしておく必要があります。したがって、Enterprise Console の GUI を使用してイベントサービスクラスタをデプロイすることはできません。

始める前に、「イベントサービスのデプロイ」にあるトポロジに関する注意を確認し、クラスター内のすべてのマシンがシステム要件に適合していることを確認します。

確認できたら、3 ノードの各ノードで次の手順を実行します。

  1. 前述の 1 ノードインストールで説明している単一ノードクラスタの構成の手順に従ってノードを構成します。またconf\events-service-api-store.properties ファイルで以下の設定を構成します。
    1. ad.es.node.minimum_master_nodes プロパティの値を 2 に変更します。
      ad.es.node.minimum_master_nodes=2

      この設定では、新しいマスターを選出するために利用可能である必要がある、マスターになる資格があるインスタンスの最小数を指定します。イベントサービスクラスタには3つのマスターノードがあるため、この値は1つのクラスタで2にする必要があります。

    2. ad.es.event.index.shards の値をノード数に設定します。この場合は 3 です。
      ad.es.event.index.shards=3

      この値がすでにノード数より大きい場合は変更する必要はありません。

    3. ad.es.event.index.replicas および ad.es.metadata.replicas のプロパティを次のように変更することによって、複製データ保持数を 1 に設定します。
      ad.es.event.index.replicas=1
      ad.es.event.index.hotLifespanDays=10
      ad.es.metadata.replicas=1
    4. ユニキャストホストのプロパティについては、ポート番号 9300 を付けてクラスター内の各ノードにホスト名または IP アドレスを追加します。
      ad.es.node.unicast.hosts=node1.example.com:9300,node2.example.com:9300,node3.example.com:9300
    5. 発行ホストを、このマシンのIPアドレスまたはホスト名に変更します。例:
      ad.es.node.network.publish.host=node2.example.com
    6. イベントサービスと ElasticSearch のプロセスのヒープスペースを次のように構成します。
      1. たとえば、イベントサービスのプロセスのヒープサイズを 1 GB に設定するには、以下のプロパティを使用します。
        ad.jvm.options.name=events-service.vmoptions
        ad.jvm.heap.min=1g
        ad.jvm.heap.max=1g

        この設定値では、g はギガバイト(GB)を表し、m はメガバイト(MB)を表しています。

      2. ElasticSearch プロセスについては、ヒープサイズを、システムで利用可能な RAM 容量の半分か、最大値である 31 GB のどちらか小さい方の値に設定します。たとえば、ElasticSearch プロセスのヒープサイズを 8 GB に設定するには、プロパティを次のように設定します。
        ad.es.jvm.options.name=events-service.vmoptions
        ad.es.jvm.heap.min=8g
        ad.es.jvm.heap.max=8g

        この設定値では、g はギガバイト(GB)を表し、m はメガバイト(MB)を表しています。

    7. ファイルを保存して、閉じます。
  2. イベントサービスを Windows サービスとしてインストールします。
    bin\events-service.exe service-install -p conf\events-service-api-store.properties  --auto-start

    オプションのauto-startフラグを指定すると、イベントサービスは自動的に開始されるサービスとしてインストールされます。このフラグを指定しないと、イベントサービスは手動で開始するサービスとしてインストールされます。追加のオプション ‑‑log-verbose を指定すると、インストールおよびオペレーションのロギングがより詳細になって、トラブルシュートに便利です。

  3. 次のコマンドを入力して、イベントサービスのサービス名を見つけます。
    bin\events-service.exe service-list
  4. service-list コマンドで返されたサービス名を、次のコマンドで -s パラメータの引数として渡します。
    bin\events-service.exe service-start -s "<Name from service-list>"

    サービス名は必ず二重引用符で囲みます。

  5. 次のコマンドを使用して、新しいノードの正常性を確認します。このコマンドを実行する前に、2 つ以上のノードが実行中である必要があります。
    bin\events-service.exe check-health -hp localhost:9081

    ポートについては、イベントサービスの管理ポート(デフォルトでは9081)を渡します。サービスステータスとして、プロセスが正常に動作していることを表す「Healthy」が出力されていることを確認します。

    [appduser@controller-one events-service]$ bin/events-service.exe check-health -hp 192.168.33.22:9081
    [2015-12-09T18:30:45,342-08:00] HV000001: Hibernate Validator 5.0.2.Final
    [2015-12-09T18:30:45,956-08:00] Individual statuses below:
    [2015-12-09T18:30:45,956-08:00] [192.168.33.22:9081] status is [200 OK]
    [2015-12-09T18:30:45,956-08:00] Overall status Healthy
    ...
  6. ロード バランス イベント サービス トラフィック」で説明している手順に従って、トラフィックをイベントサービスクラスターに配信するようにロードバランサを構成します。
  7. イベントサービスへの接続」に従って、コントローラおよび他のクライアント(分析エージェント、EUM サーバー、データベース モニタリング エージェント)をイベントサービスに接続します。

イベントサービスクラスタの拡張

イベントサービスは水平拡張性があります。既存のノードに影響を与えることも既存のノードを再起動する必要もなく、既存のクラスタにノードを追加できます。

警告: Enterprise Console では Windows 上でのリモートオペレーションはサポートされていないため、Windows マシン上のすべてのサービスを Enterprise Console ホストにインストールしておく必要があります。したがって、Enterprise Console の GUI を使用してイベントサービスクラスタを拡張することはできません。

始める前に、新しいクラスタマシンを準備します。前述の説明に従って、システム要件を確認し、環境を整えます。

最初の3つのマスターノード以外の各ノードについては、前述のようにノードをダウンロードして構成します。最初の3つのマスターノードの後にクラスタに追加されたノードの構成手順は、次のとおりです。

  1. 最初の 3 つのマスターノード以外の各クラスターノードについては、conf\events-service-api-store.properties を編集用に開いて次のように構成を変更します。
    1. ad.es.node.master の値を false に設定します。
      ad.es.node.master=false
    2. ad.es.node.minimum_master_nodes の値を 2 に設定します。
      ad.es.node.minimum_master_nodes=2
    3. ad.es.event.index.shards の値を、クラスター内のノードの数に設定します。この値がすでにノード数より大きい場合は変更する必要はありません。
      ad.es.event.index.shards=<number_of_nodes>

      この値がすでにノード数より大きい場合は変更する必要はありません。

    4. ユニキャストホストプロパティについては、追加しているノードも含めてクラスタ内すべてのノードのホスト名またはIPアドレスを追加します。ノードごとに、そのノードが通信を行うポート(9300-9400)を指定します。例:
      ad.es.node.unicast.hosts=node1.example.com[9300-9400],node2.example.com[9300-9400],node3.example.com[9300-9400],node4.example.com[9300-9400]

      新しいノードはクラスターに動的に参加できるため、既存のクラスターメンバーのユニキャストホスト設定を再構成する必要はありません。

    5. 発行ホストを、このマシンのIPアドレスまたはホスト名に変更します。例:
      ad.es.node.network.publish.host=node4.example.com
    6. イベントサービスと ElasticSearch のプロセスのヒープスペースを次のように構成します。
      1. たとえば、イベントサービスのプロセスのヒープサイズを 1 GB に設定するには、以下のプロパティを使用します。
        ad.jvm.options.name=events-service.vmoptions
        ad.jvm.heap.min=1g
        ad.jvm.heap.max=1g

        この設定値では、g はギガバイト(GB)を表し、m はメガバイト(MB)を表しています。

      2. ElasticSearch プロセスについては、ヒープサイズを、システムで利用可能な RAM 容量の半分か、最大値である 31 GB のどちらか小さい方の値に設定します。ElasticSearch プロセスのヒープサイズを 8 GB に設定するには、プロパティを次のように設定します。
        ad.es.jvm.options.name=events-service.vmoptions
        ad.es.jvm.heap.min=8g
        ad.es.jvm.heap.max=8g

        この設定値では、g はギガバイト(GB)を表し、m はメガバイト(MB)を表しています。

    7. ファイルを保存して、閉じます。
  2. イベントサービスを Windows サービスとしてインストールします。
    bin\events-service.exe service-install -p conf\events-service-api-store.properties --auto-start

    オプションのauto-startフラグを指定すると、イベントサービスは自動的に開始されるサービスとしてインストールされます。このフラグを指定しないと、イベントサービスは手動で開始するサービスとしてインストールされます。追加のオプション ‑‑log-verbose を指定すると、インストールおよびオペレーションのロギングがより詳細になって、トラブルシュートに便利です。

  3. 次のコマンドを入力して、イベントサービスのサービス名を見つけます。
    bin\events-service.exe service-list
  4. service-list コマンドで返されたサービス名を、次のコマンドで -s パラメータの引数として渡します。
    bin\events-service.exe service-start -s "<Name from service-list>"
  5. 新しいノードの正常性を確認します。
    bin\events-service.exe check-health -hp localhost:9081
    注: このコマンドを実行する前に、2 つ以上のノードが実行中である必要があります。

    ポートについては、イベントサービスの管理ポート(デフォルトでは9081)を渡します。サービスステータスとして、プロセスが正常に動作していることを表す「Healthy」が出力されていることを確認します。

    [appduser@controller-one events-service]$ bin/events-service.bin check-health -hp 192.168.33.22:9081
    [2015-12-09T18:30:45,342-08:00] HV000001: Hibernate Validator 5.0.2.Final
    [2015-12-09T18:30:45,956-08:00] Individual statuses below:
    [2015-12-09T18:30:45,956-08:00] [192.168.33.22:9081] status is [200 OK]
    [2015-12-09T18:30:45,956-08:00] Overall status Healthy
    ...
  6. 新しいクラスターノードが含まれるようにロードバランサルールを変更します。詳細については、「ロード バランス イベント サービス トラフィック」を参照してください。

イベントサービスの起動および停止

インストール時に、イベントサービスはサービスとしてインストールされ、インストールが完了すると実行中のままです。イベントサービスをサービスまたはフォアグラウンドプロセスとして、ここで説明している手順に従うかまたはGUIを使用して停止および開始できます。

フォアグラウンドプロセスとしての開始および停止

イベントサービスをフォアグラウンドプロセスとして開始するには、次のコマンドを使用します。

bin\events-service.exe start -p conf\events-service-api-store.properties

イベントサービスをフォアグラウンドプロセスとして停止するには、次のコマンドを使用します。

bin\events-service.exe stop

Windows のサービスとしての停止および開始

サービスマネージャで、イベントサービスをWindowsのサービスとして停止または開始できます。次に示しているように、events-service.exe ツールを使用してイベントサービスを停止または開始することもできます。

  1. 次のコマンドを入力して、イベントサービスのサービス名を見つけます。

    bin\events-service.exe service-list
  2. service-list コマンドで返されたサービス名を、次のコマンドで -s パラメータの引数として渡します。サービス名を二重引用符で囲みます。

    bin\events-service.exe service-start -s "<Name from service-list>"

サービスを停止するには以下のコマンドを実行します。

bin\events-service.exe service-stop -s "<Name from service-list>"

ノードの削除

マスターノードとしてのオペレーションが有効になっていないノードをクラスタから削除するには、そのノード上のイベントサービスを停止するか、またはそのノードを実行しているマシンをネットワークから取り外します。

次のガイドラインに注意してください。

  • 結果として生じるクラスターサイズが 2 となるノードは削除できません。
  • 3 つ以上のノードで構成されるクラスタは、単一ノードのイベントサービスにサイズを減少することはできません。

ノードを削除したら、ロードバランサのルールを調整して古いクラスタメンバーを削除してください。詳細については、「 ロード バランス イベント サービス トラフィック」を参照してください。

クラスタデプロイでロードバランサを使用していない場合は、インストール時にコントローラにレポートする最初のマスターノードの接続設定は、コントローラに対してイベントサービスを特定するコントローラ設定に書き込まれることに注意してください。その状況でマスターノードを削除する場合は、削除したマスターノードがコントローラ接続設定でイベントサービスの宛先 URL として特定されているノードであるかどうかを確認します。該当する場合はその設定を調整します。詳細については、「イベントサービスへの接続」を参照してください。

マスターノードとしてのオペレーションを有効にするように既存のノードを再構成するか、またはマスターオプションが有効になっている新しいノードを追加します。

ad.es.node.master=true

ノードを再構成する場合は、構成を変更した後にノードを再起動します。