合成サーバーはリクエストをディスパッチして処理し、合成エージェントに依存して測定を実行し、レポートを作成します。

合成サーバはコントローラから合成ジョブ要求を受け取り、その後、合成エージェントによって合成サービスからジョブがフェッチされます。合成エージェントから測定結果を受け取ると、合成サーバはその結果を保存して処理し、EUM サーバに送信します。 

インストール概要

そのため、オンプレミス合成サーバーのデプロイを完全に設定するには、以下が必要になります。

  1. コントローラをインストールするか、EUM サーバーとともに動作するインサービスコントローラを準備します。
  2. イベントサービスをインストールして、オンプレミスコントローラとともに動作するように構成します。
  3. EUM サーバーをインストールして、イベントサービスやコントローラとともに動作するように構成します。
  4. 合成サーバーのインストール」を実行し、EUM サーバーやコントローラとともに動作するように構成します。
  5. 1 つまたは両方のタイプの合成エージェントをインストールおよび構成します。

  6. 合成サーバーの保護(推奨)。

  7. 合成サーバをモニタします(推奨)。

合成サーバーのコンポーネント

オンプレミスの合成サーバは、次の 3 つのサービスで構成されています。

このドキュメントでは、合成クライアントフィーダと通信するが、SaaS 合成サーバのサービスとしてのみ使用される合成サーバフィーダについても説明しています。

合成スケジューラ

最初のサービスは合成スケジューラです。これは、設定された間隔でジョブ要求を送信する、cron に似たサービスです。合成スケジューラでジョブの CRUD オペレーションを処理し、測定結果で発生する合成の警告やエラー向けに生成されるイベントを管理します。また、合成スケジューラはビーコンを検証して、必要に応じて警告イベントやエラーイベントを起動し、ビーコンを EUM サーバに転送します。

合成シェパード

2 番目のサービスは合成シェパードです。このサービスでは、ジョブを管理し、合成エージェントにディスパッチします。さらに合成シェパードは、測定結果をファイルシステムに保存し、データを含むビーコンを合成スケジューラに送信します。

合成フィーダクライアント

3 番目のサービスは合成フィーダクライアントです。SaaS 合成フィーダサーバと通信して、合成ホステッドエージェントにアクセスします。(合成プライベートエージェントのみを展開する場合は、合成フィーダクライアントを使用する必要はありません。)これらのサービスは、ファイアウォールでポートを開かなくても、WebSocket プロトコルを使用してシステムにデータを転送します。

合成エージェント

オンプレミス合成サーバを展開する場合、1 つまたは両方の合成エージェントタイプを展開できます。

  • 合成ホステッドエージェント - AppDynamics によってホストおよび管理されている合成エージェント
  • 合成プライベートエージェント - インフラストラクチャでインストール、設定、実行、および保守を行う合成エージェント

合成エージェントタイプの比較

次の表に、2 つのタイプのエージェントを比較し、両方の利点と主な使用例を示します。

合成エージェントタイプ主な利点/使用例
合成ホステッドエージェント
  • 地理的に分散した一連のエージェントへのアクセス
  • 所有権/リソースコストの削減:ハードウェアまたはクラウドコンピューティングのコストがかかりません
  • 使いやすさ:エージェントの導入/設定/管理が不要
  • 拡張性:合成ホステッドエージェントは必要な場合にのみ展開され、ワークロードが増加すると、より多くのエージェントがすぐに利用可能になります
合成プライベートエージェント
  • 外部からアクセスできない内部サイトとサービスのモニタリング
  • エージェントの設定と環境の完全な制御

インストールと設定手順の概要

次の表に、各タイプの合成エージェントのインストールと設定の手順の概要を示します。

合成エージェントタイプ必要な手順
合成ホステッドエージェント
  1. ライセンス「ブラウザ合成ユーザモニタリング - ホステッドエージェント - オンプレミス」を取得します。
  2. ライセンスに HMAC キーがあることを確認します
  3. 合成サーバの SSL を設定します(推奨)。
  4. オンプレミス合成サーバSaaS EUM API サーバと SaaS 合成サーバに接続します。
合成プライベートエージェント
  1. 次のいずれかのライセンスを取得します。
    • ブラウザ合成モニタリング - プライベートエージェント - ロケーション単位(オンプレミス)
    • ブラウザ合成モニタリング - プライベートエージェント - ロケーション無制限(オンプレミス)
  2. 合成プライベートエージェントをインストールします
  3. 合成プライベートエージェントをオンプレミス合成サーバーに接続します。
  4. 合成サーバの SSL を設定します(推奨)。
  5. 合成プライベートエージェントを起動して維持します。

合成サーバーと合成エージェントの概要

以下の表に、各サービスや合成エージェントで使用される機能とポートの概要を示します。

サービス/エージェント
機能
プロトコルデフォルトポート
合成スケジューラ
  • 設定された頻度に基づいてジョブを実行するリクエストを送信します。
  • 測定結果を含むビーコンを検証します。
  • ジョブのCRUDオペレーションを処理します。
HTTP12101
HTTPS12102
合成シェパード
  • 合成エージェントを登録します。
  • すべての測定リクエストのキューを作成して維持します。
  • エージェントから届いた結果を処理、保存、転送する方法を管理します。
  • 付属のスクリーンショットを保存し、測定値とともに各スクリーンショットのサムネイルを生成します。
HTTP10101
HTTPS10102
合成フィーダサーバ(合成ホストテッドエージェント)
  • SaaS に導入されました。
  • スクリーンショットおよび測定結果を合成フィーダクライアントにプッシュします。
