实时监控+多级告警!服务器负载高/接口超时/SSL 证书过期统统不再慌,谷歌微软工程师也偷偷收藏的开源监控神器

Posted by Mike on 2025-09-11

你是否曾为服务器宕机而焦头烂额?或者因为性能问题被老板追着问?

别担心,今天我要带你认识一个开源神器——Checkmate!它不仅能实时监控你的服务器,还能用炫酷的可视化界面让你一目了然。

无论你是 IT 大牛还是科技爱好者,这款工具都能让你轻松上手,省心又省力!快来一起看看它的魅力吧!

什么是 Checkmate?

Checkmate 是一个开源、自托管的服务器监控工具,由 BlueWave Labs 开发。它能实时追踪服务器的硬件状态、网站可用性、响应时间和故障事件。简单来说,它就像是你服务器的“私人医生”,随时为你提供健康报告。

更棒的是,Checkmate 完全免费!它的代码托管在 GitHub 上,社区活跃,更新频繁。想为自己的服务器加个“健康助手”?Checkmate 绝对值得一试!

Github 开源仓库地址:https://github.com/bluewave-labs/Checkmate

核心功能:简单又强大

Checkmate 的核心功能可以概括为三点:

  • 网站和服务监控:通过 HTTP/HTTPS 或 Ping 检查服务器的可用性和响应时间,确保你的网站或 API 随时在线。

  • 硬件监控:通过配套的 Capture 代理,Checkmate 可以监控服务器的 CPU、内存、磁盘和温度等硬件指标。

  • 实时告警:当服务器出现问题时,Checkmate 会通过邮件等方式即时通知你,未来还将支持短信和推送通知。

  • 美观的可视化:用直观的图表展示服务器性能和故障信息,让你一看就懂。

  • 高效性能:Checkmate 经过压力测试,可同时监控 1000+ 个服务,运行稳定,资源占用低。

这些功能让 Checkmate 成为监控服务器的得力助手,尤其是对需要管理多台服务器的 IT 从业者来说,简直是救星!

为什么选择 Checkmate?

想象一下,你的服务器突然宕机,客户投诉,领导责问,而你却一无所知。有了 Checkmate,这种尴尬场景将不再发生!它不仅能帮你实时监控,还能通过美观的界面展示数据,让你随时掌握服务器状态。更重要的是,它开源免费,社区支持强大,功能不断更新。

Checkmate 的设计理念是简单高效。它的前端基于 React 和 Material UI,后端轻量级,运行流畅。你甚至可以用树莓派运行它的 Capture 代理,轻松监控远程服务器。

安装 Checkmate:多种方式任你选

安装 Checkmate 非常简单!以下是两种主要方法:手动安装和使用 Docker Compose,适合大多数 Linux 系统。Windows 和 Mac 用户也可以通过 Docker 运行。

方法 1:手动安装

步骤 1:克隆仓库

首先,你需要从 GitHub 获取 Checkmate 的代码。打开终端,输入以下命令:

1
2
3
git clone https://github.com/bluewave-labs/checkmate.git

cd checkmate

步骤 2:配置环境

serverclient 目录下分别创建 .env 文件,用于存储环境变量。以下是一个简单的配置示例:

server/.env

1
2
3
MONGODB_URL=mongodb://localhost:27017/checkmate

PORT=5000

client/.env

1
2

UPTIME_APP_API_BASE_URL=http://localhost:5000/api/v1

步骤 3:启动数据库

Checkmate 需要 MongoDB 和 Redis 作为数据库支持。你可以用 Docker 快速启动它们:

1
2
3
4
5
6
7
8

docker build -f ./docker/dev/mongoDB.Dockerfile -t uptime_database_mongo .

docker build -f ./docker/dev/redis.Dockerfile -t uptime_redis .

docker run -d -p 27017:27017 -v $(pwd)/mongo/data:/data/db --name uptime_database_mongo uptime_database_mongo

docker run -d -p 6379:6379 -v $(pwd)/redis/data:/data --name uptime_redis uptime_redis

步骤 4:启动服务

server 目录下运行:

