合成ジョブは、サポートされている場所においてリモートブラウザでエンドユーザのアクションを模倣する、スケジュール設定された構成可能なテストです。合成ジョブは、URL 測定または合成スクリプトで構成されます。ジョブを作成するには、「ブラウザ合成モニタリングの概要」を参照してください。  

サポート

次の表では、合成ジョブのサポートされているバージョンとライブラリについて説明します。

サポートタイプ説明
ブラウザのバージョン
  • IE 11
  • Chrome 81.0.4044.0
  • Firefox 72
Pythonバージョン
  • Python 2
  • Python 3
Python Libraries

Windows ベースの Private Synthetic Agent 21.8 以降は、Firefox ブラウザの合成ジョブの設定をサポートしていません。

ロケーション

URL 測定および合成スクリプトジョブの場合、合成エージェントは Docker コンテナ内で常に分離して実行されます。この場所は、設定されているブラウザの場所にマッピングされます。ただし、合成スクリプトは、セキュリティ上の理由から、設定されたブラウザとは別のマシンまたは場所で実行されます。詳細については、「合成エージェントの場所」を参照してください。

成熟度レベル

合成ジョブを作成すると、作成タイムスタンプに基づいてキューに追加されます。スケジュール設定されたジョブには、合成ジョブのキューで実行される場合に影響を与える成熟度レベルが割り当てられます。次の表で、サポート対象の 2 つの成熟度レベルについて説明します。

成熟度レベル説明
Junior

Junior 成熟度レベルは、2 時間以内に作成または更新された合成ジョブで構成されます。ジョブの最終更新または作成から 2 時間が経過すると、Junior ジョブ成熟度レベルが Senior 成熟度レベルに昇格します。十分な容量が割り当てられている場合のみ、Junior から Senior への成熟度の昇格が実行されます。これにより、現在実行中のジョブに悪影響が及ぶことを回避できます。

シニアSenior 成熟度レベルは、2 時間以上前に作成または更新された合成ジョブで構成されます。Senior 成熟度レベルの合成ジョブには、実行するためのリソースが十分に割り当てられています。

実行順序

合成ジョブの実行順序はジョブの優先度と作成時間によって異なります。合成ジョブは、ジョブキューに存在する場合にのみ実行されます。ジョブの優先順位は、ジョブタイプ、ジョブ成熟度、ブラウザ合成モニタリングライセンスの各要因によって決まります。次の表に、ジョブの優先順位の計算方法を示します。実際のジョブの実行順序はジョブの優先順位と作成タイムスタンプによって異なります。 

合成ジョブは、ジョブキューに存在する場合にのみ実行されます。ただし、最大ジョブキューサイズに達した場合、キューサイズが減少するまで、合成ジョブはキューに追加されません。最大キューサイズは、優先順位、ライセンス、タイプ、および成熟度レベルによって定義されます。

キュージョブ タイプ(Job Type)ジョブの継続期間
優先順位が高いスケジュール済み(Scheduled)シニア
オンデマンド該当なし
優先順位が低いスケジュール済み(Scheduled)Junior

実行パターン

合成ジョブスケジューラは、次の cron ベースの式に従ってジョブを実行します。

<second> <minute> <hour> <day-of-month> <month> <day-of-week> <year>

ジョブをスケジュール設定する場合は、ジョブの実行頻度を選択します。小さな時間単位(分または時間)に均等に分割できる、大きな時間単位(時間または日数)を選択することをお勧めします。たとえば、ジョブが 15 分ごとに実行されるようにスケジュール設定されている場合、ジョブは 1 時間以内に 4 回実行されます。これにより、スケジュールを中断することなく、ジョブが 1 時間ごとに継続的に繰り返されるようになります。

ただし、50 分ごとに実行など、小さな時間単位に均等に分割できない大きな時間単位でジョブをスケジュール設定すると、ジョブは一定の時間で実行されません。たとえば、最初のジョブが 7:03 で始まる場合、ジョブは 7:53、8:03、8:53 のように実行され、その結果、スケジュールが中断されます。

実行エラー

次の表に、ジョブの実行エラーメッセージ、エラーの原因、および関連付けられたエラーコードを示します。 

エラーメッセージエラーの原因エラー コード(Error Code)
Skipped; still waiting for a previous job execution同じジョブからの以前の測定要求の前に、スケジュール設定されたジョブから高優先順位の測定要求をキューに追加しようとしました。ロケーションブラウザの組み合わせが処理されました。TARDY
Skipped while new capacity is being added同じジョブからの以前の測定要求の前に、スケジュール設定されたジョブから低優先順位の測定要求をキューに追加しようとしました。ロケーションブラウザの組み合わせが処理されました。TARDY_ONBOARDING
Skipped while new capacity is being added各キューの最大容量を超えて、Junior ジョブから測定要求をキューに追加しようとしました。ONBOARDING
Testing location is overloaded各キューの最大容量を超えて、Senior ジョブから測定を要求しようとしました。THROTTLED

正常性ルール違反イベント

ジョブが失敗したときにイベントをトリガーするなど、正常性ルール違反イベントを設定できます。正常性ルール違反イベントを設定するには、合成ジョブのアラートポリシーを作成します。

次の図は、ジョブの失敗の再テストプロセスとそのトリガーイベントを示しています。この例では、ジョブ A は午前 10 時に 5 分間隔で実行されるようにスケジュールされています。成功した場合、イベントまたはメッセージはトリガーされません。失敗すると、「Error started」がトリガーされ、ジョブが再テストされます。成功した場合、イベントまたはメッセージはトリガーされません。失敗すると、「Error started」がトリガーされ、ジョブが再テストされます。成功すると、「Problem ended」がトリガーされます。失敗すると、「Problem ended」がトリガーされ、ジョブが再テストされます。ジョブが失敗し続ける限り、ジョブは 5 分ごとに再テストされ、「Error continues」がトリガーされ続けます。


即時再テストでは、最初の失敗の直後にジョブが再実行されます。他のすべての再テスト設定では、設定されたジョブスケジュールに従ってジョブが実行されます。

  1. ジョブ A は午前 10 時に実行されます
    • ジョブ A が成功した場合、イベント/メッセージは生成されません
    • ジョブ A が失敗すると、「Error started」イベントが生成されます
  2. ジョブ A は午前 10 時 1 分にすぐに再テストされます(Previous execution:ジョブ A は午前 10 時に実行され、「Error started」イベントが生成されます)

    • ジョブ A が成功した場合、イベント/メッセージは生成されません

    • ジョブ A が失敗すると、「Error confirmed after retest」イベントが生成されます

  3. ジョブ A は午前 10 時 5 分に実行されます(Previous execution:ジョブ A は午前 10 時 1 分の再テスト時に失敗し、「Error confirmed after rest」イベントが生成されます)

    • ジョブ A が成功すると、「Problem ended」イベントが生成されます

    • ジョブ A が失敗すると、「Error continues」イベントが生成されます

  4. ジョブ A は次のスケジュールされた時刻に実行されます(Previous execution:ジョブが失敗し、「Error continues」イベントが生成されます)

    • ジョブ A が成功すると、「Problem ended」イベントが生成されます

    • ジョブ A が失敗すると、「Error continues」イベントが生成されます

  • 可用性エラーまたはパフォーマンスしきい値に基づく即時再テストが設定されている場合、「Error started」イベントが生成されます。
  • 再テスト中にエラーが確認されると、「Error confirmed」イベントがトリガーされます。 
  • 再テスト中にエラーが確認されない場合、イベントは生成されません。