88,478· 8,043 forks· JavaScript· MIT自托管

Uptime Kuma:自託管服務監控工具

louislam/uptime-kuma

開源自託管的服務監控平臺,支援HTTP/TCP/Docker等多種協議監控,提供美觀的狀態頁面和90+種通知渠道

成熟度維護活躍,最近提交0天前,8.8萬stars,但有760個open issues

项目体检

部署 · Docker Compose一键部署或docker run启动,默认监听3001端口,支持volume持久化数据,不支持NFS文件系统

成本 · 开箱即用无需外部依赖,非Docker部署需Node.js 20.4+和PM2进程管理器

技术 · JavaScript + Node.js + Vue 3 + Socket.IO + Bootstrap 5,采用WebSocket实现实时通信的单页应用

许可 · MIT协议,可自由商用、修改和分发

活跃 · 最新版本2.4.0发布于27天前,1084位贡献者参与,今日仍有代码提交,活跃度极高

解決什麼

Uptime Kuma 解決了企業和個人對服務可用性監控的剛需。當你運營網站、API服務或Docker容器時,需要7×24小時掌握服務狀態、及時收到宕機告警。傳統商業方案如Uptime Robot按監控點收費且資料託管在第三方,Uptime Kuma提供完全自主可控的開源替代:支援HTTP(S)、TCP、Ping、DNS記錄、Docker容器等十餘種監控型別,通過Telegram、企業微信、郵件等90+種渠道推送告警,還能生成公開狀態頁面向客戶展示服務健康度。

為何火

該專案在GitHub獲得8.8萬stars,成為自託管監控領域的頭部選擇。核心原因有三:一是部署極簡,Docker一行命令即可執行,無需複雜配置資料庫;二是介面現代化,基於Vue 3和Bootstrap 5構建的響應式UI遠超同類開源工具的樸素介面;三是功能完備,20秒監控間隔、證書過期提醒、多狀態頁面、二次驗證等企業級特性一應俱全,且持續高頻更新(最近一次提交在今天)。作者louislam明確表示開發動機是找不到穩定維護的statping替代品,最終自己造輪子併成為事實標準。

核心功能

  • 多協議監控:覆蓋HTTP關鍵詞檢測、JSON查詢、WebSocket、Steam遊戲伺服器、Docker容器健康檢查等場景
  • 狀態頁面系統:可建立多個獨立狀態頁並繫結自定義域名,支援淺色/深色主題
  • 通知矩陣:內建90+種通知整合(含釘釘、飛書、Bark等國內服務),支援通知分組和條件觸發
  • 資料視覺化:Ping延遲圖表、證書有效期倒計時、歷史可用率統計
  • 代理與安全:支援HTTP代理訪問內網服務,提供雙因素認證保護管理後臺

安裝

Docker方式(推薦):

docker run -d --restart=always -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma louislam/uptime-kuma:2

訪問 http://伺服器IP:3001 完成初始化。若需限制僅本地訪問,埠對映改為 127.0.0.1:3001:3001

非Docker方式: 需Node.js 20.4+和PM2,克隆倉庫後執行 npm run setup 安裝依賴,用 pm2 start server/server.js 後臺執行。注意Windows需Server 2012 R2以上版本,不支援BSD系列和Replit/Heroku等PaaS平臺。

適合誰

  • 中小團隊DevOps:替代New Relic等昂貴商業監控,資料完全自主掌控
  • 個人站長/博主:監控部落格和API可用性,生成狀態頁增強使用者信任
  • 企業內網運維:通過代理監控內部服務,避免資料外傳合規風險
  • 開源專案維護者:公開展示服務健康狀態(如demo.kuma.pet的10分鐘臨時演示)

中文使用者特別注意:Telegram/Discord等國際通知渠道需科學上網,建議優先配置SMTP郵件、企業微信或釘釘機器人。

社群評價

暫無足量社群公開討論,以下為基於專案本身的中立評估:從技術指標看,該專案展現出罕見的活躍度——1084位貢獻者、今日仍有提交、Docker映象下載量巨大,說明使用者基數龐大且開發團隊響應積極。但760個未關閉issue也暴露潛在問題:可能存在功能請求積壓或邊緣場景bug。README中作者明確拒絕郵件支援,要求通過GitHub Issues或Reddit求助,顯示出個人維護者的精力邊界。整體而言,這是一個生產可用但需自行承擔社群支援成本的成熟專案。

選型對比

vs Uptime Robot(商業):

  • Uptime Kuma優勢:資料自主、無監控點數量限制、可定製狀態頁域名、MIT協議免費商用
  • Uptime Robot優勢:SaaS開箱即用、全球多節點監控、專業客服支援

vs Prometheus+Grafana(開源):

  • Uptime Kuma優勢:零配置快速上手、內建美觀UI、非技術人員可操作
  • Prometheus優勢:指標採集更靈活、適合複雜微服務架構、可擴充套件性更強

vs Zabbix(開源):

  • Uptime Kuma優勢:部署輕量(單容器vs多元件)、現代化介面、學習曲線平緩
  • Zabbix優勢:企業級功能完整、支援SNMP等傳統協議、歷史資料分析能力強

已知坑

  1. 檔案系統限制:官方明確警告不支援NFS等網路檔案系統,Docker volume必須對映到本地磁碟,否則可能導致資料庫損壞
  2. 反向代理配置:需正確傳遞WebSocket頭(Upgrade/Connection),Nginx需額外配置 proxy_set_header,否則即時推送失效
  3. 監控間隔下限:最小20秒間隔,無法實現秒級監控,不適合對延遲極敏感的金融交易類場景
  4. 多語言翻譯:雖支援20+語言但部分新功能中文翻譯滯後,可能出現英文介面
  5. 通知測試:部分通知渠道(如Bark)在國內網路環境下測試可能超時,需逐一驗證可達性

來源:GitHub louislam/uptime-kuma + HN社群訊號

安装方式:docker