VPS怎么监控网站和服务器状态?Uptime Kuma部署和告警配置教程

Docker一条命令部署,监控HTTP/TCP/SSL/DNS,配钉钉和Telegram告警通知
发布于
1

你的网站挂了多久你才发现?大多数人是用户反馈”打不开”才知道。Uptime Kuma是一个开源免费的监控工具,装在VPS上帮你盯着所有网站和服务器,挂了第一时间推送通知到你微信、钉钉或Telegram。

Uptime Kuma能监控什么

不只是”网站能不能打开”:HTTP/HTTPS网页状态码(200就正常,5xx就告警);TCP端口是否在监听(SSH的22端口、MySQL的3306、Redis的6379);DNS记录是否解析正常;SSL证书还剩几天过期(提前30天提醒);ICMP Ping看服务器还活着没。还能监控Docker容器、Steam游戏服务器、MQTT等。

告警通知支持十几种渠道:Telegram、钉钉、企业微信、飞书、邮件、Slack、Webhook、PushDeer、Gotify等。国内用户推荐用PushDeer(免费、iOS/Android都有)或者钉钉/企业微信机器人。

Docker一条命令部署

docker run -d --restart=always -p 3001:3001 
  -v uptime-kuma:/app/data 
  --name uptime-kuma 
  louislam/uptime-kuma:latest

# 访问 http://你的VPS公网IP:3001 进初始化向导

首次访问创建管理员账号。数据默认存在Docker volume里(/var/lib/docker/volumes/uptime-kuma),要备份的话把这个目录拷走就行。

雨云入门VPS月付几块钱跑Uptime Kuma绰绰有余——监控服务本身不吃资源。优惠码 admin01 首月五折。注意:监控别人网站的延迟要从VPS出发,所以VPS机房位置影响延迟数据——用国内机房的VPS监控国内网站延迟低,用海外机房监控海外网站更准。

添加第一个监控项

登录后点「添加监控」,几个常用配置:

  • 监控类型选HTTP(s)→URL填 https://你的域名→报错条件默认(状态码非2xx就告警)→心跳间隔建议60秒(太频繁浪费资源,超过60秒发现问题太慢)
  • 监控端口:类型选TCP Port→Hostname填服务器IP→Port填端口号→用来监控数据库、Redis这些不开HTTP的服务
  • SSL证书过期提醒:类型选HTTP(s)→勾选”证书过期提醒”→提前30天通知

建完后主页面会显示所有监控项的实时状态——绿色对勾正常、红色叉号挂了、黄色感叹号不稳定(偶尔超时)。右上角的图表能看到最近一段时间的响应时间曲线。

配置告警通知——挂了第一时间知道

设置了监控但没配通知等于没监控。点「设置→通知」→添加通知方式:

钉钉机器人(推荐国内用户):建一个钉钉群→群设置→智能群助手→添加机器人→选Webhook→复制Webhook地址。在Uptime Kuma里选DingTalk→粘贴Webhook地址→可以自定义告警文案。网站挂了群里机器人会发消息,所有人能看到。

Telegram:和@BotFather创建一个机器人→拿到token→在@userinfobot拿自己的chat ID。Uptime Kuma里选Telegram→填入token和chat ID。

然后在监控项编辑页面→「通知」栏勾选刚配置的通知方式→保存。可以给不同监控项设不同的通知渠道——核心业务网站用钉钉+邮件双保险、非核心服务只用邮件。

创建状态页面——给用户看的

如果你管着好几个网站,可以做公开状态页让用户自己查看服务是否正常。点「状态页面」→新建→起个名字(比如”XX服务状态”)→选要展示的监控项→生成一个公开链接。用户打开这个链接就能看到各服务当前是否正常。

这个状态页可以自定义品牌Logo和颜色,嵌入到你自己网站的/status页面。也可以用Uptime Kuma官方提供的大盘Dashboard看所有监控项的统计。

避免自己监控自己被误判

如果Uptime Kuma和被监控的网站跑在同一台VPS上,监控的是localhost——能检测到进程挂了、但检测不到公网不可达的问题。建议把监控服务放在另一台VPS上,从公网角度检测。最便宜的方案:一台VPS跑你的网站、一台低配VPS跑Uptime Kuma专门做监控。两台月总成本不到20元。

常见问题

Uptime Kuma的内存占用会越来越大?

默认数据库SQLite,监控历史数据多了体积会涨。在设置里调”保留历史天数”,建议90天——太短没历史曲线可看、太长数据库太大。或者定期手动清理docker exec uptime-kuma rm /app/data/kuma.db再做compact。

怎么监控带登录态的页面?

HTTP监控默认不带Cookie。需要登录的页面选”HTTP(s)-Keyword”类型,或者用脚本方式:写一个curl命令定时执行并判断返回内容,然后把结果传到Uptime Kuma的Push监控类型(被动接收心跳)。

监控频率设多少合适?

60秒对大多数场景足够。付费商业服务(比如Pingdom、UptimeRobot)通常也是60秒。频率小于30秒对VPS和被监控网站都会造成额外负担,反而可能导致超时误报。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

VPS突然连不上,SSH断掉、网站打不开、面板也进不去——如果你正在经历这个,大概率是被DDoS了。这时候慌没用,按下面的步骤走,先止血再恢复。 怎么判断是不是DDoS攻击 不是所有的连不上都是DDoS。先排除几个常见情况:服务器欠费被停了

用雨云 KVM 云服务器 Docker 自建 Uptime Kuma 监控面板,支持 HTTP/Ping/TCP 监控与 Telegram/钉钉告警,服务宕机第一时间知道。含误报调优与优惠码 admin01 五折。

VPS用着用着突然变卡,网站打开要好几秒、SSH敲命令有明显延迟——这种情况比完全断连更难排查。不是挂了,是慢了。本文用四个命令分别定位CPU、内存、磁盘IO和网络的瓶颈,告诉你性能卡在哪个环节。 排查前的第一步:确认不是自己的网络问题 很

VPS突然抽风——SSH连不上、控制台显示”Unknown”、机房通知物理机故障。慌的时候容易把本来就复杂的事情搞得更乱。本文是一份冷静状态下写好的恢复清单——按步骤走,二十分钟内把服务迁到新机器上。 第一步:确认挂到什么程度 先别急着重建