前回、uptime kumaを使って自宅サーバーなどサービスの死活監視をできるようにしました。ただ、せっかく監視していても、サーバーダウンなどの障害に気づくことができなければあんまり意味がありません、
そこで今回は、uptime kumaからDiscordへ通知を飛ばせるようにしてみました。
サービスが落ちた時や復旧したときに通知が来るようにします
UptimeKumaとは
Uptime Kumaは、自分のサービスの死活管理ができるOSSです。VPSや自宅サーバーに構築し、WebサイトやAPIなどが正常に動いているかを監視できます。
構築方法をしたの記事にまとめましたので、まだ設定してない方はご覧ください。
DiscordでWebhookを作成する
まずはDiscordでwebhookを用意します。
Webhookとは、特定のイベントが発生したときに、あらかじめ登録しておいたURLへ自動で通知やデータを送る仕組みです。投稿されたときや決済されたとき、エラーが起きたときなどに使われます。通常のAPIは自分から情報を取りに行きますが、
Webhookはイベント発生時に相手側からHTTPリクエストとして情報が送られてくるため、サービス同士を自動でつなぐために使われます。
通知専用のサーバーを作成します。サーバーといっても課金されるわけではないので、とりあえず作成しましょう。LINEでいうと、超高性能グループってところでしょうか。
通知するためのテキストチャンネルを作成しましょう
webhookは設定マーク→連携サービス→webhookを作成→webhookURLをコピーの順番でコピーできます。



コピーしたものを次の段落で利用します
UptimeKumaへwebhookを設定
まず管理者としてログインしていることを前提とし、トップバー右側のアカウント→設定で設定画面を開きます 。

設定画面で通知→通知設定を押します

① 通知タイプ
Discordを選択します。
② モニター表示名
この通知設定の名前を入力します。
③ Discord Webhook URL
Discordで作成したWebhook URLを貼り付けます。
④ BOTの表示名
Discordに表示されるBot名を入力します。
⑤ メッセージ冒頭の文章
通知文の先頭に入れる文章を設定します。@everyoneを入れると全員通知できます。
⑥ デフォルトで有効にする
オンにすると、新しく作成する監視先にこの通知設定を自動で適用できます。

テストをしてみましょう。アイコンまで設定されるみたいです。


通知設定をする前に作成したサーバーには適用されませんので、もし作成したものがあれば通知が鳴るように設定しましょう。


サーバーダウン時の様子
試しにサーバーを落としてみました。監視間隔にもよるのですが状態変化を検知したらすぐにスマホにに通知が来ます。
サーバー管理者はいち早くサーバーダウンに気づき、受け身をとることができるのが良いですね。

まとめ
この記事では、UptimeKumaで状態変化が起こった際に通知を送る方法をご紹介しました。UptimeKuma無料なのに多機能で優秀ですよね!まだまだ機能があるので、今後も紹介していきたいと思います!
