如何使用 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
取得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 安裝是否在其反向代理上正常運作。
在表單中填寫您想要的新管理員帳戶的詳細信息,然後按一下「建立」繼續建立您的實例。
點擊頁面左上角的“新增監視器”按鈕。
這將在目前頁面上開啟一個新的子窗口,您可以在其中指定要監視的服務類型。例如,將「監視器類型」值從「HTTP(S)」變更為「TCP 連接埠」將建立一個監視器,該監視器將檢查電腦中的特定連接埠目前是否開啟。
填寫您要監控的機器的詳細資訊。
向下捲動到頁面底部,然後按一下「儲存」以啟動新顯示器。
設定正常運作時間 Kuma 的外部通知
前往 Uptime Kuma 實例的主頁,然後點擊頁面右上角的使用者圖示。
點擊頁面下拉選單上的“設定”選項。
在頁面的新子視窗中選擇「通知」類別。
建立 Telegram 通知服務
點選“設定通知”按鈕。預設情況下,這將彈出一個小窗口,您可以在其中使用您的 Telegram 帳戶連結並建立通知機器人。
為新通知警報提供名稱,然後按一下「Bot Token」文字方塊下的 BotFather 連結。
點擊 BotFather Telegram 頁面上的「傳送訊息」按鈕。
這將開啟一個新的聊天窗口,您可以在其中使用 BotFather 建立通知機器人。在提示符號上寫下“/newbot”,然後按Enter。
為您要連結到 Uptime Kuma 實例的機器人提供名稱。
為您的新通知機器人編寫適當的使用者名稱。請注意,為此,BotFather 將不接受下劃線 (_) 之外的任何特殊字元。
點擊 BotFather 突出顯示的文本,將其複製到剪貼簿。
透過尋找新機器人的使用者名稱並與其開始對話來測試您的新機器人是否正常運作。
返回您的 Uptime Kuma 實例,然後將私有機器人令牌貼到「機器人令牌」文字方塊中。
按一下「聊天ID」文字方塊下方的「自動取得」按鈕。
向下捲動到 Uptime Kuma 視窗底部,然後按一下「測試」以檢查 Uptime Kuma 是否可以與您的新機器人進行通訊。
點擊“儲存”將變更提交到 Uptime Kuma。
在部署容器化 Web 服務時,透過 Docker 託管簡單的服務狀態守護程式只是冰山一角。了解如何使用ownCloud 託管您自己的雲端辦公室以及如何使用 Stikked 運行您自己的 Pastebin。
圖片來源:Boitulmelo,來自 Unsplash(背景)Github(標誌)。所有修改和螢幕截圖均由 Ramces Red 進行。
發佈留言