WebSocket(暗号化)

16001


合成フィーダクライアント(合成ホストテッドエージェント)
  • オンプレミスで展開されます。
  • WebSocket と SaaS 合成サーバとの接続を確立します。
  • SaaS 合成サーバから受信したスクリーンショットと測定結果を合成シェパードに送信します。
WebSocket(暗号化)

16101

 



合成エージェント
  • 合成シェパードからジョブを取り出します。
  • WebDriverとSeleniumを使用して、ブラウザでこれらのジョブを実行します。
  • 合成シェパードに登録します。
  • 合成シェパードにスクリーンショットをアップロードします。
  • 合成シェパードとの通信を処理します。
該当なし合成エージェントはポートをリスンしません。内部のランダムポートを一時的に開いて合成シェパードからジョブリクエストを取り出し、実行されたジョブの測定結果を合成シェパードに送信するだけです。

合成サービスデータ

合成サーバーは、ホストマシンのファイルシステムと、EUMサーバーのMySQLデータベースにデータを保存します。以下の表に、データのタイプと保存場所を示します。

データストレージフォーマットデータデータストレージの場所
MySQL
  • エージェント全体に関する情報。
  • 測定要求キュー。
  • インフライトおよびアーカイブされた測定。
  • スケジュール:スケジュールは、合成スケジューラが合成シェパードに測定要求を送信するための設定です。これらの要求は、処理に十分な合成エージェントが使用可能になるまでキューに追加されます。その時点でキューが解除されて測定されます。
EUMサーバーのMySQLデータベース
ファイルシステム
  • リソーススナップショット
  • スクリプトの出力
  • 測定結果
  • スクリーンショット
合成サーバのホストマシン


合成サーバーデプロイアーキテクチャ

ここでは、さまざまなオンプレミスの合成サーバ展開の図について説明します。図は、展開のコンポーネント間の接続とデータフローを示しています。その他の AppDynamics プラットフォーム コンポーネントの詳細については、プラットフォーム コンポーネントおよびプラットフォーム接続を参照してください。

合成プライベートエージェントの展開

次の図は、オンプレミス合成サーバ、EUM サーバ、合成プライベートエージェント間の接続とデータフローを示します。

合成サーバの接続

以下の表に、合成サーバーとその他のコンポーネント間のトラフィックフローを示し、説明します。

接続
送信元
送信先
プロトコル
デフォルトポート

ユーザが合成ジョブを作成すると、 コントローラは頻度が設定されたジョブの要求を オンプレミス合成サーバに送信します。その後、合成ジョブはキューに配置されます。

オンプレミス合成サーバ

HTTP(S)
  • 12101/12102
  • 10101/10102
合成プライベートエージェントが合成サーバからジョブリクエストを取り出し、Selenium を使用してブラウザで実行します。

オンプレミス合成サーバ

HTTP(S)10101/10102

その後、合成プライベートエージェントが合成サーバに測定結果を送信します。

オンプレミス合成サーバ

HTTP(S)10101/10102

オンプレミス合成サーバは一部のデータをファイルに保存し、データを処理してビーコンに変換します。これは、 EUM API を介して EUM サーバに転送されます。また、合成サーバは EUM サーバの MySQL データベースにデータを書き込みます。

オンプレミス EUM サーバ

HTTP(S)

7001/7002

JDBC3388
コントローラは EUM サーバに測定結果についてポーリングし、合成セッションに表示します。

オンプレミス EUM サーバ

HTTP(S)7001/7002

合成ホステッドエージェントの展開

次の図に、オンプレミス合成サーバ、SaaS EUM サーバ、SaaS 合成サーバ、合成ホステッドエージェント、およびオンプレミス EUM サーバ間の接続とデータフローを示します。

合成サーバーの接続

以下の表に、合成サーバーとその他のコンポーネント間のトラフィックフローを示し、説明します。

接続
送信元
送信先
プロトコル
デフォルトポート

ユーザが合成ジョブを作成すると、 コントローラは頻度が設定されたジョブの要求を オンプレミス合成サーバに送信します。その後、ジョブ要求はキューに配置されます。

オンプレミス合成サーバ

HTTP(S)12101/12102

オンプレミス合成サーバは、ジョブ要求を SaaS EUM サーバに送信します。

SaaS EUMサーバ
HTTP(S)7001/7002

SaaS EUM サーバは要求を SaaS 合成サーバに転送します。

SaaS合成サーバ
HTTP(S)10001/10002

合成ホステッドエージェントは SaaS 合成サーバからジョブ要求を取得し、Selenium を使用してブラウザで実行します。

SaaS合成サーバ
WebSocket(暗号化)16001

合成ホステッドエージェントは測定結果を SaaS 合成サーバに送信します。

SaaS合成サーバ
HTTP(S)

10001/10002

SaaS 合成サーバフィーダは、測定結果を オンプレミス合成クライアントフィーダに送信します。

オンプレミス合成サーバ
WebSocket(暗号化)16101

オンプレミス合成サーバは一部のデータをファイルに保存し、データを処理してビーコンに変換します。これは、EUM API を介して オンプレミス EUM サーバに転送されます。また、オンプレミス合成サーバは EUM サーバの MySQL データベースにデータを書き込みます。

オンプレミス EUM サーバ

HTTP(S)7001/7002
JDBC3388

コントローラは オンプレミス EUM サーバに測定結果についてポーリングし、合成セッションに表示します。

オンプレミス EUM サーバ

HTTP(S)7001/7002