一个UPTIME监控系统:UPTIME KUMA
就运维而言,实时监控uptime很重要,尤其是在使用一些类似端口转发或家庭IP落地NAT机时。
通常情况下,你可以会部署类似哪吒面板或者使用uptimerebot,不过,如果你只是想轻量地监控,又想收到上下线通知,uptime kuma会是个不错的选择。
一、概述
1、项目地址:
https://github.com/louislam/uptime-kuma
2、核心功能:
- 监控HTTP(s) / TCP / Ping / DNS Record的实时状态;
- 响应式布局,自定义状态页
- 使用Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP)等70多种通知
- 自定义心跳间隔
- 多语言
- 一键导出/导入
- 更多功能,后台一目了然
二、部署
1、Docker部署
docker volume create uptime-kuma
docker run -d --restart=always -p 【自定义端口】:3001 -v 【自定义文件夹】:/app/data --name uptime-kuma louislam/uptime-kuma:1
如:
docker volume create uptime-kuma
docker run -d --restart=always -p 3001:3001 -v /root/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
至此,就可以通过:http://ip:3001访问了。
2、反向代理
若使用宝塔面板反代,则添加完反代后,修改【配置文件】,
删除配置文件里的内容,替换成
location / {
proxy_pass http://ip:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
【IP】修改为你部署的IP即可。
三、备份与还原
虽然在Dashboard有导出与导入备份的功能。但导入后,会发现很多信息丢失,仅保留了服务器监控列表,因此还是使用直接备份数据库文件来得方便。
1、备份
#!/bin/bash
cd /root
tar -zcvf uptime-kuma.tgz ~/uptime-kuma
cp -rf /root/uptime-kuma.tgz /【你的备份路径】/uptime-kuma/uptime-kuma_"$(date +"%Y-%m-%d_%H-%M")".tgz
rm -rf uptime-kuma.tgz
这是一段脚本,可直接设置为定时任务。
2、还原
tar -zxvf uptime-kuma.tgz
rm -rf /root/uptime-kuma
mv /root/root/uptime-kuma /root/uptime-kuma
rm -rf /root/root
docker restart uptime-kuma
如果你也和我一样把Uptime KUMA的数据文件固定在/root目录下,就可以这样操作。
四、解决国内部署无法发送TG通知
众所周知的原因,如果把UPTIME-KUMA部署在国内,则无法成功发送TG通知。那么就要用到反代神器WORKERS了。
假设你已经部署好基于CloudFlare Worker的Telegram BOT反代了,则需要进入UPTIME-KUMA的Docker修改两处。
进入Docker
docker exec -it uptime-kuma /bin/bash
修改代码#1
nano /app/src/components/notifications/Telegram.vue
找到:api.telegram.org,将其替换成你的反代域名。
修改代码#2
/app/server/notification-providers/telegram.js
找到:api.telegram.org,将其替换成你的反代域名。
重启Docker
docker restart uptime-kuma
五、其他
其他使用和uptimerobot无异,都已经自部署uptime系统了,相信难不倒各位。
附上几张后台截图
暗黑模式
设置页面
TG通知
打完收工!
阅读剩余
版权声明:
作者:codion
链接:https://mrchou.com/internet/a-uptime-system-uptime-kuma.html
文章版权归作者所有,未经允许请勿转载。
THE END