コンテンツにスキップ

Slack 通知

Slack の Incoming Webhook を使って、モニターのインシデント通知を Slack チャンネルに送信できます。

事前準備: Slack Incoming Webhook の作成

Section titled “事前準備: Slack Incoming Webhook の作成”
  1. Slack App を作成する

    Slack API: Applications にアクセスし、「Create New App」から「From scratch」を選択します。App Name と通知を送りたいワークスペースを指定します。

  2. Incoming Webhooks を有効にする

    作成した App の設定ページで「Incoming Webhooks」を開き、トグルを ON にします。

  3. Webhook URL を発行する

    「Add New Webhook to Workspace」をクリックし、通知を送信したいチャンネルを選択して「許可する」をクリックします。

  4. Webhook URL をコピーする

    https://hooks.slack.com/services/T.../B.../xxx の形式の URL が表示されるのでコピーします。

  1. ダッシュボードで「設定」>「連携」を開き、Slack の「設定」を選択
  2. 名前に識別しやすい名前を入力
  3. Slack Webhook URL にコピーした Incoming Webhook URL を貼り付け
  4. 「追加」を選択

Slack はテキスト形式のメッセージとして送信されます。絵文字は Slack のエイリアス形式(:red_circle: 等)で送信され、Slack 上でレンダリングされます。

:red_circle: *{モニター名}* is DOWN
Incident: {インシデントID}
URL: {監視対象URL}
:large_green_circle: *{モニター名}* is back UP
Incident: {インシデントID}

メンテナンス開始・終了時には、対象モニターの一覧と、開始通知では終了予定時刻も送信されます。

  • 設定時に URL エラーになる: Manako が受け付けるのは HTTPS の https://hooks.slack.com/ で始まる URL だけです。GovSlack など別ホストの Webhook URL には対応していません。
  • 送信先が違う、または届かない: Incoming Webhook は発行時に選んだ会話に紐付きます。Slack 側で App のアクセスや Webhook が無効化されていないか確認してください。
  • テストは届くが通常通知が届かない: モニターに通知先の関連付けがある場合、関連付けられた有効なチャンネルだけが使われます。関連付けがすべて無効でもチーム全体のチャンネルへはフォールバックしません。
  • 短時間の通知が途中から届かない: 同じモニターで 10 分以内に 3 回を超える状態変化があると、フラップ抑制により後続通知が抑制されます。
  • 重複して見える: 発生と復旧は別イベントです。同じインシデント・チャンネル・イベント種別で送信済みなら再試行はスキップされ、失敗または処理中の送信だけが再試行されます。

設定一覧の「Test」は実際に Slack へテストメッセージを送信し、成功後は 60 秒のクールダウンがあります。1つのチャンネルの失敗は他チャンネルの送信を止めません。

フラップ抑制とインシデント単位の送信済み判定はインシデント通知に適用されます。メンテナンス通知はこれらを使わず、有効かつ確認済みのチームチャンネルへ送信されます。