前言:今天,GitHub 和 GitLab 等平台承载了无数开发者的心血,其中既有商业闭源项目,也有大量开源项目。这些开源作品不仅展示了开发者的技术与创意,更通过无私的分享和协作推动了整个技术生态的发展。得益于他们的公开,我们能够使用这些工具简化工作流程,提高效率,同时学习到更多先进的技术理念与实现方式。向所有为技术开源和共享做出贡献的开发者致敬,他们让编程世界变得更加丰富、开放和充满可能性。

Uptime Kuma 是一个简单易用、支持本地部署的监控工具!

项目地址:louislam/uptime-kuma: A fancy self-hosted monitoring tool (github.com)

Docker Compose

推荐使用 docker-compose 工具部署,便于后期调整参数、以及维护便捷性。

单机部署

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
services:
uptime-kuma:
image: louislam/uptime-kuma:1.23.15-debian
container_name: uptime-kuma
restart: unless-stopped
environment:
TZ: Asia/Shanghai
ports:
- 3001:3001
volumes:
- ./data/:/app/data
- /etc/localtime:/etc/localtime
networks:
- service
networks:
service:
external: true

增加网关(nginx、apache、traefik)

Traefik

Traefik 部署文档:

docker-compose.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
services:
uptime-kuma:
image: louislam/uptime-kuma:1.23.15-debian
container_name: uptime-kuma
restart: unless-stopped
environment:
TZ: Asia/Shanghai
ports:
- 3001:3001
volumes:
- ./data/:/app/data
- /etc/localtime:/etc/localtime
networks:
- service
labels:
- "traefik.enable=true"
- "traefik.docker.network=service"
- "traefik.http.routers.uptime-kuma.rule=Host(`{域名}`)"
- "traefik.http.routers.uptime-kuma.entryPoints=websecure"
- "traefik.http.routers.uptime-kuma.tls.certresolver=myresolver"
- "traefik.http.routers.uptime-kuma.service=uptime-kuma"
- "traefik.http.services.uptime-kuma.loadbalancer.server.port=3001"
networks:
service:
external: true

配置管理

浏览器访问 IP:3001 ;第一次登录需要创建管理员账号、密码!

功能模块

uptime kuma 配置管理大致分为四块:设置、监控项、状态页面、通知!

设置

设置主要按照个人需求进行调整。

监控项

监控项是 uptime kuma 核心;uptime 提供多种监控类型监控目标状态:HTTPS、TCP、Ping 等常见的类型,也包含 MySQL、PostgreSQL、Redis 等数据库监控!

状态页面

监控项设置完成后,正常情况监控状态需要匿名访问,方便多人查看;配置状态页面,将 隐私性 较低的监控项公开展示。

  1. 创建状态页面

  1. 按需添加监控项

  1. 展示页面

通知

采集指标进行监控是为了预防故障发生时,运维人员可以及时收到通知,然后进行修复!所以,通知 是最终的闭环,如果没有及时的通知;监控工具失去了最重要的作用。

uptime kuma 支持丰富的通知类型;国内的微信、飞书,国外的 Telegram、Slack 等等,请根据需求配置告警通知。