ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Checkmate 自托管服务器监控:从 10 分钟跑起来到参与贡献的完整指南

Checkmate 自托管服务器监控:从 10 分钟跑起来到参与贡献的完整指南 Checkmate 自托管服务器监控从 10 分钟跑起来到参与贡献的完整指南【免费下载链接】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 是一个开源的自托管监控工具用于实时追踪服务器运行状态uptime、响应时间、硬件指标与故障事件incidents并提供可视化仪表盘和状态页。它适合想自建监控面板的运维人员、家庭服务器玩家以及想通过真实项目学习前后端开发的贡献者。整个仓库包含 React 前端client/与 Node.js 后端server/单镜像即可部署官方已验证可稳定承载 1000 个以上监控项。它解决什么问题从服务挂了谁发现说起自建服务最大的痛点不是功能而是出事了没人知道。Checkmate 的监控闭环是定时执行检查 → 记录成功/失败与响应时间 → 按你配置的阈值判断状态变化 → 状态翻转时自动创建或解决事件 → 按配置推送通知。监控类型覆盖常见的场景HTTP 检查附带 SSL 证书到期提醒适合网站与 APIPing / 端口 / DNS网络层与域名解析监控Docker 监控连接本机或远程 Docker daemon报告每个容器的状态、健康度、CPU/内存占用可选开启容器日志采集gRPC、WebSocket、游戏服务器特定协议的存活检查页面速度监控页面加载性能硬件指标内存、磁盘、CPU、温度需要搭配官方的 Capture agent 部署在被监控主机上配套能力包括 5 套主题的状态页、计划维护窗口、以及邮件、Webhook、Slack、Discord、PagerDuty、Telegram 等十几类通知渠道。用 Docker Compose 把 Checkmate 跑起来前置条件只有两个机器上装有 Docker 和 Git。最快的路径是仓库自带的参考 Compose 文件 docker/docker-compose.yaml它一次性启动两个服务Checkmate 应用镜像和 MongoDB。git clone https://gitcode.com/GitHub_Trending/checkm/Checkmate cd Checkmate/docker JWT_SECRET$(openssl rand -hex 32) docker compose up -d然后浏览器打开http://localhost:52345即可看到监控面板。几个容易踩的配置点JWT_SECRET必须设置可用openssl rand -hex 32生成CLIENT_HOST应填用户实际访问的域名或局域网地址它会影响 CORS 与通知邮件里的链接如果 API 通过反向代理暴露在其他端口调整PORT即可健康检查端口是52346想监控本机 Docker 容器需要把/var/run/docker.sock挂载进容器并给予相应权限README 中有现成的 YAML 片段Kubernetes 用户可以看 charts/helm/checkmate/ 下的 Helm chart 及其安装说明私有 CA 环境的自签证书信任问题参考 docs/custom-ca-trust.md。看懂源码结构核心代码在哪里仓库是前后端一体的结构按功能找文件比通读效率高目录职责client/React MUI 前端页面在client/src/Pages/公共组件在client/src/Components/server/src/domain/领域模型与数据访问按 monitors、incidents、checks、notifications 等实体分目录server/src/api/Express 路由、控制器与请求校验server/src/service/network/各协议检查器的实现如 HttpProvider、PingProvider、PortProvider、DockerProviderserver/src/worker/任务调度与检查执行流水线监控结果在这里被评估为 up/downserver/test/测试入口分unit/与integration/两类docs/使用文档、多语言 README 与编码约定docs/coding-conventions.md理解监控逻辑时建议从 server/src/worker/worker.check-evaluator.ts 入手它对应阈值判断 → 状态变化 → 事件这一核心链路要加一种新的检查协议则看 server/src/service/network/ 下现有的 Provider 是怎么写。本地开发环境跑通前后端和测试贡献代码前建议先能本地运行并跑通测试。环境要求Node.js 20、npm、Docker、Git。后端先起一个 MongoDBdocker run -d -p 27017:27017 -v uptime_mongo_data:/data/db --name uptime_database_mongo mongo:8.0 cd server npm install在server/下创建.env最少需要DB_CONNECTION_STRING、JWT_SECRET、CLIENT_HOST三个变量然后npm run devAPI 起在http://localhost:52345接口文档在同源的/api-docs。前端另开一个终端cd client npm install npm run dev浏览器访问http://localhost:5173。如果端口冲突先检查 5173、52345、27017 是否被占用。测试方面server/test/ 下的用例用 Jest 组织常用命令在server/内执行npm run test:unit # 单元测试 npm run test:integration # 集成测试修改前先跑一遍对应模块的测试确认基线是绿的再提交改动。按难度选择贡献入口 不必一上来就改核心逻辑按投入从轻到重大致有这么几档翻译界面文案集中在 client/src/locales/每个语言一个 JSON 文件en.json是基准。保持 key 结构不变、只改值即可是门槛最低的上手方式。文档错别字、表述不清的步骤、缺失的示例都可以提README 的多语言版本在 docs/translations/。改动范围较大的文档重构建议先提 issue 对齐思路。good first issue仓库维护了good-first-issue标签认领前先在 issue 下留言说明你要参与已有他人认领超过 7 天没有进展时也可以请求分配。功能与修复从develop分支切出个人分支命名如fix/login-error完成后提 PR 到develop。编码细节遵循 CONTRIBUTING.md 与 docs/coding-conventions.md要点是用户可见文本必须走t(key)国际化、样式走共享主题、变量驼峰、组件名 PascalCase。提交 Issue 或 PR 前检查什么Issue先搜索是否已有人报告有则追加评论而不是重复开单。描述里写清发生了什么、预期是什么、复现步骤附日志或截图会显著加快排查。PR项目方要求每个 PR 只解决一个问题并且通过client/与server/两侧的检查npm run lint npm run format-checkformat-check报错时先用npm run format修复。涉及界面改动的 PR 请附截图或录屏PR 描述中用Fixes #123关联 issue 编号。完整清单见 CONTRIBUTING.md 的 Pull request checklist 一节。社区协作与长期参与项目团队通过 Discord 频道与贡献者直接交流卡住时优先去那里提问核心维护者和普通贡献者都在同一频道里互助。分支模型很简单develop接收日常开发master只承载稳定版本。下一步建议先用 Docker Compose 在本机或树莓派上部署一个 Checkmate 实例把家里一两台设备加进监控体验状态页和通知流程跑起来之后顺手认领一个翻译或good-first-issue标签的 issue就是参与这个项目的最短路径。【免费下载链接】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),仅供参考
返回列表