Checkmate 自托管监控工具:从零代码到新功能的 3 档贡献清单
2026/9/16 18:36:54 网站建设 项目流程

Checkmate 自托管监控工具:从零代码到新功能的 3 档贡献清单

【免费下载链接】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 就是用来解决这类"发现太晚"的问题。它定期探测目标状态,状态一变就自动记入事故列表并触发告警。

核心能力有 4 条:

  • 多种探测方式:HTTP(含 SSL 证书到期检查)、Ping、端口、DNS、Docker 容器、gRPC、WebSocket、游戏服务器
  • 实时告警:支持邮件、Discord、Slack、Telegram 等十余种通知渠道
  • 状态页:自带可公开分享的服务状态页,提供多种主题
  • 硬件监控:配合官方 Capture agent 采集目标机器的 CPU、内存、磁盘、温度

先跑起来

前提只有一样:机器上装好 Docker。

git clone https://gitcode.com/GitHub_Trending/checkm/Checkmate cd Checkmate
cd docker JWT_SECRET=$(openssl rand -hex 32) docker compose up -d

启动后浏览器打开 http://localhost:52345 ,即可注册账号并开始创建第一个监控。

这是监控面板的主题切换动画。主界面包含监控列表、响应时间统计图和事故视图,新建监控只需在界面上选探测方式并填地址。

项目地图

路径说明
client/React 前端,页面与组件都在 client/src/ 下
server/src/api/后端 API 层:路由、控制器、中间件、参数校验
server/src/domain/领域层:monitor、incident、notification 等仓储与服务
server/src/service/network/各探测方式实现,如 HttpProvider.ts、PingProvider.ts
server/test/单元测试与集成测试,基于 Jest
client/src/locales/翻译文件,每种语言一个 JSON,en.json 是基准
docker/生产与开发两套 Compose 部署配置
docs/安装、自定义 CA、翻译贡献等指南
CONTRIBUTING.md贡献规范,上手前建议先通读
docs/coding-conventions.md前后端代码风格约定

按难度选贡献 🧭

零代码档(新手从这里开始)

  1. 报 issue:先搜已有 issue,确认没人提过再新建,写清复现步骤、期望行为和实际表现
  2. 修文档:改错别字、补示例、澄清步骤,小改动可直接提 PR
  3. 翻译:改 client/src/locales/ 下对应语言的 JSON,保持与 en.json 相同的键结构

轻代码档

  1. 挑一个 good-first-issue 并留言认领
  2. 从 develop 分支切出新分支
  3. 修一个小 bug,或在 server/test/ 下补测试用例
  4. 本地跑通后开 PR

深度档(新功能)

  1. 先读 docs/coding-conventions.md 里的"找同级文件"原则,理解现有分层
  2. 在 issue 里先把方案说清楚,维护者认可后再动手
  3. 新探测方式参考现有 Provider 的结构写,新页面参考现有页面写

协作规范

代码风格:ESLint 加 Prettier,在 client 和 server 两个目录分别跑npm run lintnpm run format-check。变量用 camelCase,组件用 PascalCase。界面上可见的文字一律走翻译函数,不能硬编码字符串。

测试要求:服务端已有完整的单元与集成测试,新功能请配套补测试,写法参照 server/test/ 里同类文件。涉及界面改动的 PR 必须附截图或录屏。

PR 流程:分支从 develop 切出,PR 也提回 develop(master 只放稳定版)。一个 PR 只处理一个 issue,保持小而专注,PR 描述里写上关联的 issue 编号。

结尾行动 🚀

你的第一个动作很简单:按上面两步把 Checkmate 跑起来,注册一个账号,亲手建一个 HTTP 监控看看事故面板长什么样。然后挑最轻的一件事——提一个 issue、修一个文档错别字、或补一段翻译——开出你的第一个 PR。卡住了先看 CONTRIBUTING.md,维护者对新人提问回复得很积极。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询