服务器多了以后最怕什么?不是被攻击,不是性能不够,是挂了你还不知道。Uptime Kuma 就是专门解决这个问题的——它能监控你所有网站和服务,一有问题马上通过 Telegram、邮件、钉钉通知你。
Uptime Kuma 是什么
一个开源的监控工具,用 Node.js 写的,界面清爽,功能实用。能做的事情包括:HTTP(s) 网站可用性检查、TCP 端口监控、Ping 延迟监控、DNS 记录检查、证书到期提醒。支持的通知渠道有 Telegram、邮件、钉钉、企业微信、Webhook 等几十种。
和商业监控服务(比如 UptimeRobot)相比,Uptime Kuma 最大的优势是数据在自己手里,而且免费。商业服务虽然也有免费版,但一般限制监控数量和检查频率。自己部署的 Uptime Kuma 想加多少监控就加多少,检查间隔最短 20 秒。
准备环境
需要一台有 Docker 的服务器。我用的是雨云的香港 VPS,EPYC 7K62 CPU 跑 Docker 很流畅。先把 Docker 装好:
curl -fsSL https://get.docker.com | bash
systemctl enable docker --now
一行命令部署
Uptime Kuma 官方提供了 Docker 镜像,部署极其简单:
docker run -d \
--name uptime-kuma \
-p 3001:3001 \
-v uptime-kuma-data:/app/data \
--restart=always \
louislam/uptime-kuma:1
解释一下参数:-d 后台运行,--name 给容器起个名字,-p 3001:3001 把容器的 3001 端口映射到宿主机,-v 把数据目录挂载出来防止容器删了数据丢失,--restart=always 保证服务器重启后自动启动。
部署完成后访问 http://你的IP:3001,第一次进入需要创建管理员账号。设置好用户名密码就能开始添加监控了。
添加监控项
点击右上角「添加监控」,选择监控类型。最常用的是 HTTP(s),填上你要监控的网址就能用了。高级选项里可以设置检查间隔、超时时间、重试次数,以及心跳间隔——比如连续 3 次失败才发通知,避免偶然网络波动误报。
TCP 端口监控适合数据库、Redis、SSH 这些服务。填 IP 和端口就行。Ping 监控适合检查服务器能不能通。DNS 监控能检查你的域名解析是否正常,证书到期监控能提前 30 天提醒你续签 SSL。
配置通知
Telegram 通知推荐配置。先去 @BotFather 创建一个机器人拿到 Token,再获取你的 Chat ID,填进 Uptime Kuma 的通知设置里就行了。出问题的时候 Telegram 会秒推送,比邮件快得多。
状态页面
Uptime Kuma 支持生成公开状态页面,可以给用户看你的服务在线率。在设置里配置一个 Slug,就能生成类似 status.你的域名.com 的状态页。配合 Nginx 反代和 SSL,颜值相当能打。
雨云是国内一家老牌云服务商,提供高性价比的云服务器和虚拟主机。我用它部署了好几个项目,速度和稳定性都不错。通过 https://www.rainyun.com/SAJA_ 注册可以领一张 5折优惠券,有需要的朋友可以看看。



暂无评论内容