如何使用 Uptime Kuma 在 Linux 中設定正常運行時間監控工具

如何使用 Uptime Kuma 在 Linux 中設定正常運行時間監控工具

Uptime Kuma 是一個簡單但功能強大的正常運作時間監控工具。它允許您追蹤您在本地網路或更廣泛的互聯網上託管的每項服務。

本文將向您展示如何使用 Ubuntu 和 Docker 在本機網路上安裝和部署 Uptime Kuma。我們也會向您展示如何自訂 Uptime Kuma 實例以向 Telegram 發送狀態通知。

為什麼要使用 Uptime Kuma?

Uptime Kuma可以追蹤和 ping Web 伺服器以及檢查 Docker 容器的運作狀況。這使得 Uptime Kuma 成為適用於您所有網路服務的理想一體化 Web 入口網站。

Uptime Kuma 的最大優勢之一是預設配備強大的通知系統。這表示您可以將正常運行時間監視器設定為在發現異常時自動透過各種管道發送訊息。

顯示正在運行的 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

取得並建立正常運作時間 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 的 snap。這是一個小工具,可以自動請求和維護反向代理的 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 連接埠」將建立一個監視器,該監視器將檢查電腦中的特定連接埠目前是否開啟。

顯示可用的不同類型監視器的螢幕截圖。

填寫您要監控的機器的詳細資訊。

向下捲動到頁面底部,然後按一下「儲存」以啟動新顯示器。

顯示簡單連接埠檢查監視器的完整詳細資訊的螢幕截圖。

設定正常運作時間 Kuma 的外部通知

前往 Uptime Kuma 實例的主頁,然後點擊頁面右上角的使用者圖示。

螢幕截圖突出顯示螢幕右上角的使用者圖示徽章。

點擊頁面下拉選單上的“設定”選項。

反白顯示使用者徽章上下文選單中的「設定」選項的螢幕截圖。

在頁面的新子視窗中選擇「通知」類別。

反白顯示「通知」類別的螢幕截圖。

建立 Telegram 通知服務

點選“設定通知”按鈕。預設情況下,這將彈出一個小窗口,您可以在其中使用您的 Telegram 帳戶連結並建立通知機器人。

為新通知警報提供名稱,然後按一下「Bot Token」文字方塊下的 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。

在部署容器化 Web 服務時,透過 Docker 託管簡單的服務狀態守護程式只是冰山一角。了解如何使用ownCloud 託管您自己的雲端辦公室以及如何使用 Stikked 運行您自己的 Pastebin

圖片來源:Boitulmelo,來自 Unsplash(背景)Github(標誌)。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *