通知チャンネルと通知グループ

この記事は、Mackerel アドベントカレンダー(全部CRE)の10日目の記事です。 今回は、Mackerelでアラートを通知する方法についてまとめます。

通知に関わる設定には、2つあります。 一つめは、誰に何で通知するかという「通知チャンネル」。もう一つは、どのサービスに関するアラートをどの通知チャンネルに通知するかという組み合わせを設定する「通知グループ」です。

通知チャンネル

通知チャンネルでは、以下のようなものが選べます。

f:id:missasan:20181201150337p:plain

よく使うチャンネルをいくつか紹介してみます。

  • メール通知
    • Mackerelに登録のあるユーザのメールアドレスや、任意のメールアドレスを設定できます。
    • たとえば、エンジニアチームのメールアドレスと、ビジネスチームのメールアドレスにそれぞれアラート通知を出し分けたい、というような場合は、メール通知の通知チャンネルを複数作ります。
  • Slack
    • Slack APIの1つであるIncoming Webhooksを利用します。
    • 通知したいSlackチャンネルのURLを取得して設定します。
    • ヘルプはこちら
  • Twilio
    • Twilioで取得した電話番号に通知することができます。メッセージは標準では固定です。
    • ヘルプはこちら
  • Webhook
    • Webhookを利用して他のアプリケーションを実行することができます。
    • ヘルプはこちら

通知グループ

通知グループには、デフォルトで、Default という通知グループがあり、すべてのサービスに関するアラートが、登録されているメールアドレスに通知される設定が入っています。

f:id:missasan:20181201154018p:plain

実際のケースではどう使う?

サービスごとに通知先をわけたい

  • 通知先ごとに通知チャンネルを作ります。
  • サービスごとに通知グループを作り、それぞれ通知したい先の通知チャンネルを設定します。
  • デフォルトの通知グループから該当の通知チャンネルをオフにする。

f:id:missasan:20181201160544p:plain

外形監視などクリティカルな監視ルールに関してだけ、ビジネスチームにも通知したい

  • ビジネスチーム用の通知チャンネルを作ります。
  • 通知グループでは、「通知対象」を選ぶ箇所で外形監視を選び、ビジネスチーム用の通知チェンネルを追加する。
  • デフォルトの通知グループから該当の通知チャンネルをオフにする。

f:id:missasan:20181201160556p:plain

通知を飛ばないようにしたい

通知は基本的には、飛んできたら人が対応しなければなりません。 障害やメンテナンスにあたって、一時的に通知を止めておきたいというときや、特定の監視について、状況を把握するためアラート一覧への起票はしておきたいけれども、通知までは不要というものがあったときに、どのような方法があるかをまとめてみます。

通知全体を止める

通知全体を止めるには、監視ルール一覧画面の上部で、時間を指定して設定することができます。

f:id:missasan:20181201161130p:plain

特定の監視ルールの通知を止める

サービス影響はないバッチサーバーのリソース監視などアラート一覧では確認したいが、通知まではしなくてよいというような、通知全体ではなく、特定の監視ルールに関してのみ通知を止めたい場合は、監視ルール一覧画面の各ルールの左横のミュートボタンで設定できます。

f:id:missasan:20181201161421p:plain

または、監視ルール詳細画面にて時間を指定して通知を停止することができます。

f:id:missasan:20181201163237p:plain

特定のホストの通知を止めたい

ホストの詳細画面や、ホスト一覧画面などで、ホストのステータスを「Standby」にすることで通知を停止できます。

f:id:missasan:20181201163555p:plain

f:id:missasan:20181201163654p:plain

ちなみに、「Maintenance」や「Power Off」にすると、アラート一覧への起票自体も停止できます。(つまりメトリックは取得するけれども、監視ルールの適用外とする、ということです。)

その他

ホストステータスの変更などのイベント通知を設定する

SlackやWebhookなど一部通知チャンネルで、ホストステータスや監視ルールの変更などのイベントを通知対象として選択できます。

mackerel.io

f:id:missasan:20181209131142p:plain

この機能も意外と気づいていない人もいるかもしれません。

通知まわりはなかなか奥が深いです。 やっと基本の概念まわりについてまとめられたので、次は、Mackerelにはじめてログインしたトライアルプランの人にぜひ試して見てほしいこと一覧をまとめてみようと思います。