APIがダウンした時に電話アラートを受け取る

APIエラーの標準的なプッシュ通知はノイズの中に埋もれてしまいます。重要なサービスがダウンした時に本当に目を覚ます電話アラートを設定する方法を学びましょう。

APIがダウンした時に電話アラートを受け取る

APIが深夜3時にダウンすること自体は問題ではありません。問題は、ユーザーがすでにサポート受信箱を埋め尽くしている午前9時になって初めて気づくことです。

ほとんどの監視ツールは障害の検出に優れています。しかし、適切なタイミングで誰かに確実にアラートを届けることは苦手です。標準的なプッシュ通知は、誰かがたまたまスマホを手にするまでロック画面に留まります。Slackメッセージは、夜間に誰も見ていないチャンネルに埋もれます。メールは月曜日の朝まで読まれません。

電話アラートはこの方程式を変えます。APIヘルスチェックが失敗すると、スマホが実際に鳴ります——他の緊急の電話と同じように。応答して、何が悪いのかを聞き、数時間後ではなく即座に修正を開始できます。

重要なサービスでプッシュ通知が失敗する理由

一般的なスマートフォンは1日に50〜100件のプッシュ通知を受け取ります。API障害アラートは、アプリの更新、ソーシャルメディアの通知、ニュースアラート、そしてデバイス上の他のすべてのアプリと競合しています。すべてが緊急だと、何も緊急に感じなくなります。

これにより危険なパターンが生まれます:

  1. 監視ツールがAPIが500エラーを返していることを検出
  2. スマホにプッシュ通知を送信
  3. スマホは机の上に伏せてあり、Focus Modeが有効
  4. アラートは誰かが気づくまで静かにそこに置かれる——数時間後

重大でないマイクロサービスでは、この遅延は面倒です。決済API、認証サービス、またはメイン製品のバックエンドでは、この遅延は実際の金銭と信頼を失うことになります。

EchobellでのPhone call alertsの仕組み

Echobellは3つの緊急度レベルで通知を配信します:

  • 通常(アクティブ): 標準的なプッシュ通知
  • 時間指定: iOS Focus Modeを突破しますが鳴動しません
  • 通話: 通常の電話通話のようにスマホを鳴らします

ユーザーに影響するAPI障害には、通話レベルが適切です。他の緊急の電話と同じ扱い方です——鳴っているから応答します。

設定は簡単です:

  1. Echobellでチャンネルを作成
  2. 通知タイプを通話に設定
  3. WebhookでAPIを接続
  4. ヘルスチェックが失敗すると、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