本文へスキップ
← ガイド一覧

自分のサービスが停止したら通知を受け取る (Uptime Kuma)

Webサイトやゲームサーバーが停止したときにDiscordですぐに通知を受け取りたい場合は、Uptime Kumaが使えます。定期的に自分のサービスにアクセスしてみて、応答がなければ知らせてくれる無料のプログラムです。Dockerでインストールします。

1. インストール

Dockerがない場合は、Dockerのインストールと使い方を参考に先にインストールします。

docker run -d --name uptime-kuma --restart unless-stopped \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma:/app/data \
  louislam/uptime-kuma:1

127.0.0.1にだけ接続して、外部からは直接アクセスできないようにしています。管理画面は、次の2つの方法のどちらかで開きます。

2. 管理画面を開く

方法A. ドメインで開く (継続して使うなら推奨)

Webサイトを立ち上げるのとおりにNginxとHTTPSを設定し、proxy_passをhttp://127.0.0.1:3001に合わせます。Uptime Kumaはリアルタイム接続(WebSocket)を使うため、location /の中に次の行もあわせて入れます。

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }

方法B. SSHトンネルで一時的に開く

自分のPCのPowerShellで実行し、ブラウザーでhttp://localhost:3001にアクセスします。

ssh -N -L 3001:127.0.0.1:3001 username@server-ip

初めてアクセスすると、管理者アカウントを作成する画面が表示されます。すぐに作成してください。

3. 監視するサービスを追加

新しいモニターを追加をクリックし、種類を選びます。

監視対象モニターの種類入力
WebサイトHTTP(s)https://my-domain
マインクラフトなどのゲームサーバーTCP PortサーバーのIP、ポート25565
サーバーが起動しているかPingサーバーのIP

確認の間隔は、デフォルトの60秒で十分です。

4. Discordで通知を受け取る

  1. Discordのチャンネル設定 → 連携サービス → ウェブフック → 新しいウェブフック → ウェブフックURLをコピー
  2. Uptime Kumaの右上のプロフィール → 設定 → 通知 → 通知設定
  3. 通知タイプはDiscord、コピーしたウェブフックURLを貼り付けてテストで確認してから保存
  4. 各モニターの編集画面で、この通知をオンにします。

知っておくこと

  • Uptime Kumaが監視しているサービスと同じサーバーにあると、サーバー自体が停止したときは通知も送れません。サーバー自体の状態は、マイページでも確認できます。
  • 監視の記録はuptime-kumaボリュームに保存されます。アップデートは、docker pull louislam/uptime-kuma:1の後にコンテナを削除し、同じコマンドで再実行すれば完了です。(ボリュームを削除しない限り、記録は残ります)

解決しない問題がある場合は、Discordのチケットでお問い合わせください。