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