在Windows上部署開源的輕量級自動化運維監(jiān)控工具Uptime Kuma
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
現(xiàn)在大家玩NAS的朋友們越來越多,是否對NAS的穩(wěn)定性感到焦慮?你是否在需要用的時候,發(fā)現(xiàn)你的服務(wù)已經(jīng)停擺許久?要是有個可以隨時隨地為你提供線上服務(wù)的健康狀況的工具就好了,這不就有了Uptime Kuma,Uptime Kuma?是一個類似 "Uptime Robot" 的自托管監(jiān)控工具。
在Windows上部署開源的輕量級自動化運維監(jiān)控工具Uptime Kuma
一、什么是Uptime Kuma?
Uptime Kuma 是一款開源自托管的輕量級監(jiān)控工具,擁有簡潔美觀的界面和豐富的告警方式。
但在實際部署中,發(fā)現(xiàn)幾乎所有教程都是在寫使用Docker部署。本次是記錄一下作者提供的第二種部署方式在Windows平臺的踩坑歷程。
項目地址:https://github.com/louislam/uptime-kuma
體驗地址:https://demo.kuma.pet/start-demo (自動生成一個十分鐘的臨時項目)
特點:Uptime Kuma可以添加的監(jiān)控項包括HTTP(s)、TCP、HTTP(s)關(guān)鍵詞、HTTP(s) JSON查詢、Ping、DNS記錄、推送、Docker容器運行時間、Steam游戲服務(wù)等常見網(wǎng)站運行參數(shù)。
支持70多種通知服務(wù),例如阿里云短信,釘釘,企業(yè)微信,電子郵件等
二、Uptime Kuma 環(huán)境要求
① Windows 10 (x64)、Windows Server 2012 R2 (x64) 或更高版本(作者表示主流Linux也可以)
② Node.js 18 或 20.4及以上
③ NPM 9 (Nodejs自帶)
④ GIT (用于git項目到本地,沒有也可以,但是影響部署環(huán)節(jié))
⑤ PM2 (用于在后臺運行)
三、Uptime Kuma 項目部署
① 下載項目到本地 git clone https://github.com/louislam/uptime-kuma.git ② 進入項目目錄 cd uptime-kuma ③ 設(shè)置npm鏡像源 //用于npm加速 npm config set registry https://registry.npmmirror.com/ ④ 初始化前端資源 (踩坑點) npm run setup 等同于 -如果以上命令報錯,可以嘗試手動執(zhí)行以下 git checkout 1.23.15 // 切換版本。如果網(wǎng)絡(luò)不好或者沒有g(shù)it,此條有可能報錯,可以暫時忽略 npm ci --production //安裝依賴 npm run download-dist //下載前端資源 如果以上步驟無法完成,可以嘗試以下命令 //安裝依賴 (踩坑點 node版本最好使用推薦的18或者20.4,國內(nèi)最好設(shè)置鏡像加速,否則依賴有可能安裝失?。? npm install //重構(gòu)前端資源 // 似乎可以替代npm run download-dist npm run build ⑤ 啟動項目 -到此項目已經(jīng)可以嘗試啟動了 node server/server.js 等同于 npm run start 或 npm run start-server
成功啟動以后,訪問地址為 http://127.0.0.1:3001
⑥ 后臺運行與自啟動
// 安裝PM2管理器與PM2日志管理器 [mw_shl_code=asm,true]npm install pm2 -g && pm2 install pm2-logrotate //使用pm2啟動項目 pm2 start server/server.js --name uptime-kuma //停止項目 pm2 stop uptime-kuma
至于自啟動,木有搞,直接使用的bat執(zhí)行pm2 start也可;想實現(xiàn)的,市面上有很多基于pm2的自啟動項目,可以自行研究
四、常見的設(shè)置項
① 端口 :在server/config.js改 搜3001
② 數(shù)據(jù)位置:data/kuma.db (使用sqline的情況下)
五、UptimeKuma 的特點包括:
- 花哨、反應(yīng)式的、快速的 UI/UX:Uptime Kuma 提供了一個美觀且直觀的用戶界面,使用戶能夠輕松配置和管理監(jiān)控項。
- 多種通知方式:支持通過 Telegram、Discord、Gotify、Slack、Pushover、電子郵件 (SMTP) 等多種通知服務(wù)發(fā)送警報。
- 多語言支持:支持超過 50 種語言,方便不同語言的用戶使用。
- 監(jiān)控圖表信息:提供實時的監(jiān)控圖表,幫助用戶更好地理解服務(wù)狀態(tài)。
- 證書信息:提供證書信息,幫助用戶了解 SSL/TLS 證書的狀態(tài)。
- 代理支持:支持通過代理進行監(jiān)控,增加監(jiān)控的靈活性。
- 2FA 支持:提供雙因素認證,增加賬戶的安全性。
延伸閱讀:Nagios、Zabbix、Prometheus 這三款開源的監(jiān)控平臺大致分析
運維人(很多時候我們也會被大伙親切的稱為背鍋俠),基本都了解或者使用過 Nagios、Zabbix、Prometheus 這三款開源的監(jiān)控平臺,三款監(jiān)控工具都各有各的優(yōu)缺點,如下表:
監(jiān)控平臺 | 優(yōu)點 | 缺點 |
Nagios | 功能豐富:Nagios支持對網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用程序等進行全面監(jiān)控,并提供豐富的監(jiān)控指標(biāo)和報警機制??蓴U展性強:Nagios支持自定義監(jiān)控插件,用戶可以根據(jù)需要添加或修改監(jiān)控項,以滿足特定的監(jiān)控需求 | 配置復(fù)雜:Nagios的配置相對復(fù)雜,需要一定的技術(shù)水平和經(jīng)驗,對于初學(xué)者來說可能存在一定的學(xué)習(xí)成本。界面不友好:Nagios的界面設(shè)計相對簡單,且界面較為陳舊,可能不夠直觀和用戶友好,對于非技術(shù)人員來說可能不太容易上手。 |
Zabbix | 界面友好:Zabbix提供了一個基于Web的圖形化界面,易于使用和管理,適合不同技術(shù)水平的用戶。功能全面:Zabbix支持對網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用程序等進行全面的監(jiān)控,包括性能監(jiān)控、故障排查、安全審計等功能。自動化配置:Zabbix支持自動發(fā)現(xiàn)和自動配置,可以自動添加和刪除監(jiān)控對象,減少了手動配置的工作量。 | 資源消耗較大:Zabbix在監(jiān)控過程中可能會消耗較多的系統(tǒng)資源,對于資源有限的環(huán)境來說可能存在一定的壓力。學(xué)習(xí)成本:雖然Zabbix提供了友好的界面,但對于初學(xué)者來說,仍然需要一定的時間來熟悉和掌握其使用方法和功能。 |
Prometheus | 強大的查詢語言:Prometheus提供了PromQL查詢語言,支持復(fù)雜的查詢和聚合操作,方便用戶進行靈活的數(shù)據(jù)分析和可視化。易于集成:Prometheus支持多種導(dǎo)出器(exporter),可以與各種主流的服務(wù)和系統(tǒng)進行集成,實現(xiàn)統(tǒng)一的監(jiān)控和管理。云原生環(huán)境支持:Prometheus本身就是作為云原生監(jiān)控出現(xiàn)的,所以對云原生服務(wù)發(fā)現(xiàn)支持具有天然優(yōu)勢。 | 學(xué)習(xí)曲線陡峭:Prometheus的查詢語言和概念對于初學(xué)者來說可能較為陌生,需要一定的時間來學(xué)習(xí)和掌握。報警功能相對簡單:雖然Prometheus支持基本的報警功能,但相對于一些其他監(jiān)控工具來說,其報警機制可能不夠靈活和全面。 |
估計有不少朋友都在玩各種各樣的監(jiān)控軟件,大致都差不多,只要不太花里胡哨,又穩(wěn)定的,就是好玩的!
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!