SyntheticはサイトやAPIに問題がないか定期的にチェックすることができます。また、実行頻度として、1分〜1日までの中から頻度を選んで実行していただくことができます。24時間365日動作しているようなサイトやAPIの場合は、これらから適切なものを選択していただくことで、チェックしていただけるかと思います。ただし、すべてのお客様が常にチェックしたいわけではございません。例えば、毎日朝の9時台だけチェックしたい場合や、毎週金曜日のみSyntheticチェックを行いたいという場合への対応方法を本ブログでは記載します。

Synthetics関連の機能として、Monitor downtimeという機能があります。こちらは、定期的なメンテナンスなどSyntheticのチェックを止めたいときに利用される機能です。今回はこちらの機能を使って、上記ユースケースに対応します。

毎日9時台のみチェックしたい

この場合、まず、対象のSyntheticテストのPeriodを1時間未満の任意の時間で設定します。なお、1時間でも問題ないかと思いますが、Syntheticのテスト実行タイミングは多少ゆらぎがあるので1時間ちょうどだと、たまたまスキップされる可能性がゼロではないと思われるので、未満としています。続いて、テストを実行したくない期間をMonitor downtimeに設定します。Syntheticの画面のメニューからMonitor downtimeを選択していただき、右上の「Create monitor downtime」を選択します。

そして以下のように設定します。

設定名 設定値
設定名name 設定値任意の名前
設定名will happen 設定値daily
設定名all day 設定値チェックしない
設定名time zone 設定値任意
設定名from 設定値10:00 am
設定名to 設定値9:00 am
設定名starting 設定値任意の日付
設定名ending 設定値任意の設定
設定名対象モニター 設定値対象のSyntheticテストにチェックを入れる

ポイントとしては、will happenでdailyを選択肢、9時台だけ実行なので、from/toに10時及び9時を設定し、朝の10時〜翌日の9時までをdowntimeとして設定しています。

毎週金曜日の9時台のみチェックしたい

この場合は、1つの設定では実現できず、2つの設定を使います。まず1つ目は先の設定と同じとなります。これで、9時台以外は実行が停止されます。そのため、金曜日以外の曜日で停止する設定を追加します。

設定名 設定値
設定名name 設定値任意の名前
設定名will happen 設定値weekly
設定名all day 設定値チェックする
設定名time zone 設定値任意
設定名on these days 設定値金曜日以外にチェックを入れる
設定名starting 設定値任意の日付
設定名ending 設定値任意の設定
設定名対象モニター 設定値対象のSyntheticテストにチェックを入れる

追加された設定のポイントとしては、will happenをweeklyに設定するところと、on these daysに実行を停止したい曜日にチェックを入れるところになります。

また、will happenで、montlyを選択した場合、第2日曜日という設定ができたり、毎月5日や、毎月最終日という設定もできますので、ニーズに合わせて単独あるいは組み合わせて設定してみてください。

注意点

Monitor downtimeは、Syntheticの実行を停止する期間を定義するものになります。例えばSyntheticのPeriodを1 dayに設定されていた場合、downtimeの時間を考慮した上で、1日に1回実行されると言うものではございません。Syntheticのテストが予定された時間がdowntime中の場合、実行がスキップされる。ということを理解しておいてください。

そのため、downtimeの時間外の時間が短い場合、Syntheticの実行周期(Period)の時間は最低でもdowntimeが無効な時間の半分以下の時間が必要になるかと思われます。なお、特に理由がなければ最低限ではなく、もっと余裕を持った頻度にしておいたほうが安定的に運用していただけるかと思います。