1
2
3
4

npm install

npm run dev

接着,在 client 目录下运行:

1
2
3
4

npm install

npm run dev

现在,打开浏览器,访问 http://localhost:80,你就可以看到 Checkmate 的界面啦!

方法 2:使用 Docker Compose(推荐)

如果你更喜欢一键部署,Docker Compose 是你的好帮手!Checkmate 提供了官方的 Combined FE/BE Docker 安装方式,将前端和后端集成在一个镜像中,简化部署流程。以下是具体步骤,基于官方文档:

步骤 1:克隆仓库

与手动安装相同,先克隆代码:

1
2
3
4

git clone https://github.com/bluewave-labs/checkmate.git

cd checkmate

步骤 2:创建 Docker Compose 文件

在项目根目录下,创建一个 docker-compose.yml 文件,内容如下(基于官方文档):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

version: '3.8'

services:

server:

image: ghcr.io/bluewave-labs/checkmate-backend-mono:latest

restart: always

ports:

- "52345:52345"

environment:

- UPTIME_APP_API_BASE_URL=http://localhost:52345/api/v1

- UPTIME_APP_CLIENT_HOST=http://localhost

- DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db

- CLIENT_HOST=http://localhost

- JWT_SECRET=my_secret

depends_on:

- mongodb

mongodb:

image: ghcr.io/bluewave-labs/checkmate-mongo:latest

restart: always

command: ["mongod", "--quiet", "--bind_ip_all"]

volumes:

- ./mongo/data:/data/db

healthcheck:

test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')", "--quiet"]

interval: 5s

timeout: 30s

start_period: 0s

start_interval: 1s

retries: 30

步骤 3:启动服务

确保已安装 Docker 和 Docker Compose,然后运行:

1
2

docker-compose up -d

这将自动拉取 Checkmate 的后端镜像和 MongoDB 镜像,启动所有服务。完成后,访问 http://localhost:52345,即可进入 Checkmate 界面。

配置说明

  • UPTIME_APP_API_BASE_URL:指向服务器的 API 地址,默认 http://localhost:52345/api/v1

  • UPTIME_APP_CLIENT_HOST:用于构建指向客户端的链接,默认 http://localhost

  • CLIENT_HOST:API 服务器接受请求的来源,默认 http://localhost

  • DB_CONNECTION_STRING:MongoDB 连接字符串,指向容器内的 MongoDB 服务。

  • JWT_SECRET:用于认证的密钥,建议替换为自定义的强密钥。

如果你的 Checkmate 实例部署在非本地机器(例如云服务器 IP 为 143.110.231.94),更新环境变量如下:

1
2
3
4
5
6
7
8
9
10
11
12

environment:

- UPTIME_APP_API_BASE_URL=http://143.110.231.94:52345/api/v1

- UPTIME_APP_CLIENT_HOST=http://143.110.231.94

- DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db

- CLIENT_HOST=http://143.110.231.94

- JWT_SECRET=my_secret

步骤 4:验证和数据持久化

  • 访问 http://localhost:52345(或你的服务器 IP)确认服务正常运行。

  • 数据会保存在 ./mongo/data 目录下,升级时保留此目录可确保数据不丢失。

  • 建议定期备份 ./mongo/data 目录,以防止意外数据丢失。

额外提示

  • 安全性:公网部署时,为 MongoDB 配置认证,防止未授权访问。

  • 升级:重新拉取最新镜像(docker-compose pull)并运行 docker-compose up -d,确保挂载相同的 ./mongo/data 目录以保留数据。

  • 停止服务:使用 docker-compose down 停止并删除所有容器,清理环境。

安装注意事项

  • Combined FE/BE Docker 方式适合快速部署,推荐给大多数用户。

  • Separate FE/BE Docker 方式适合需要独立管理前端和后端的场景,但配置稍复杂。

  • 公网部署时,记得为 MongoDB 和 Redis(如果使用)配置认证,增强安全性。

  • 如果你使用 Coolify、Elestio 或 K8s 等平台,Checkmate 也支持一键部署,省时省力。

安装 Capture 代理:硬件监控的利器

