APIがダウンした時に電話アラートを受け取る
APIが深夜3時にダウンすること自体は問題ではありません。問題は、ユーザーがすでにサポート受信箱を埋め尽くしている午前9時になって初めて気づくことです。
ほとんどの監視ツールは障害の検出に優れています。しかし、適切なタイミングで誰かに確実にアラートを届けることは苦手です。標準的なプッシュ通知は、誰かがたまたまスマホを手にするまでロック画面に留まります。Slackメッセージは、夜間に誰も見ていないチャンネルに埋もれます。メールは月曜日の朝まで読まれません。
電話アラートはこの方程式を変えます。APIヘルスチェックが失敗すると、スマホが実際に鳴ります——他の緊急の電話と同じように。応答して、何が悪いのかを聞き、数時間後ではなく即座に修正を開始できます。
重要なサービスでプッシュ通知が失敗する理由
一般的なスマートフォンは1日に50〜100件のプッシュ通知を受け取ります。API障害アラートは、アプリの更新、ソーシャルメディアの通知、ニュースアラート、そしてデバイス上の他のすべてのアプリと競合しています。すべてが緊急だと、何も緊急に感じなくなります。
これにより危険なパターンが生まれます:
- 監視ツールがAPIが500エラーを返していることを検出
- スマホにプッシュ通知を送信
- スマホは机の上に伏せてあり、Focus Modeが有効
- アラートは誰かが気づくまで静かにそこに置かれる——数時間後
重大でないマイクロサービスでは、この遅延は面倒です。決済API、認証サービス、またはメイン製品のバックエンドでは、この遅延は実際の金銭と信頼を失うことになります。
EchobellでのPhone call alertsの仕組み
Echobellは3つの緊急度レベルで通知を配信します:
- 通常(アクティブ): 標準的なプッシュ通知
- 時間指定: iOS Focus Modeを突破しますが鳴動しません
- 通話: 通常の電話通話のようにスマホを鳴らします
ユーザーに影響するAPI障害には、通話レベルが適切です。他の緊急の電話と同じ扱い方です——鳴っているから応答します。
設定は簡単です:
- Echobellでチャンネルを作成
- 通知タイプを通話に設定
- WebhookでAPIを接続
- ヘルスチェックが失敗すると、Echobellが電話をかけます
監視ツールからの通話アラートの設定
ほとんどの監視プラットフォームは、チェックが失敗した時にWebhookを送信できます。接続方法は次のとおりです。
既存のヘルスチェックを使用する
すでにヘルスエンドポイント(/healthや/statusなど)を持っている場合は、一定間隔でチェックするようにモニターを設定します。レスポンスが200でない場合は、Webhookをトリガーします。
Echobellはタイトルとボディを含むWebhookペイロードを受け入れます:
curl -X POST https://hook.echobell.one/YOUR_CHANNEL_ID \
-H "Content-Type: application/json" \
-d '{
"title": "API停止: payment-service",
"body": "ヘルスチェック失敗 - 500エラー 03:42 UTC",
"notificationType": "calling",
"externalLink": "https://your-dashboard.example.com/incidents/123"
}'notificationType: callingフィールドがスマホを鳴らすトリガーです。
アラートに含める内容
アラート内容をスキャンしやすく保ちます。深夜3時の電話に出た時、瞬時に問題を理解する必要があります:
- サービス名 — どのAPIまたはマイクロサービスが停止したか
- エラーの種類 — タイムアウト、5xx、接続拒否
- タイムスタンプ — 障害が開始した時刻
- リンク — すぐに調査する場所
これは冗長なメッセージを書く場所ではありません。目標は、完全に目覚めるか、単に確認して再び眠るかを判断できる即時のコンテキストです。
適切な緊急度レベルを選択する
すべてのAPI障害が電話を必要とするわけではありません。通話アラートを使用する場面:
- 決済および請求サービス
- 認証およびログインエンドポイント
- ユーザーが直接操作する主要な製品API
- 他の重要なシステムが依存するサービス
時間指定通知を使用する場面:
- 重要だが収益に直接影響しない二次的なサービス
- 開発またはステージング環境
- 警告サイン(まだ完全な障害ではない高エラー率)
通常の通知を使用する場面:
- 重大でないバックグラウンドジョブ
- アクションを必要としない情報メトリクス
この段階的なアプローチにより、アラート疲労を起こすことなく適切に通知を受け取れます。
複数のサービスへのスケール
複数のAPIを運用している場合は、サービスまたはサービスグループごとに別々のチャンネルを作成します:
production-payment-api— 通話レベルproduction-user-api— 通話レベルproduction-analytics-api— 時間指定staging-all— 時間指定
これにより、サービスごとに緊急度を調整できます。決済APIは電話に値しますが、分析パイプラインはおそらくそうではありません。
本当のメリット
電話アラートの価値は、鳴動そのものではありません。それが生み出す行動の変化にあります:
- 問題をすぐに把握できるため、より速く修正できます
- 何かが壊れた時に本当に起こされるとわかっているので、安心して眠れます
- 数時間後ではなく数分で対応するため、ユーザーのダウンタイムが短くなります
重要なサービスにとって、その違いがすべてです。
関連
著者:
Nooc
公開日:
2026/03/13