この記事は、Mackerel アドベントカレンダー(全部CRE)の10日目の記事です。 今回は、Mackerelでアラートを通知する方法についてまとめます。
通知に関わる設定には、2つあります。 一つめは、誰に何で通知するかという「通知チャンネル」。もう一つは、どのサービスに関するアラートをどの通知チャンネルに通知するかという組み合わせを設定する「通知グループ」です。
通知チャンネル
通知チャンネルでは、以下のようなものが選べます。
よく使うチャンネルをいくつか紹介してみます。
- メール通知
- Mackerelに登録のあるユーザのメールアドレスや、任意のメールアドレスを設定できます。
- たとえば、エンジニアチームのメールアドレスと、ビジネスチームのメールアドレスにそれぞれアラート通知を出し分けたい、というような場合は、メール通知の通知チャンネルを複数作ります。
- Slack
- Twilio
- Twilioで取得した電話番号に通知することができます。メッセージは標準では固定です。
- ヘルプはこちら。
- Webhook
- Webhookを利用して他のアプリケーションを実行することができます。
- ヘルプはこちら。
通知グループ
通知グループには、デフォルトで、Default という通知グループがあり、すべてのサービスに関するアラートが、登録されているメールアドレスに通知される設定が入っています。
実際のケースではどう使う?
サービスごとに通知先をわけたい
- 通知先ごとに通知チャンネルを作ります。
- サービスごとに通知グループを作り、それぞれ通知したい先の通知チャンネルを設定します。
- デフォルトの通知グループから該当の通知チャンネルをオフにする。
外形監視などクリティカルな監視ルールに関してだけ、ビジネスチームにも通知したい
- ビジネスチーム用の通知チャンネルを作ります。
- 通知グループでは、「通知対象」を選ぶ箇所で外形監視を選び、ビジネスチーム用の通知チェンネルを追加する。
- デフォルトの通知グループから該当の通知チャンネルをオフにする。
通知を飛ばないようにしたい
通知は基本的には、飛んできたら人が対応しなければなりません。 障害やメンテナンスにあたって、一時的に通知を止めておきたいというときや、特定の監視について、状況を把握するためアラート一覧への起票はしておきたいけれども、通知までは不要というものがあったときに、どのような方法があるかをまとめてみます。
通知全体を止める
通知全体を止めるには、監視ルール一覧画面の上部で、時間を指定して設定することができます。
特定の監視ルールの通知を止める
サービス影響はないバッチサーバーのリソース監視などアラート一覧では確認したいが、通知まではしなくてよいというような、通知全体ではなく、特定の監視ルールに関してのみ通知を止めたい場合は、監視ルール一覧画面の各ルールの左横のミュートボタンで設定できます。
または、監視ルール詳細画面にて時間を指定して通知を停止することができます。
特定のホストの通知を止めたい
ホストの詳細画面や、ホスト一覧画面などで、ホストのステータスを「Standby」にすることで通知を停止できます。
ちなみに、「Maintenance」や「Power Off」にすると、アラート一覧への起票自体も停止できます。(つまりメトリックは取得するけれども、監視ルールの適用外とする、ということです。)
その他
ホストステータスの変更などのイベント通知を設定する
SlackやWebhookなど一部通知チャンネルで、ホストステータスや監視ルールの変更などのイベントを通知対象として選択できます。
この機能も意外と気づいていない人もいるかもしれません。
通知まわりはなかなか奥が深いです。 やっと基本の概念まわりについてまとめられたので、次は、Mackerelにはじめてログインしたトライアルプランの人にぜひ試して見てほしいこと一覧をまとめてみようと思います。