Checkmate 部署:30 分钟在你自己的服务器上架起 24 小时监控
【免费下载链接】CheckmateCheckmate is an open-source, self-hosted tool designed to track and monitor server hardware, uptime, response times, and incidents in real-time with beautiful visualizations. Don't be shy, join here: https://discord.com/invite/NAb6H3UTjK :)项目地址: https://gitcode.com/GitHub_Trending/checkm/Checkmate
凌晨两点的线上事故,靠人盯日志是盯不住的。你需要的不是另一块云厂商的仪表盘,而是一台自己能控制的服务器监控面板。Checkmate 就是干这个的:开源、自托管,盯着硬件指标、在线时长、响应时间和事件,数据全部落在你自己的机器上。
两条命令,把 Checkmate 跑起来
别急着改配置。先让它跑:
git clone https://gitcode.com/GitHub_Trending/checkm/Checkmate cd Checkmate && curl -O docker/docker-compose.yaml JWT_SECRET="$(openssl rand -hex 32)" docker compose up -d打开 http://localhost:52345,登录页就是终点。这个端口同时服务 Web 界面和 API,没有第二个要记的地址。浏览器里能看到什么:新建监控的表单、状态卡片、响应时间图表。整个编排只有两个服务——一个应用镜像和 MongoDB,数据库就绪后应用才启动,生产编排文件 里写得很直白。
它到底在盯什么
网站挂了,谁来喊你
HTTP 检查持续戳你的 URL,记录状态码和响应时间,同时盯着 SSL 证书的有效期。证书还有几天到期,它会提前告诉你,而不是等浏览器弹出警告。触发后事件自动开档,告警走邮件、Webhook、Discord、Slack、Telegram 等 13 个渠道,实现都摆在 通知渠道实现 里。再配一个计划维护窗口,升级窗口内的抖动就不会炸你的群。
CPU 飙到 90%,你看得到什么
Checkmate 本体不直接读硬件。在被监控的机器上装一个 Capture 代理,CPU、内存、磁盘、网络、温度的数据就进来了,磁盘还能按挂载点选择监控范围。装代理只花几分钟,换来的是每台机器实时指标。
Docker 容器在不在场
Docker 监控连接 daemon 后,每次检查记录全部容器的状态、CPU、内存和重启次数。勾选日志收集,每个容器留最近 200 行日志,保存 7 天。本地走 unix socket,远程 daemon 走 TLS,证书密钥入库前会加密。
开发机到生产,切换的三样东西
开发阶段,开发环境编排文件 从源码构建出应用、独立 worker 和 MongoDB 三件套,数据落在本地目录。
生产阶段换用现成官方镜像,MongoDB 挂命名卷持久化,启动前做 ping 健康检查。三样必须想清楚:JWT_SECRET显式注入、CLIENT_HOST指向真实访问地址、NODE_ENV=production打开限流;要存 Docker TLS 密钥再加ENCRYPTION_KEY。TLS 本身不在应用里做,前面架一层 Caddy、Traefik 或 nginx 即可。
踩坑与调优
52345 被占:容器起不来,端口冲突是常态。原因通常是本机已有服务占了它,把映射改成空闲端口再 up。
忘设 JWT_SECRET:compose 会直接报错拒启,这是故意设计。用openssl rand -hex 32生成一个写进环境里,别手敲。
数据重启就没了:开发编排的数据目录是相对路径,机器一换历史全丢。生产用命名卷,就是为这一刻准备的。
ARM 机器拉镜像失败:官方镜像是 x86_64,树莓派这类设备要自己docker build,源码构建一次即可。
资源占用不用焦虑:官方压测过 1000+ 并发监控器,323 台服务器每分钟一检时,Node 实例内存占用很小,同机 MongoDB 约 398MB,一台普通服务器直接扛住。
现在改好 compose 里的端口和密钥,docker compose up -d,然后去浏览器建第一个监控,看第一块状态卡片亮起来。
【免费下载链接】CheckmateCheckmate is an open-source, self-hosted tool designed to track and monitor server hardware, uptime, response times, and incidents in real-time with beautiful visualizations. Don't be shy, join here: https://discord.com/invite/NAb6H3UTjK :)项目地址: https://gitcode.com/GitHub_Trending/checkm/Checkmate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考