コンテンツへスキップ

通知やアラートの方法

障害は適切な人が知ることで初めて価値があります。チームが既にいる場所や独自のシステムにwebhooksを通じて通知を送信します。

チャンネル

すべてのチャンネルに同じメッセージが送信されます:どのモニターか、いつからか、そしてその理由。以下に利用可能なチャンネルのリストがあります。

  • Email すべてのプラン

    任意のアドレスにメッセージを送信します。メールアドレスは一度確認する必要があります。

  • Webhook (POST) すべてのプラン

    指定されたURLに関連データを含むJSONボディを送信します。自動化のために、チケットを開く、人を呼び出す、ステータスライトを切り替えるなどが可能です。

  • Webhook (GET) すべてのプラン

    POST webhookと同じフィールドを使用しますが、GETリクエストを受け取るレシーバー向けにクエリパラメータとして送信します。

  • PagerDuty スタータープラン以上

    Events API v2を通じてインシデントを送信します。障害発生時に開き、復旧時に解決されます。その後はPagerDutyのエスカレーションが処理します。

  • Slack プロプランおよびビジネスプラン

    チャンネルにメッセージを送信します。ダウン時は赤、復旧時は緑で、Webhookを通じて通知されます。

  • Microsoft Teams プロプランおよびビジネスプラン

    同じメッセージをTeamsチャンネルにWebhookを通じて送信します。

  • Discord プロプランおよびビジネスプラン

    同じメッセージをDiscordチャンネルにチャンネルWebhookを通じて送信します。

  • Telegram プロプランおよびビジネスプラン

    同じメッセージをチャットに、あなた自身のボットを通じて送信します。

誰が何をいつ知るか

最初に確認済み

1つのプローブの判断だけでは何も送信されません。3つの大陸のプローブが一致した場合に障害と判断されるため、アラートはネットワークの問題ではなくサイトがダウンしていることを意味します。

ルールとエスカレーション

ルールは、誰がどのモニターについていつ通知を受けるかを定義します。オンコールリストを連絡先グループに追加し、メンバーごとに遅延を設定します。これがエスカレーションポリシーとして機能します。

復旧時に1回通知

障害について通知を受けた全員に、終了時とその継続時間が通知されます。障害が終了したことを伝えるために起こすことはありません。

必要になる前にテスト

すべてのアドレスにはボタンがあり、実際のアラートと同じ経路でテストを送信します。本物の障害と間違えられないように文言が設定されています。

Webhook:あなたのシステム用

Webhookアドレスはお客様のURLです。障害が確認されたとき、復旧したとき、またはテストボタンを押したときに呼び出します。POSTはフィールドをJSONボディとして送信し、GETはクエリパラメータとして送信します。このURLは暗号化されて保存され、再度完全には表示されません。URLを持つ人はそれにPOSTできるためです。

フィールド 内容
reason 障害が確認されたときはdown、終了時はrecovery、ボタンが押されたときはtest
monitor モニターの名前
monitor_id そのid
target チェック対象:URL、ホストまたは名前
type チェックの種類(https、dns、ssl_certなどの短い名前)
cause 失敗理由(判明している場合は簡潔に)
error_class プログラムが分岐できる短い名前(timeout、connection、certificate_expiredなど)
started 障害が開始した時刻
confirmed_at 障害が確認された時刻
confirmed_from 確認した大陸の名前をリストとして表示します。
degraded モニターがダウンではなく遅延またはパケットロスしている場合はtrue
resolved 復旧時の終了時刻(ISO 8601タイムスタンプ)
duration 復旧時の継続時間(言葉で表記)
incident_id インシデントのID(障害と復旧で同じ)

値がないフィールドはJSONではnullとなり、GETでは省略されます。400未満のステータスで応答する必要があります。それ以外は配信失敗とみなされ、30秒、2分、10分後に再試行されますが、15分以内に配信されないアラートは履歴となり、ニュースではありません。

無料アカウントを作成