
实战用Checkmate实现服务器监控——附生产避坑清单【免费下载链接】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. Dont be shy, join here: https://discord.com/invite/NAb6H3UTjK :)项目地址: https://gitcode.com/GitHub_Trending/checkm/CheckmateCheckmate 是一款开源自托管服务器监控工具解决服务挂了多久才有人知道的问题。按这篇走完你能用 Docker 五分钟部署一套监控系统并把它安全地上到生产。 ① 先搞懂它Checkmate到底能干什么可用性监控对目标做 HTTP、Ping、端口、SSL、DNS 探测连续失败达阈值自动转故障并记录事件硬件采集部署 Capture agent 后拉取各台服务器的 CPU、内存、磁盘和温度告警通知邮件、Webhook、Discord、Slack、Telegram、短信等 12 个渠道推送状态页与事件4 套主题的公开状态页故障自动建事件、恢复后自动关闭 ② 5分钟跑起来最简部署路径先克隆仓库进入docker/目录。这里的 compose 直接拉官方一体化镜像不需要本地构建git clone https://gitcode.com/GitHub_Trending/checkm/Checkmate cd Checkmate/docker然后生成一个随机的 JWT_SECRET 并启动compose 强制要求该变量空值会直接报错JWT_SECRET$(openssl rand -hex 32) docker compose up -d起来后是两个容器容器端口职责checkmate52345一体化镜像Web 界面、API、检查调度mongodb27017MongoDB 8.0存全部监控数据现在打开http://localhost:52345注册一个账号应该就能看到监控面板了随手加一个网站监控一分钟内出第一次检查结果。⚠️ ③ 生产环境别踩这些坑JWT_SECRETtoken 签名密钥compose 强制非空用openssl rand -hex 32生成别跨环境复用。CLIENT_HOST用户实际访问的地址含域名影响 CORS 和告警邮件里的链接设成你的生产域名。TLS 终结52345是裸 HTTP前面挂 nginx/Caddy/Traefik仓库里有现成的网关示例 docs/hosting/checkmate-so/docker-compose.yaml。mongo-data 卷账号和监控数据都在这用命名卷固定路径升级时别把数据目录删了。Docker socket要监控宿主机容器就只读挂载/var/run/docker.sock到应用容器不需要就别给。 ④ 功能配置速查网站监控配什么在哪配关键参数目标与协议监控页新建监控http / ping / port / ssl / dns / grpc / game / pagespeed检查间隔监控表单interval单位毫秒默认600001 分钟故障判定statusWindowSize/statusWindowThreshold回看 1–20 次默认5失败率阈值 1–100%默认60%正常判定customUpCodes把额外 HTTP 状态码视为存活硬件采集硬件监控需要先在被监控服务器上装 Capture agentGo 编写Linux/Windows/macOS/树莓派都能跑再在监控表单里填 agent 地址配什么关键参数端口与密钥59232端口API_SECRET两端一致阈值告警cpuAlertThreshold/memoryAlertThreshold/diskAlertThreshold/tempAlertThreshold默认100磁盘选择selectedDisks只监控指定挂载点告警通知与状态页渠道在通知页配Email、Webhook、Discord、Slack、PagerDuty、Teams、Telegram、Pushover、Twilio 短信等监控表单里把渠道挂到具体监控状态页在状态页模块创建4 套主题任选计划内操作先在维护窗口页建窗口避免告警误报 ⑤ 资源消耗与性能参考官方压测每分钟检查 323 台服务器时Node 实例内存占用极小同机 MongoDB 约 400MB、Redis 约 15MB1000 监控项可稳定运行。起步规格 1 核 2GB 内存、20GB 磁盘够用规模上千再上 2 核 4GB。❓ ⑥ FAQ部署时你可能遇到的3个问题Q52345 端口冲突怎么改把 docker/docker-compose.yaml 里 ports 映射左边改成8080:52345重启即可用域名访问的话同步改CLIENT_HOST。Q监控数据怎么备份数据全在 MongoDB 里在 compose 目录执行docker compose exec mongodb mongodump --archive backup-$(date %F).gz定期归档或直接定期备份 mongo-data 卷目录。QARM 架构树莓派能部署吗能。官方支持树莓派 4/5 等 ARM 设备同一份 compose 文件直接用Pi 内存建议 1GB 以上。Checkmate 把可用性监控、硬件采集、事件管理和状态页装进一个两个容器就能跑起来的自托管方案里私有化部署没有门槛。建议先在开发机把docker/docker-compose.yaml跑通、加两三个监控项验证告警链路再上生产。【免费下载链接】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. Dont be shy, join here: https://discord.com/invite/NAb6H3UTjK :)项目地址: https://gitcode.com/GitHub_Trending/checkm/Checkmate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考