简介

Uptime Kuma​ 是一个功能强大、界面优雅的开源自托管监控工具,专为需要监控服务可用性的用户设计。它提供了类似Uptime Robot的功能,但完全自托管,支持多种监控类型和丰富的通知方式。

🔗 ​GitHub地址​:

https://github.com/louislam/uptime-kuma

📊 ​核心价值​:

服务监控 · 开源免费 · 自托管 · 多通知 · 优雅界面

项目背景​:

  • 监控需求​:服务可用性监控需求

  • 自托管需求​:数据隐私和控制需求

  • 开源缺失​:开源监控工具缺失

  • UI追求​:优雅用户界面追求

  • 功能丰富​:多功能监控需求

项目特色​:

  • 🆓 ​完全免费​:完全开源免费

  • 🎨 ​界面优雅​:美观用户界面

  • 🏠 ​自托管​:支持自托管部署

  • 🔔 ​多通知​:90+通知方式

  • 📱 ​响应式​:响应式设计

技术亮点​:

  • 现代技术栈​:Vue 3 + Node.js

  • 实时更新​:WebSocket实时通信

  • 多协议​:多种监控协议支持

  • 容器化​:Docker容器支持

  • 扩展性强​:强大扩展能力


主要功能

1. ​核心功能体系

Uptime Kuma提供了一套完整的服务监控解决方案,涵盖HTTP监控、TCP监控、ping监控、DNS监控、关键词监控、JSON查询、推送监控、游戏服务器监控、容器监控、状态页面、通知提醒、多语言支持、代理支持、证书监控、2FA安全等多个方面。

监控类型功能​:

监控能力:
- HTTP/HTTPS: 网站可用性监控
- TCP端口: TCP服务端口监控
- Ping检测: 网络连通性检测
- DNS记录: DNS记录解析监控
- 关键词: 网页关键词监控

高级监控:
- JSON查询: JSON API查询监控
- 推送监控: 被动推送式监控
- 游戏服务器: 游戏服务器状态
- Docker容器: 容器运行状态监控
- 自定义监控: 自定义监控类型

监控特性:
- 高频检测: 20秒检测间隔
- 超时设置: 自定义超时时间
- 重试机制: 失败重试机制
- 详细日志: 详细监控日志
- 性能图表: 性能趋势图表

通知功能​:

通知能力:
- 即时消息: Telegram/Discord通知
- 邮件通知: SMTP邮件通知
- 移动推送: Pushover等移动推送
- Webhook: Webhook通知集成
- 短信通知: 短信网关通知

通知平台:
- Telegram: Telegram机器人
- Discord: Discord Webhook
- Slack: Slack通知
- 邮件: 多种邮件服务商
- 移动端: 多种移动推送服务

通知特性:
- 多级通知: 多级别通知设置
- 静默期: 通知静默时间设置
- 模板定制: 通知消息模板
- 批量通知: 批量通知支持
- 历史记录: 通知历史记录

状态页面功能​:

页面能力:
- 多页面: 多个状态页面支持
- 自定义域名: 自定义域名绑定
- 公开/私有: 公开或私有页面
- 状态显示: 服务状态显示
- 历史记录: 状态历史记录

页面特性:
- 响应式设计: 移动端友好
- 主题定制: 页面主题定制
- 多语言: 多语言支持
- SEO优化: 搜索引擎优化
- 访问统计: 页面访问统计

管理功能:
- 页面分组: 服务分组显示
- 维护模式: 维护状态设置
- 状态描述: 自定义状态描述
- 更新时间: 自动更新时间
- 订阅功能: 状态订阅功能

2. ​高级功能

仪表盘功能​:

仪表盘能力:
- 服务概览: 所有服务状态概览
- 分组显示: 按分组显示服务
- 状态统计: 状态统计信息
- 实时更新: 实时状态更新
- 快速操作: 快速操作功能

视图功能:
- 列表视图: 服务列表视图
- 网格视图: 网格卡片视图
- 详情视图: 详细服务视图
- 图表视图: 性能图表视图
- 地图视图: 地理位置视图

