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 のインストール
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 インストールがリバース プロキシ上で適切に実行されているかどうかを確認します。
新しい管理者アカウントに必要な詳細をフォームに入力し、[作成] をクリックしてインスタンスに進みます。
ページの左上隅にある「新しいモニターの追加」ボタンをクリックします。
これにより、現在のページに新しいサブウィンドウが開き、監視するサービスの種類を指定できます。たとえば、「モニターの種類」の値を「HTTP(S)」から「TCP ポート」に変更すると、マシンの特定のポートが現在開いているかどうかを確認するモニターが作成されます。
監視するマシンの詳細を入力します。
ページの一番下までスクロールし、「保存」をクリックして新しいモニターを開始します。
Uptime Kuma の外部通知のセットアップ
Uptime Kuma インスタンスのメイン ページに移動し、ページの右上隅にあるユーザー アイコンをクリックします。
ページのドロップダウン メニューで [設定] オプションをクリックします。
ページの新しいサブウィンドウで「通知」カテゴリを選択します。
Telegram 通知サービスの作成
「通知設定」ボタンをクリックします。デフォルトでは、Telegram アカウントを使用して通知ボットをリンクして作成できる小さなウィンドウが表示されます。
新しい通知アラートの名前を入力し、[ボット トークン] テキスト ボックスの下にある BotFather リンクをクリックします。
BotFather の Telegram ページで「メッセージを送信」ボタンをクリックします。
これにより、BotFather を使用して通知ボットを作成できる新しいチャット ウィンドウが開きます。プロンプトに「/newbot」と入力し、 を押しますEnter。
Uptime Kuma インスタンスにリンクするボットの名前を指定します。
新しい通知ボットの適切なユーザー名を作成します。この場合、BotFather はアンダースコア (_) 以外の特殊文字を受け付けないことに注意してください。
BotFather が強調表示したテキストをクリックしてクリップボードにコピーします。
新しいボットのユーザー名を検索し、会話を開始することで、新しいボットが適切に動作しているかどうかをテストします。
Uptime Kuma インスタンスに戻り、「ボット トークン」テキストボックス内にプライベート ボット トークンを貼り付けます。
「チャットID」テキストボックスの下にある「自動取得」ボタンをクリックします。
Uptime Kuma ウィンドウの一番下までスクロールし、「テスト」をクリックして、Uptime Kuma が新しいボットと通信できるかどうかを確認します。
「保存」をクリックして変更を Uptime Kuma にコミットします。
Docker 上で単純なサービス ステータス デーモンをホストすることは、コンテナ化された Web サービスのデプロイに関しては氷山の一角にすぎません。ownCloud を使用して独自のクラウド オフィスをホストする方法と、Stikked を使用して独自の Pastebin を実行する方法を学びます。
画像クレジット: Boitulmelo via Unsplash (背景) Github (ロゴ)。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す