想监控服务器的硬件状态?那你需要安装 Checkmate 的 Capture 代理。它可以收集 CPU、内存、磁盘和温度等信息,适用于 Linux、Windows、Mac 和树莓派等设备。

安装步骤

  1. 拉取 Capture 镜像
1
2

docker run -d -v /etc/os-release:/etc/os-release:ro -p 59232:59232 -e API_SECRET=your-secret-key ghcr.io/bluewave-labs/capture:latest
  1. 配置 API 密钥

your-secret-key 替换为自定义密钥,并在 Checkmate 的基础设施监控面板中输入相同的密钥。

  1. 验证连接

确保 Capture 运行在端口 59232 上,并与 Checkmate 服务器通信正常。

你也可以从 GitHub Releases 页面下载预编译的 Capture 二进制文件,直接运行。

使用 Checkmate:简单到飞起

创建监控

  1. 登录 Checkmate(默认用户:uptimedemo@demo.com,密码:Demouser1!)。

  2. 进入“监控”页面,点击“创建”。

  3. 输入要监控的 URL(如 https://your-website.com)。

  4. 选择监控类型(网站、Ping 或 Docker 容器)。

  5. 设置检查频率(默认 1 分钟)。

  6. 配置告警方式(如邮件通知)。

查看数据

  • 仪表盘:展示所有监控的概览,包括可用性和响应时间。

  • 事件页面:查看故障历史,支持按时间段过滤。

  • 日志页面:检查任务队列和服务器日志,便于调试。

高级功能

  • 通知渠道:统一管理通知设置,关联到多个监控。

  • 状态页面:自定义显示 IP/URL 或管理员登录链接。

  • Docker 监控:实验性功能,需暴露 Docker 守护进程。

社区热议:Checkmate 的魅力

Checkmate 在 GitHub 上收获了近 8000 星,社区活跃,超过 30 名贡献者参与开发。Reddit 用户称它为“简单易用的服务器监控神器”,Hacker News 上有人赞叹它的 UI 设计“美观又直观”。

一位开发者在 GitHub Discussions 中分享:“Checkmate 让我从繁琐的监控工作中解放出来,界面还好看,客户都夸我专业!” 还有用户表示,Capture 代理的轻量级设计让它在树莓派上跑得飞快,性价比无敌。

为什么你会爱上 Checkmate?

  • 开源免费:零成本享受企业级监控功能。

  • 社区驱动:每周更新,bug 修复快,功能不断增加。

  • 易用性:小白也能快速上手,界面友好。

  • 跨平台:支持多种设备和系统,灵活部署。

无论你是运维工程师、开发人员,还是对服务器管理感兴趣的爱好者,Checkmate 都能帮你省时省力。它就像一个随时待命的助手,帮你盯着服务器,让你安心做其他事。

如何贡献和获取支持?

Checkmate 欢迎社区贡献!想添加新功能或修复 bug?直接在 GitHub 上提交 Pull Request。如果你是新手,可以看看“good-first-issue”标签,快速上手。

遇到问题?加入 Checkmate 的 Discord 社区(https://discord.com/invite/NAb6H3UTjK),与开发者和其他用户交流。官方文档(https://docs.checkmate.so/)也有详细指南,解决你的疑惑。

未来展望

Checkmate 还在不断进化!开发团队计划推出 DNS 监控、增强通知和更强大的状态页面功能。他们承诺保持工具轻量,避免功能冗余,让用户体验始终简洁高效。

总结:立即尝试 Checkmate!

Checkmate 是一款简单、强大、免费的服务器监控工具。它能帮你实时掌握服务器状态,减少宕机带来的麻烦。无论是手动安装还是 Docker Compose 的 Combined FE/BE 部署,Checkmate 都能让你快速上手。快去 GitHub 克隆代码,试试看吧!

用过 Checkmate 后,你会发现监控服务器原来可以这么简单!快把这个神器分享给你的朋友,一起提升工作效率,摆脱宕机烦恼!有什么使用心得?欢迎在评论区留言,或者加入 Discord 社区和我们聊聊!