Linux で Uptime Kuma を使用して稼働時間監視ツールをセットアップする方法

Linux で Uptime Kuma を使用して稼働時間監視ツールをセットアップする方法

Uptime Kuma は、シンプルかつ強力な稼働時間監視ツールです。これにより、ローカル ネットワーク上またはより広いインターネット上でホストしているすべてのサービスを追跡できます。

この記事では、Ubuntu と Docker を使用してローカル ネットワークに Uptime Kuma をインストールしてデプロイする方法を説明します。また、Uptime Kuma インスタンスをカスタマイズして Telegram にステータス通知を送信する方法も説明します。

Uptime Kuma を使用する理由

Uptime Kuma は、 Web サーバーを追跡して ping を実行できるだけでなく、Docker コンテナーの状態をチェックすることもできます。これにより、Uptime Kuma は、すべてのネットワーク サービスにとって理想的なオールインワン Web ポータルになります。

Uptime Kuma の最大の利点の 1 つは、デフォルトで堅牢な通知システムが付属していることです。つまり、稼働時間モニターが異常を検出したときに、さまざまなチャネルを通じて自動的にメッセージを送信するように設定できます。

動作中の Uptime Kuma インスタンスを示すスクリーンショット。

Uptime Kuma のインストール

Docker と Docker Compose の取得

まず、Docker および Docker Compose リポジトリの GPG 署名キーを取得します。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

「/etc/apt/sources.list.d/」の下にDocker用の新しいリポジトリファイルを作成します。

sudo nano /etc/apt/sources.list.d/docker.list

次のコード行を新しいリポジトリ ファイル内に貼り付けます。

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Ubuntu システムのパッケージ リポジトリを更新およびアップグレードします。

sudo apt update && sudo apt upgrade

Docker および Docker Compose パッケージをその依存関係とともにインストールします。

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

現在実行中のユーザーが Docker および Docker Compose を実行するための適切な権限を持っていることを確認します。

sudo usermod -aG docker ramces

Uptime Kuma の取得と構築

Uptime Kuma Docker コンテナ用の新しいディレクトリを作成します。これには、インスタンスのレシピ ファイルが含まれます。

mkdir uptime-kuma && cd. /uptime-kuma

中に入ったら、お気に入りのテキスト エディターを使用して新しい「docker-compose.yml」を作成します。

nano. /docker-compose.yml

次のコード ブロックを新しい Compose ファイル内に貼り付けます。

---
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- uptime-kuma:/app/data
ports:
- 3001:3001
restart: always
volumes:
uptime-kuma: null

新しい Uptime Kuma インスタンス用の Docker コンテナを構築します。

sudo docker compose up -d

Nginx を使用した Uptime Kuma のリバース プロキシの作成

Nginx でリバース プロキシを作成し、公開されている URL で Uptime Kuma にアクセスできるようにします。

お気に入りのテキスト エディターを使用して、新しい Nginx サイト構成ファイルを作成します。

sudo nano /etc/nginx/sites-available/uptimekuma

新しいサイト構成ファイル内に次のコード ブロックを記述します。

server {

server_name uptime.myvpsserver.top;


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 X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}

サイト構成ファイルを Nginx の「sites-available」フォルダーから「sites-enabled」ディレクトリにリンクします。

sudo ln -s /etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Nginx サーバー デーモンを再起動して、新しい設定を適用します。

sudo systemctl restart nginx

SSL証明書のインストール

まず、システムでコア スナップ パッケージが稼働していることを確認する必要があります。

sudo snap install core

電子フロンティア財団の certbot 用のスナップをインストールします。これは、リバース プロキシの SSL 証明書を自動的に要求して維持できる小さなツールです。

sudo snap install certbot --classic

新しい certbot インストールを EFF にサインアップして、certbot が適切に動作しているかどうかをテストします。

sudo certbot register --agree-tos -m ramces@email.invalid

新しいリバース プロキシの新しい SSL 証明書をリクエストします。

