Upptime の通知を Echobell に連携する
カスタム Webhook で Upptime のダウン通知を Echobell へ送り、即時のプッシュや電話アラートを受け取ります。
Upptime の通知を Echobell に連携する
Upptime のダウン・復旧イベントをそのまま Echobell に転送し、追加の仕組みなしで時間依存のプッシュや電話通知を届けられます。ここでは Echobell 側の設定に絞り、Upptime 特有のオプションは 公式通知ドキュメント を参照してください。
Upptime × Echobell を使う理由
- 重大障害は電話アラート、通常チェックは標準/時間依存プッシュに出し分け
- サイト名・ステータス・レスポンスコード・GitHub Issue へのリンクをテンプレートと変数で表示
- 追加インフラ不要、Echobell のチャンネルごとに安全な Webhook URL を用意するだけ
前提条件
- GitHub Actions を有効にした Upptime リポジトリ
- リポジトリ Secrets を追加できる権限
- Webhook URL を持つ Echobell チャンネル(アプリでチャンネルを開き Webhook をコピー)
ステップ 1:Echobell チャンネルを用意
- Echobell でチャンネルを作成または開き、通知スタイル(標準 / 時間依存 / 通話)を選択。
- チャンネルの Webhook をコピーします:
https://hook.echobell.one/t/<channel-token>。 - (任意)
{{site}}、{{status}}、{{code}}、{{url}}、{{issue}}を使ったテンプレートを設定し、通知を構造化します。
ステップ 2:Upptime に Echobell 用 Secrets を追加
Upptime リポジトリで Settings → Secrets and variables → Actions を開き、以下を追加します。
NOTIFICATION_CUSTOM_WEBHOOK=trueNOTIFICATION_CUSTOM_WEBHOOK_URL=https://hook.echobell.one/t/<channel-token>?site=$SITE_NAME&status=$STATUS&url=$SITE_URL&issue=$ISSUE_URL&code=$RESPONSE_CODE&emoji=$EMOJI- (任意)
NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL - (任意)
NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL
ポイント:
- クエリパラメーターで構造化データを Echobell に渡します。Upptime が変数を埋め、Echobell 側では
site、status、url、issue、code、emojiとして扱えます。 - テキストを変える場合は URL エンコードを維持してください(空白は
%20など)。 - そのほかの通知プロバイダや戦略は Upptime 側で管理し、Echobell に必要なものだけを Secrets に追加します。
ステップ 3:Echobell で変数をマッピング
読みやすいよう簡潔なテンプレートにします。
Title: {{emoji}} Upptime: {{site}} is {{status}}
Body: Response {{code}} · {{url}}
External link: {{issue}}重要なサイトはチャンネル通知タイプを「時間依存」や「通話」に切り替え、その他は標準プッシュのままにできます。
ステップ 4:連携をテスト
- 監視 URL を一時的に存在しないエンドポイントへ向けるか、サービスを停止して障害を発生させます。
- Echobell にテンプレートのフィールドが入った通知が届くか確認します。
- サービスを復旧させ、回復メッセージも届くか確かめます。
トラブルシュート
NOTIFICATION_CUSTOM_WEBHOOKとNOTIFICATION_CUSTOM_WEBHOOK_URLの綴りを再確認してください。- Echobell のチャンネルトークンを変更した場合は Secret を更新します。
- Upptime 側の失敗や追加プロバイダについては、公式ドキュメント と GitHub Actions のログを参照してください。