先週 Mackerel で新機能「ダウンタイム機能」が使えるようになった.簡単に言うと「日時を指定して監視と通知を停止する機能」となり,サービスで計画メンテナンスが必要な場合など,運用上とても助かる機能と言える.今までは Mackerel ホストのステータスを Working
→ Maintenance
に切り替えて運用していたため,機能の差を確認するためにも「ダウンタイム機能」を試してみた.
基本設定 / ダウンタイム期間
Mackerel メニューから「Monitors → ダウンタイム設定 → 新規ダウンタイムを作成」に遷移すると,以下を設定できる.特に「繰り返し設定」は便利で「間隔」として「年 / 月 / 週(曜日指定可能)/ 日 / 時間」を細かく設定できる.さらに「ダウンタイム終了日時」も設定できる.
- 基本設定
- 名前
- メモ
- ダウンタイム期間
- ダウンタイム開始日時
- ダウンタイム期間
- 繰り返し設定
- 間隔
絞込
さらに「ダウンタイム設定」を適用する対象を絞り込むこともできる.「サービス / ロール」を指定すれば機能ごとにメンテナンスできるし,「監視ルール」を指定すればメトリクスごとに無視できる.さらに「除外条件」を指定することもできるため,柔軟なダウンタイム設定を実現できる.
- サービス / ロール
- 絞込条件
- 除外条件
- 監視ルール
- 絞込条件
- 除外条件
検証
実際に「ホスト死活監視 (connectivity)」と「ホストメトリック監視 (CPU %)」を発生させたけど,「ダウンタイム設定」の期間中にアラートは発生しなかった.「ダウンタイム設定」の役割を終えると,設定ごと消える挙動も確認できた(繰り返しの場合は残る).
フィードバック
以下は少し気になる.フィードバックとして残しておこうと思う.
- 過去に設定した「ダウンタイム設定」を確認するために履歴を残せると良さそう(コピー機能も)
mkr
から設定できると良さそう- 「ダウンタイム開始日時」のフォーム幅が狭くて「秒」が隠れている
今まで使っていた mkr update --status maintenance
1年半前に Mackerel Meetup に登壇したときに Mackerel ホストのステータスを mkr
で自動的に切り替える仕組みを紹介した.mkr update --status maintenance
は複数ホストもサポートしていて便利だけど,やはり「サービス / ロール」を指定できるのは「ダウンタイム機能」のメリットになりそう.適材適所かなと思う.
$ mkr update --status maintenance xxx updated xxx $ mkr update --status maintenance yyy zzz updated yyy updated zzz
Mackerel Meetup の参加レポートは以下にある.もう1年半も前なのかぁ...!
まとめ
- Mackerel の新機能「ダウンタイム機能」を試した
- ダウンタイム期間 / 繰り返し設定 / 絞込などを設定できる
- 計画メンテナンスなど活躍する場面も多そう
引き続き「Mackerel アンバサダー」頑張るぞー👍