自定义功能:
- 视图定制: 自定义视图布局
- 颜色主题: 颜色主题定制
- 排序过滤: 排序过滤功能
- 搜索功能: 快速搜索功能
- 导出功能: 数据导出功能

安全功能​:

安全能力:
- 用户认证: 多用户认证系统
- 权限管理: 细粒度权限管理
- 2FA支持: 双因素认证支持
- 访问控制: IP访问控制
- 审计日志: 操作审计日志

数据安全:
- 数据加密: 数据传输加密
- 备份恢复: 数据备份恢复
- 隐私保护: 用户隐私保护
- 安全配置: 安全配置选项
- 漏洞修复: 安全漏洞修复

监控安全:
- 代理支持: 监控代理支持
- SSL验证: SSL证书验证
- 认证头: HTTP认证头支持
- 安全头部: 安全头部设置
- 速率限制: API速率限制

API功能​:

API能力:
- REST API: RESTful API接口
- 实时API: WebSocket实时API
- 数据查询: 监控数据查询
- 配置管理: 配置管理API
- 状态获取: 状态信息获取

集成能力:
- 第三方集成: 第三方系统集成
- 自动化脚本: 自动化脚本支持
- 数据导出: 数据导出API
- Webhook: Webhook集成支持
- 移动应用: 移动应用集成

开发支持:
- API文档: 完整API文档
- 示例代码: 示例代码提供
- SDK支持: 开发SDK支持
- 测试工具: API测试工具
- 社区支持: 开发者社区

安装与配置

1. ​环境准备

系统要求​:

最低要求:
- 内存: 512MB RAM
- 存储: 1GB+ 空间
- CPU: 1核处理器
- 网络: 稳定网络连接

推荐要求:
- 内存: 1GB RAM
- 存储: 10GB+ SSD
- CPU: 2核处理器
- 网络: 高速网络连接

生产要求:
- 专用服务器: 专用监控服务器
- 内存: 2GB+ RAM
- 存储: 20GB+ SSD
- 备份: 数据备份系统

Docker要求:
- Docker: Docker引擎
- Docker Compose: Docker Compose
- 存储: 持久化存储卷

软件依赖​:

必需依赖:
- Node.js: Node.js 20.4+
- npm: npm包管理器
- 数据库: SQLite(内置)

可选依赖:
- Docker: 容器化部署
- PM2: 进程管理
- Nginx: 反向代理
- Redis: 缓存(可选)

2. ​安装步骤

Docker安装(推荐)​​:

# 使用Docker Compose安装
mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -d

# 或使用Docker命令安装
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2

# 访问地址: http://localhost:3001

非Docker安装​:

# 克隆项目
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma

# 安装依赖
npm run setup

# 开发模式运行
node server/server.js

# 或使用PM2运行
npm install pm2 -g
pm2 start server/server.js --name uptime-kuma

# 访问地址: http://localhost:3001

环境配置​:

# 环境变量配置示例
export NODE_ENV=production
export PORT=3001
export DATA_DIR=/app/data

# 或创建.env文件
PORT=3001
HOST=0.0.0.0
DATA_DIR=./data

Nginx反向代理​:

# Nginx配置示例
server {
    listen 80;
    server_name status.example.com;
    
    location / {
        proxy_pass http://localhost:3001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # WebSocket支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

验证安装​:

# 检查服务状态
curl -I http://localhost:3001

# 检查容器状态
docker ps | grep uptime-kuma

# 查看日志
docker logs uptime-kuma

# 或直接查看日志
tail -f /app/data/logs/app.log

3. ​配置说明

基础配置​:

// 通过Web界面配置或修改配置文件
{
  "port": 3001,
  "host": "0.0.0.0",
  "dataDir": "./data",
  "logLevel": "info",
  "maxHistoryDays": 365
}

监控配置​:

# 监控项配置示例
monitors:
  - name: "Example Website"
    type: "http"
    url: "https://example.com"
    interval: 60
    timeout: 30
    retries: 2
    
  - name: "API Service"
    type: "keyword"
    url: "https://api.example.com/health"
    keyword: "ok"
    interval: 30

通知配置​:

# 通知配置示例
notifications:
  - name: "Telegram Bot"
    type: "telegram"
    botToken: "your_bot_token"
    chatId: "your_chat_id"
    
  - name: "Email Alert"
    type: "smtp"
    host: "smtp.example.com"
    port: 587
    username: "user@example.com"
    password: "password"

安全配置​:

# 安全配置
security:
  enable2FA: true
  allowSignup: false
  trustProxy: true
  rateLimit: 100
  sessionSecret: "your_secret_key"

使用指南

1. ​基本工作流

使用Uptime Kuma的基本流程包括:服务部署 → 初始设置 → 添加监控 → 配置通知 → 创建状态页 → 用户管理 → 监控查看 → 告警处理 → 数据维护 → 系统升级 → 扩展集成 → 性能优化 → 安全配置 → 备份恢复。

2. ​基本使用

监控添加使用​:

添加步骤:
1. 登录系统: 访问监控面板
2. 添加监控: 点击添加按钮
3. 选择类型: 选择监控类型
4. 配置参数: 填写监控参数
5. 保存启用: 保存并启用监控

监控类型:
- HTTP/HTTPS: 网站可用性
- TCP端口: 端口连通性
- Ping检测: 网络可达性
- DNS查询: DNS解析监控
- 关键词: 网页内容监控

高级配置:
- 间隔时间: 监控频率设置
- 超时时间: 请求超时设置
- 重试次数: 失败重试次数
- 认证信息: 需要认证的监控
- 代理设置: 代理服务器设置

通知配置使用​:

配置步骤:
1. 通知设置: 进入通知设置
2. 选择类型: 选择通知方式
3. 配置参数: 填写配置参数
4. 测试通知: 发送测试通知
5. 保存启用: 保存通知配置

通知方式:
- Telegram: Telegram机器人
- Discord: Discord Webhook
- 邮件: SMTP邮件通知
- Webhook: 自定义Webhook
- 移动推送: 移动端推送

通知规则:
- 告警级别: 不同级别通知
- 静默时间: 通知静默期
- 重复通知: 重复通知设置
- 通知模板: 自定义消息模板
- 条件通知: 条件触发通知

状态页面使用​:

创建步骤:
1. 状态页面: 进入状态页面
2. 创建页面: 创建新状态页
3. 添加服务: 添加监控服务
4. 配置样式: 配置页面样式
5. 发布页面: 发布状态页面

页面功能:
- 自定义域名: 绑定自定义域名
- 主题样式: 自定义主题样式
- 多语言: 多语言支持
- 订阅功能: 用户订阅功能
- 统计信息: 访问统计信息

管理功能:
- 权限控制: 页面访问权限
- 维护模式: 维护状态设置
- 历史记录: 状态历史记录
- 导出功能: 数据导出功能
- 嵌入代码: 嵌入到其他网站

3. ​高级用法

API集成使用​:

集成步骤:
1. API了解: 阅读API文档
2. 认证配置: 配置API认证
3. 接口调用: 调用API接口
4. 数据处理: 处理返回数据
5. 应用集成: 集成到应用

API功能:
- 监控管理: 监控项管理API
- 状态查询: 服务状态查询
- 数据统计: 监控数据统计
- 通知管理: 通知配置管理
- 系统管理: 系统配置管理

集成场景:
- 自动化脚本: 自动化监控管理
- 第三方系统: 其他系统集成
- 自定义面板: 自定义监控面板
- 移动应用: 移动端应用集成
- 数据分析和: 监控数据分析

批量操作使用​:

批量功能:
- 批量添加: 批量添加监控项
- 批量启用: 批量启用监控
- 批量禁用: 批量禁用监控
- 批量删除: 批量删除监控
- 批量导出: 批量导出数据

导入导出:
- CSV导入: CSV文件导入监控
- JSON导出: JSON格式导出
- 模板下载: 下载导入模板
- 数据备份: 完整数据备份
- 配置迁移: 配置迁移功能

自动化:
- 自动发现: 服务自动发现
- 自动配置: 自动配置监控
- 自动修复: 自动故障修复
- 自动报告: 自动生成报告
- 自动扩展: 自动扩展监控

高可用部署​:

部署架构:
- 负载均衡: 多实例负载均衡
- 数据库: 外部数据库支持
- 缓存: Redis缓存集群
- 存储: 共享存储系统
- 备份: 自动备份系统

高可用方案:
- 多节点: 多节点部署
- 故障转移: 自动故障转移
- 数据同步: 数据实时同步
- 监控监控: 监控系统自身监控
- 灾难恢复: 灾难恢复方案

性能优化:
- 缓存优化: 多级缓存优化
- 数据库优化: 数据库性能优化
- 网络优化: 网络连接优化
- 资源限制: 资源使用限制
- 监控优化: 监控频率优化

应用场景实例

案例1:企业服务监控

场景​:企业IT服务监控

解决方案​:使用Uptime Kuma监控企业所有服务。

实施方法​:

  1. 服务发现​:识别所有需要监控的服务

  2. 监控配置​:配置各种类型监控

  3. 通知设置​:设置多级通知规则

  4. 状态页面​:创建内部状态页面

  5. 团队协作​:配置团队访问权限

企业价值​:

  • 服务可用性​:保障服务可用性

  • 快速响应​:故障快速响应

  • 透明管理​:服务状态透明化

  • 成本节约​:节约监控成本

  • 数据安全​:数据自托管安全

案例2:个人项目监控

场景​:个人项目和服务监控

解决方案​:使用Uptime Kuma监控个人项目。

实施方法​:

  1. 简单部署​:Docker快速部署

  2. 基础监控​:配置基础监控项

  3. 移动通知​:设置移动端通知

  4. 状态页面​:创建个人状态页

  5. 定期检查​:定期查看监控状态

个人价值​:

  • 项目健康​:监控项目健康状态

  • 及时知晓​:故障及时知晓

  • 免费使用​:完全免费使用

  • 简单易用​:简单易用操作

  • 学习价值​:学习监控技术

案例3:开发测试监控

场景​:开发和测试环境监控

解决方案​:使用Uptime Kuma监控开发测试环境。

实施方法​:

  1. 环境监控​:监控开发测试服务

  2. 自动化集成​:CI/CD流水线集成

  3. 团队通知​:开发团队通知设置

  4. 性能监控​:服务性能监控

  5. 文档集成​:文档系统集成

开发价值​:

  • 环境稳定​:开发环境稳定性

  • 快速反馈​:问题快速反馈

  • 自动化​:自动化监控集成

  • 团队协作​:团队协作效率

  • 质量提升​:产品质量提升

案例4:教育机构监控

场景​:学校和教育机构服务监控

解决方案​:使用Uptime Kuma监控教育服务。

实施方法​:

  1. 教学服务​:监控教学平台服务

  2. 管理系统​:监控管理系统服务

  3. 网络服务​:监控网络服务状态

  4. 多校区监控​:多校区统一监控

  5. 家长通知​:家长通知功能设置

教育价值​:

  • 教学保障​:保障教学服务可用

  • 透明管理​:服务状态透明化

  • 成本控制​:节约监控成本

  • 技术支持​:教育技术支持

  • 体验提升​:用户体验提升

案例5:开源项目监控

场景​:开源项目服务监控

解决方案​:使用Uptime Kuma监控开源项目。

实施方法​:

  1. 项目服务​:监控项目相关服务

  2. 社区通知​:社区通知设置

  3. 状态公开​:公开状态页面

  4. 贡献者通知​:贡献者通知

  5. 性能监控​:项目性能监控

开源价值​:

  • 项目健康​:项目健康状态监控

  • 社区透明​:社区透明化管理

  • 贡献者参与​:贡献者参与感

  • 用户信任​:增强用户信任

  • 项目发展​:促进项目发展


总结

Uptime Kuma作为一个功能丰富、界面优雅的开源监控工具,通过其自托管、多通知和易用性特点,为各种监控需求提供了理想的解决方案。

核心优势​:

  • 🆓 ​完全免费​:完全开源免费

  • 🎨 ​界面优雅​:美观用户界面

  • 🏠 ​自托管​:支持自托管部署

  • 🔔 ​多通知​:90+通知方式

  • 📊 ​功能丰富​:丰富监控功能

适用场景​:

  • 企业服务监控

  • 个人项目监控

  • 开发测试监控

  • 教育机构监控

  • 开源项目监控

立即开始使用​:

# Docker一键部署
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2

# 访问地址
# http://localhost:3001

资源链接​:

  • 🌐 ​项目地址​:GitHub仓库

  • 🚀 ​在线演示​:官方演示

  • 📖 ​文档​:Wiki文档

  • 💬 ​社区​:Reddit社区

  • 🎓 ​教程​:使用教程

通过Uptime Kuma,您可以​:

  • 免费监控​:完全免费监控服务

  • 数据控制​:完全数据控制权

  • 多方式通知​:多种通知方式

  • 状态公开​:公开状态页面

  • 社区支持​:活跃社区支持

特别提示​:

  • 💻 ​技术基础​:需要技术基础

  • 🗄️ ​服务器​:需要服务器资源

  • 🔧 ​维护能力​:需要维护能力

  • 📚 ​学习使用​:学习系统使用

  • 👥 ​社区求助​:利用社区支持

通过Uptime Kuma,提升您的服务监控能力!​

未来发展​:

  • 🚀 ​更多功能​:持续功能增强

  • 🤖 ​AI集成​:AI智能监控

  • 🌐 ​更多集成​:更多服务集成

  • 🔧 ​更好体验​:更好用户体验

  • 📊 ​更好性能​:更好性能表现

加入社区​:

参与方式:
- GitHub: 提交问题和PR
- Reddit: 加入社区讨论
- 文档: 贡献文档改进
- 翻译: 多语言翻译
- 测试: 参与功能测试

社区价值:
- 技术交流支持
- 问题解答帮助
- 经验分享交流
- 功能需求反馈
- 项目发展推动

通过Uptime Kuma,共同推动开源监控发展!​

许可证​:

MIT许可证
商业使用友好

致谢​:

特别感谢:
- 作者: louislam
- 贡献者: 代码贡献者
- 翻译者: 翻译贡献者
- 用户: 用户反馈支持
- 赞助商: 项目赞助者

免责声明​:

重要提示:
注意数据备份
遵守使用条款
合理资源分配
学习最佳实践

通过Uptime Kuma,负责任地进行服务监控!​

成功案例​:

用户群体:
- 企业用户: 各种规模企业
- 个人用户: 个人开发者用户
- 教育机构: 学校培训机构
- 开源项目: 开源项目团队
- 开发团队: 软件开发团队

使用效果:
- 功能满意: 功能丰富满意
- 稳定可靠: 系统稳定可靠
- 通知及时: 通知及时有效
- 界面美观: 用户界面美观
- 成本节约: 显著成本节约

最佳实践​:

使用建议:
1. 从简单开始: 从简单监控开始
2. 通知配置: 合理配置通知
3. 定期备份: 定期数据备份
4. 性能监控: 监控系统性能
5. 社区学习: 向社区学习经验

避免问题:
- 资源不足: 避免资源不足
- 通知轰炸: 避免通知过多
- 数据丢失: 避免数据丢失
- 安全漏洞: 注意安全漏洞
- 社区孤立: 避免孤立使用

通过Uptime Kuma,实现高效的服务监控!​

资源扩展​:

学习资源:
- 监控技术学习
- Docker技术学习
- 网络知识学习
- 通知服务集成
- 开源社区参与

通过Uptime Kuma,构建您的监控体系!​

未来展望​:

技术发展:
- 更好性能
- 更多功能
- 更强安全
- 更易使用
- 更集成化

应用发展:
- 更多场景
- 更好体验
- 更广应用
- 更深影响
- 更大价值

社区发展:
- 更多用户
- 更多贡献
- 更好文档
- 更多案例
- 更大影响

通过Uptime Kuma,迎接智能监控的未来!​

结束语​:

Uptime Kuma作为一个功能丰富、界面优雅的开源监控工具,正在改变人们进行服务监控的方式。通过合理利用这一工具,用户可以享受自托管、多通知和优雅界面带来的好处。

记住,工具是扩展能力的手段,结合清晰的监控需求与合理的技术选择,共同成就监控卓越。

Happy monitoring with Uptime Kuma!​​ 📊🚀🌟

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