200字
Docker 快速部署 Uptime Kuma:全方位监控服务
2025-11-28
2025-11-28

什么是 Uptime Kuma?

Uptime Kuma 是一个开源的监控工具,类似于 Uptime Robot,但可以完全自托管。它能够监控网站、API、数据库等各种服务的可用性,并在服务异常时及时通知你。

作为 MES 运维人员,我一直在寻找简单可靠的监控方案,Uptime Kuma 完美满足了我的需求 - 轻量、美观、功能全面。

Docker 部署步骤

环境要求

  • 已安装 Docker 和 Docker Compose

部署命令

# 创建数据目录
mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma

# 创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF
version: '3.8'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - "3001:3001"
    restart: unless-stopped
EOF

# 启动服务
docker-compose up -d

部署完成后,访问 http://服务器IP:3001即可进入初始化界面。

支持的监控协议

Uptime Kuma 支持丰富的监控协议:

1. HTTP(S) 监控

  • GET、POST、PUT、DELETE 等请求方法

  • 自定义请求头和支持身份验证

  • 关键字匹配检查(检查响应内容是否包含特定文本)

  • SSL 证书过期监控

2. TCP 端口监控

  • 检查特定端口是否开放

  • 支持自定义超时时间

  • 可用于监控数据库、SSH 等服务

3. Ping 监控

  • ICMP ping 检测

  • 监控网络设备的可达性

  • 响应时间统计

4. DNS 监控

  • 监控 DNS 解析是否正确

  • 支持多种记录类型(A、AAAA、CNAME 等)

  • 响应时间监控

5. Steam 游戏服务器监控

  • 监控游戏服务器状态

  • 玩家数量统计

6. Docker 容器监控

  • 监控容器运行状态

  • 自动发现本地 Docker 容器

推送通知功能

Uptime Kuma 支持多种通知方式:

  • Telegram:通过 Bot 发送通知

  • Discord:Webhook 方式推送

  • Slack:工作区通知

  • 电子邮件:SMTP 配置

  • Webhook:自定义回调

  • Pushover:移动端推送

  • Gotify:自建推送服务

  • 钉钉:工作通知

  • 企业微信:群机器人

仪表盘功能

状态页面

Uptime Kuma 可以生成公开的状态页面,展示所有服务的监控状态:

数据统计

  • 正常运行时间百分比:按月/年统计

  • 平均响应时间:可视化图表展示

  • 事件历史:详细的故障时间线

  • 多服务对比:同时监控多个服务的性能表现

高级监控逻辑

  1. 代理支持:通过代理服务器进行监控检查

  2. 维护时段:设置计划维护时间,避免误报

  3. 依赖关系:配置服务间的依赖关系

  4. 认证支持:Basic Auth、Bearer Token 等认证方式

  5. 自定义状态码:定义哪些 HTTP 状态码被视为正常

实际使用案例

监控我的个人服务栈

在我的服务器环境中,我用 Uptime Kuma 监控:

  1. 云服务器ping(ICMP)

  2. 云Frps(TCP)

  3. 个人主页(HTTPS)

  4. 反代个人博客HTTPS

总结

Uptime Kuma 作为一个开源监控解决方案,具有以下优势:

部署简单:Docker 一键部署

功能全面:支持多种协议和通知方式

界面美观:现代化的响应式设计

资源占用低:轻量级,适合家庭服务器使用

完全自托管:数据掌握在自己手中

对于像我这样喜欢自建服务的用户来说,Uptime Kuma 是监控服务可用性的完美工具。无论是监控家庭实验室的服务,还是生产环境的关键应用,它都能提供可靠的监控能力。


如果你也在使用 Uptime Kuma,欢迎在评论区分享你的使用经验!

评论