sudo certbot --nginx -d uptime.myvpsserver.top

Uptime Kuma の構成とモニターの追加

Web ブラウザでそのアドレスに移動して、Uptime Kuma インストールがリバース プロキシ上で適切に実行されているかどうかを確認します。

Uptime Kuma のデフォルトのランディング ページを示すスクリーンショット。

新しい管理者アカウントに必要な詳細をフォームに入力し、[作成] をクリックしてインスタンスに進みます。

新しいインスタンスの管理者の詳細を示すスクリーンショット。

ページの左上隅にある「新しいモニターの追加」ボタンをクリックします。

を強調表示するスクリーンショット

これにより、現在のページに新しいサブウィンドウが開き、監視するサービスの種類を指定できます。たとえば、「モニターの種類」の値を「HTTP(S)」から「TCP ポート」に変更すると、マシンの特定のポートが現在開いているかどうかを確認するモニターが作成されます。

利用可能なさまざまな種類のモニターを示すスクリーンショット。

監視するマシンの詳細を入力します。

ページの一番下までスクロールし、「保存」をクリックして新しいモニターを開始します。

シンプルなポートチェックモニターの完全な詳細を示すスクリーンショット。

Uptime Kuma の外部通知のセットアップ

Uptime Kuma インスタンスのメイン ページに移動し、ページの右上隅にあるユーザー アイコンをクリックします。

画面の右上隅にあるユーザー アイコンのバッジを強調表示したスクリーンショット。

ページのドロップダウン メニューで [設定] オプションをクリックします。

ユーザー バッジのコンテキスト メニューの [設定] オプションを強調表示したスクリーンショット。

ページの新しいサブウィンドウで「通知」カテゴリを選択します。

「通知」カテゴリを強調表示したスクリーンショット。

Telegram 通知サービスの作成

「通知設定」ボタンをクリックします。デフォルトでは、Telegram アカウントを使用して通知ボットをリンクして作成できる小さなウィンドウが表示されます。

新しい通知アラートの名前を入力し、[ボット トークン] テキスト ボックスの下にある BotFather リンクをクリックします。

Telegram BotFather リンクを強調表示したスクリーンショット。

BotFather の Telegram ページで「メッセージを送信」ボタンをクリックします。

BotFather の最初のプロンプトを示すスクリーンショット。

これにより、BotFather を使用して通知ボットを作成できる新しいチャット ウィンドウが開きます。プロンプトに「/newbot」と入力し、 を押しますEnter

Uptime Kuma インスタンスにリンクするボットの名前を指定します。

新しい通知ボットの適切なユーザー名を作成します。この場合、BotFather はアンダースコア (_) 以外の特殊文字を受け付けないことに注意してください。

BotFather が強調表示したテキストをクリックしてクリップボードにコピーします。

新しい通知ボットの一意のトークンを強調表示するスクリーンショット。

新しいボットのユーザー名を検索し、会話を開始することで、新しいボットが適切に動作しているかどうかをテストします。

新しいボットとの最初の会話履歴を示すスクリーンショット。

Uptime Kuma インスタンスに戻り、「ボット トークン」テキストボックス内にプライベート ボット トークンを貼り付けます。

「チャットID」テキストボックスの下にある「自動取得」ボタンをクリックします。

「自動取得」ボタンを強調表示したスクリーンショット。

Uptime Kuma ウィンドウの一番下までスクロールし、「テスト」をクリックして、Uptime Kuma が新しいボットと通信できるかどうかを確認します。

動作している Uptime Kuma Telegram ボットを示すスクリーンショット。

「保存」をクリックして変更を Uptime Kuma にコミットします。

Docker 上で単純なサービス ステータス デーモンをホストすることは、コンテナ化された Web サービスのデプロイに関しては氷山の一角にすぎません。ownCloud を使用して独自のクラウド オフィスをホストする方法と、Stikked を使用して独自の Pastebin を実行する方法を学びます。

画像クレジット: Boitulmelo via Unsplash (背景) Github (ロゴ)。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です