小企业信息化系统开发
小微企业用 Uptime Kuma 自建服务监控与宕机告警:网站、接口、SSL 证书与心跳检测
2026年10月7日
用 Uptime Kuma 监控网站、接口与证书,宕机时多渠道实时告警。
小微企业用 Uptime Kuma 自建服务监控与宕机告警:网站、接口、SSL 证书与心跳检测
摘要
小企业上线了官网、小程序后台、内部系统之后,最怕的是"客户先发现你挂了"。本文用开源的 Uptime Kuma 自建一套监控,覆盖网站可达性、API 接口健康、SSL 证书到期和端口存活,并在宕机时通过企业微信、飞书、邮件多渠道实时告警。
为什么小企业需要自己的监控
很多小微企业把系统部署好就以为完事了,直到某天客户反馈"网站打不开"才发现服务已经挂了几小时。云厂商的告警往往要付费或配置复杂,而企业自己需要一个零成本、5 分钟能看、宕机立刻叫人的工具。Uptime Kuma 正好满足——单文件 Docker 部署,自带漂亮仪表盘,通知渠道覆盖主流 IM。
它能监控的不只是"网页打不打开",还包括:HTTP 状态码是否正确、接口返回的 JSON 里有没有某个关键字、TCP 端口是否存活、Ping 是否通、SSL 证书还有几天过期。对小企业来说,光是"证书到期提前 14 天提醒"这一项就值回票价。
一、用 Docker 部署 Uptime Kuma
准备一台常开、网络稳定的主机(1 核 1G 的小机器即可),执行:
docker run -d --name uptime-kuma -p 3001:3001 -v uptime_kuma:/app/data louislam/uptime-kuma:1
首次访问 http://主机IP:3001 会要求创建管理员账号,务必设置强密码并开启两步验证。数据卷 uptime_kuma 存了所有监控配置和账号,备份时只备份这个卷即可。
重要建议:不要把 Uptime Kuma 放在被监控的同一台机器上。监控机自己挂了,就收不到"被监控机挂了"的告警,等于没监控。条件允许就用另一台云主机或家里的 NAS 分开部署,两地互监最稳。
二、添加第一个监控项(网站/接口)
点 Add New Monitor,类型选 HTTP(s),填入 https://你的域名。关键配置:
- Heartbeat Interval(检测间隔):对外业务建议 60 秒,内部系统可放宽到 5 分钟。
- Status Code:默认认为 200~299 为正常;若接口返回 201 也正常,把 201 加进允许列表。
- Keyword/Regex:勾选"Required keyword",填入接口响应里必含的字符串(如
ok),这样即使返回 200 但内容是错误页,也会被判为失败。 - Retries(重试):设为 1~2,避免网络抖动误报。
对 API 接口,建议用 GET 一个轻量 health 端点(如 /api/health),而不是打业务接口,既真实又不给数据库加压。
三、SSL 证书到期提醒
选 HTTPS 监控后,Uptime Kuma 会自动读取证书,并在剩余天数低于设定阈值时告警。在 Monitor 设置里把 Certificate Expiry 阈值设为 14 天。配合反向代理的自动续签,基本能做到证书"无声无息"地续上,你只会在异常时才收到提醒,避免证书过期导致全站 HTTPS 不可用的尴尬。
四、心跳与关键字检测
除了网页,还该监控:
- TCP / Ping:监控数据库、Redis、SSH 端口是否还活着,类型选 TCP/Ping,填内网 IP 和端口。
- Keyword 检测:对登录页用关键字匹配,防止"能打开但白屏"。
- Docker 容器:可挂载
docker.sock让 Uptime Kuma 直接读容器状态,容器退出立即告警。
五、多渠道告警通知
Settings → Notifications 里添加通知方式,推荐组合:
- 企业微信群机器人:复制 webhook 地址即可,宕机消息直接进运维群。
- 飞书/Lark:同样支持 webhook,配置方式类似。
- Email (SMTP):作为兜底,IM 挂了还能收邮件。
- Telegram / Bark:手机端即时推送,适合负责人随身。
通知内容里会写清"哪个 Monitor、持续多久、最后一次正常时间",排障时省去猜测。建议至少配两个渠道,且其中一个不依赖被监控的同一套网络。
六、监控策略建议
- 对外业务(官网、小程序):60 秒间隔 + 关键字检测 + 双渠道告警。
- 内部系统(ERP、CRM):5 分钟间隔即可,避免频繁打扰。
- 证书:统一 14 天阈值,提前处置。
- 定期演练:手动停一个测试服务,确认告警真的能收到,别等真出事才发现通知没配好。
小结
Uptime Kuma 用极低的成本把"系统健康"这件事从被动变主动:网站挂了、接口假死、证书快过期,你都会在客户之前收到提醒。小企业不必上 Zabbix、Prometheus 那套重武器,先用这一个 Docker 容器把核心服务盯住,就已经超过大多数同行的运维水位了。