Uptime Kuma 监控告警系统搭建

引言

各位老铁,今天来聊聊一个我在个人服务器和项目部署中一直在用的监控工具——Uptime Kuma。这玩意儿真的太好用了,相比传统那种笨重的监控方案,它界面美观、部署简单、功能还挺全。咱们今天就从头到尾把整个搭建过程过一遍,保证你看完就能自己整一套监控体系出来。

什么是 Uptime Kuma

先简单介绍一下这位主角。Uptime Kuma 是一个开源的自托管监控工具,类似于 Pingdom 或者 Uptime Robot,但它是免费的,你可以自己部署在任何地方。它支持 HTTP、HTTPS、TCP、Ping、DNS 等多种协议的监控,还能自定义端口、响应时间阈值,甚至可以检测 SSL 证书的过期时间。

最让我喜欢的一点是它的界面,真的很漂亮!实时仪表盘、响应时间图表、状态通知,一目了然。而且它是用 Node.js 写的,性能也不错,个人使用完全够了。

准备工作

在开始之前,你需要准备这些东西:

- 一台长期运行的服务器(可以是 VPS、轻量云服务器,或者家里常年开着的树莓派)

- Docker(推荐用 Docker 安装,简单省事)

- 域名(可选,但如果你想通过 HTTPS 访问监控面板,最好准备一个)

我自己的话是用一台 2 核 2G 的轻量服务器跑的 Docker,同时部署了五六个监控项,资源占用基本可以忽略不计。

安装部署

最简单的方式就是用 Docker Compose,一行命令搞定。咱们先创建个目录:

mkdir uptime-kuma && cd uptime-kuma

然后创建 docker-compose.yml 文件:

version: '3'

services:

uptime-kuma:

image: louislam/uptime-kuma:1

container_name: uptime-kuma

restart: always

ports:

- "3001:3001"

volumes:

- ./data:/app/data

environment:

- TZ=Asia/Shanghai

保存文件后,执行:

docker-compose up -d

等一小会儿,访问 http://你的服务器IP:3001 就能看到初始化页面了。第一次打开会让你创建管理员账号,设个密码就可以进入后台了。

配置监控项

进入后台之后,咱们来添加要监控的目标。点击左上角的 "+" 按钮,会弹出监控配置页面。

这里我简单说几个常用的场景:

1. 监控网站/HTTP 服务

选择 HTTP(s) 类型,然后填入你要监控的 URL。比如我要监控我的博客:

- URL: https://your-blog.com

- 验收证书: 勾选(这样会检查 SSL 是否有效)

- 响应时间超过: 30000 毫秒(30秒算超时)

其他选项可以根据需要调整,比如自定义请求头、POST 数据、查询参数等。

2. 监控 TCP 端口

有些服务不是 HTTP 的,比如 MySQL、Redis、SSH 这些,就可以用 TCP 类型。填入主机地址和端口就行,比如监控 SSH:

- 主机: your-server.com

- 端口: 22

3. 监控 Ping

对于一些内网机器或者不想走 TCP 的场景,Ping 也很实用。填入 IP 地址或者域名,它会定期发送 ICMP 包来检测存活状态。

4. 监控 DNS

这个功能我觉得挺实用的,特别是如果你有域名解析的需求。可以设置监控某个域名的 A 记录、MX 记录等,看看解析是否正常,解析 IP 对不对。

告警通知配置

光监控不通知,那跟没监控似的。Uptime Kuma 支持非常多的通知渠道,点击右上角的铃铛图标就能配置。

我自己在用的是 Telegram企业微信,这两个用起来都比较顺手。简单说说 Telegram 的配置:

1. 找 BotFather 创建一个机器人,记下 Token

2. 把你自己拉进一个群,把机器人也拉进去,获取群 ID

3. 在 Uptime Kuma 的通知设置里,选择 Telegram,填入 Token 和 Chat ID

4. 测试一下,应该就能收到消息了

其他支持的渠道还有钉钉、邮件、Slack、Discord、Webhook 等等,丰俭由人。

进阶使用技巧

用了这段时间,我总结了几个小技巧,分享给大家:

- 分组管理:如果监控目标比较多,可以在设置里创建分组,比如"生产环境"、"测试环境"、"个人项目"等,界面会更清晰

- SSL 证书监控:用 HTTP 类型的监控可以顺便监控 SSL 过期时间,它会在证书快到期的时候提醒你

- 代理支持:如果你的监控服务器访问某些目标需要走代理,也可以在设置里配置

- 维护时间:有时候你要重启服务或者做维护,可以设置一个维护窗口,这段时间的告警会被静默,不会打扰你

结尾总结

好了,今天的分享就到这里。Uptime Kuma 真的是一个非常适合个人开发者和小团队使用的监控工具,部署简单、界面漂亮、功能足够。最关键的是数据都掌握在自己手里,不用担心隐私问题。

如果你有多个服务器或者服务需要监控,强烈建议搭一套试试。基本上十分钟就能跑起来,然后你就可以安心睡大觉了,有问题它会第一时间通知你。

有问题欢迎评论区交流,咱们下期再见!