AppDynamics イベントサービスは、アプリケーション分析、データベース可視化、およびエンドユーザモニタリングの展開によって生成される非構造化データ用のオンプレミス データ ストレージ機能です。
イベントサービスについて
コントローラに組み込まれている MySQL データベースには、コントローラが生成するアプリケーションメトリックと構成データが保存されます。このタイプのデータを保存するには組み込みデータベースでも十分ですが、大容量でパフォーマンス集約型の性質を持つ分析データを保存する場合は、水平拡張性がある専用ストレージが必要になります。そのような役割は、AppDynamics のデプロイでは AppDynamics イベントサービスによって提供されます。
エンドユーザーモニタリング、アプリケーション分析、またはデータベース可視性のサーバーコンポーネントをインストールしている場合は、スケールアウトしたオンプレミスのイベントサービスを使用する必要があります。ここで言うスケールアウトとは、そのサービスが Enterprise Console ホストにインストールされていないことを意味します。このタイプのイベントサービスは、必要に応じて、単一ノードまたは 3 つ以上のノードのクラスタとしてデプロイできます。また、イベントサービスをインストールした後にノードを追加してスケールアウトすることもできます。コントローラホストをクラスタの一部として追加することはお勧めしません。詳細については、イベントサービスの管理を参照してください。
ただし、データの冗長性とストレージの拡張性を向上させる場合、またはオンプレミスのコントローラのデプロイでエンドユーザモニタリング、アプリケーション分析、またはデータベースの可視性を使用している場合は、専用のイベント サービス インストールをデプロイする必要があります。
イベントサービスに依存する複数のAppDynamicsコンポーネントでは、イベントサービスの同じインスタンスまたはクラスタを使用する必要があります。
デプロイトポロジの概要
単一のノードか、3 つ以上のノードで構成されるクラスタにイベントサービスをデプロイできます。クラスタは水平拡張性があるため、データストレージ要件の増大に合わせてノードを追加できます。また、クラスタではデータの複製と冗長性も提供されるため、ノードの障害時にデータ整合性を確保することに役立ちます。
コントローラには、データベース可視性製品でデフォルトで使用される組み込みイベントサービスのインスタンスが含まれています。ただし、この組み込みイベントサービスは、コントローラと同じマシンで実行され、データの複製やスケーラビリティを提供しないため、アプリケーション分析や EUM の実稼働インストールで使用することは想定されていません。この組み込みイベントサービスは、小規模な環境、特にデモや学習の用途では使用できます。ただし、後でアップグレードする場合に、この組み込みイベントサービスから外部のイベント サービス インスタンスにデータを移行することはできません。
複数のコントローラをサポートすることによって、イベントサービスを展開し、共有イベントサービスにすることができます。
単一ノードのデプロイ
単一ノードのイベントサービスのデプロイでは、イベントサービスは専用のマシンで実行されます。コントローラとその他のイベントサービスのクライアントは、直接またはロードバランサを介してイベントサービスのノードに接続できます。単一ノードのイベントサービスをロードバランサの内側にデプロイすると、クライアントを変更することなく、デプロイをマルチノードクラスタに簡単に拡張できます。
単一ノードの展開は、テスト環境でのみ使用することをお勧めします。実稼働環境では、マルチノードクラスタを展開する必要があります(詳細については、以下を参照してください)。
マルチノードクラスタ
マルチノードクラスタは3つ以上のノードで構成されています。クラスタを使用すると、コントローラとその他のイベントサービスのクライアント、EUMサーバー、および分析エージェントは、イベントサービスのクラスタメンバーに負荷を分配するロードバランサを介してイベントサービスに接続します。
AppDynamics 実稼働環境では、マルチノードクラスタを推奨します。マルチノードクラスタには、次のような利点があります。
- データ損失に対する保護:マルチノードクラスタはデータを複製します。1 つのノードが実稼働でダウンしても、少なくともあと 2 つのノードがデータを保存していることになります。また、1 つのノードが実行されている限り、イベントサービスは継続して実行されます。単一ノードの展開でノードがダウンすると、イベントサービスが停止してデータが失われます。
- 冗長性の提供:マルチノードクラスタでは、ノードをスワップすることができます。
単一ノードのデプロイでは、イベントサービスにロードバランサを介して接続するかまたは直接接続します。
クラスタのノードは大量のデータをスワップします。そのため、クラスタをデプロイする際は、すべてのクラスタノードを同じローカルネットワーク内にインストールします。理想的には、同じネットワークスイッチに接続します。詳細については、以下を参照してください。
サポートされる導入環境
イベントサービスでサポートされているデプロイメントタイプと環境を確認するには、次の表を使用します。
デプロイメントタイプ | 開発環境 | 実稼動環境 |
---|
マルチノードのクラスタ化されたイベントサービス(3 ノード以上)(バージョン 20.2 以降) | はい | はい |
共有イベントサービス
複数のコントローラをオンプレミスの単一イベントサービスのデプロイに接続する場合、単一のコントローラを接続するのと同じ手順で接続できます。イベントサービスに対するコントローラの URL を、共有イベントサービスを指すように構成し、コントローラのキーが正しくなるようにする必要があります。そうすると、コントローラは共有イベントサービスへの同期を処理できるようになります。追加の要件はありません。
複数イベントサービスクラスタ構成と比較すると、共有イベントサービス構成ではメンテナンスとコストが軽減されます。イベントサービスは水平拡張性があるため、単一の大規模インスタンスでは、複数インスタンスと同様の機能が提供されます。
1 つのイベントサービスを共有できるコントローラの数に上限はありません。ただし、開発用と実稼働用に個別のイベントサービスを使用することをお勧めします。共有イベントサービスのクラスタを拡張する予定がある場合は、AppDynamics アカウント担当者に連絡してください。
デフォルトポート
イベントサービスが使用するデフォルトポート:
- イベントサービスAPIストアのポート:9080
- イベントサービスAPIストアの管理ポート:9081
イベントサービスのクラスタメンバーは、クラスタメンバー間の内部通信に追加ポートを使用します。クラスタ内で使用されるポートはすべて、イベントサービスの構成ファイル conf/events-service-api-store.properties
にリストされています。
イベントサービスの保護
デフォルトでは、イベントサービスの構成ファイルの ad.es.node.http.enabled
プロパティは false
に設定されています。イベントサービスの問題をデバッグまたはトラブルシューティングするには、管理者または AppDynamics サポートチームがこのプロパティを有効にし、設定を true
に変更することで、ElasticSearch で HTTP リクエスト(ノード統計情報など)を許可できます。デバッグセッションの後は、ただちにこのプロパティを無効にして(潜在的な)セキュリティの脆弱性を防止し、イベントサービスを再起動してください。ダウンタイムはハードウェアによって異なり、再起動するまでサービスは使用できません。