業務でよくDatadogで監視実装や静観設定を行っております。

静観設定(以降ダウンタイム)をする際、
何日ごとなどわかりやすい周期に対する設定は公式マニュアルなどを拝見すると円滑に実施できますが、
「カレンダー表現で指定された内容でダウンタイムを実装して欲しい」という要望を叶える実施内容がなかったため、本件の投稿に至りました。

概要

  • カレンダーを利用した〇〇月の第〇〇週の⚪︎曜日のように規則性があるスケジュールダウンタイムの設定
  • 今回は奇数月の第3木曜日の23:20-23:50で実施

実際に設定してみた

datadogのモニターに対するダウンタイムはMonitors>Managed DowntimesよりSchedule Downtimeから選択

1.Choose what to silenceにて、By monitor TagsタグよりMonitor tagsとGroup scopeへ対象のモニター範囲を指定

2.Scheduleにて、Recuring(繰り返し設定)タグより、繰り返し開始日時を指定しUse EditorからiCalendarの書式を表現し設定

3.Add a messageで設定した際のメッセージを入れる対応や4.Notify your teamで通知先のチーム設定を行いますが、今回はデフォルト(何もなし)で Save

設定時のポイント

iCalendarの書式により以下の内容がカレンダー形式のような指定をする際に活用される具体的な設定となります。

RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=3TH;BYMONTH=1,3,5,7,9,11

書式の解説

  • RRULE:FREQ=MONTHLY;:月毎の設定
  • INTERVAL=2;:2ヶ月単位
  • BYDAY=3TH;:第3週木曜日
  • BYMONTH=1,3,5,7,9,11:月の指定

iCalendarの書式を変更すれば偶数月の第1週目月曜日などのような設定も可能になります。

以下は書式に合わせて設定内容になります。

RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=1TH;BYMONTH=2,4,6,8,10,12

参考情報

iCalendar (RFC 5545) – 3.8.5.3. Recurrence Rule

あとがき

今回の内容はTips的な内容になります。

Datadogでカレンダー指定のスケジュールダウンタイムを設定したい場合は上記の方法で実現が可能です。

お役立ち情報として発信をさせていただきました。