在项目部署上线后,少不了需要使用监控工具来监控服务器的状态。市面上的监控工具有的界面老旧,有的配置复杂。今天给大家分享一款现代化的开源监控工具
Checkmate
,堪称开源监控的新标杆!
简介
Checkmate是一款开源的服务器监控工具,主要用于实时监控服务器硬件、应用运行状态、网站响应时间等性能指标,目前在Github上已有7.8k+Star
。
Checkmate的主要特性如下:
- 自托管:完全开源,支持部署到自己的服务器上。
- 网站监控:支持监控网站运行状态、性能、网页响应速度和跨区域可用性。
- 硬件监控:支持通过Capture插件来监控服务器的CPU、内存、磁盘使用情况和系统性能。
- Docker监控:能实时监控容器的运行状态、资源使用和性能指标。
- 网络监控:通过自定义的Ping检查来监控网络延迟和可用性。
下面是Checkmate使用过程中的效果图,界面还是挺炫酷的!

安装
使用Docker来安装Checkmate是非常方便的,我们将采用此种方式。
- Checkmate分为客户端和后端两部分,我们可以通过如下命令下载两个镜像;
bash
docker pull ghcr.io/bluewave-labs/checkmate-client:latest
docker pull ghcr.io/bluewave-labs/checkmate-backend:latest
- 由于
checkmate-backend
需要依赖MongoDB,我们可以先用如下命令运行MongoDB容器;
bash
docker run -p 27017:27017 --name mongo \
-v /mydata/mongo/db:/data/db \
-d mongo:4
- 然后通过docker-compose命令来同时运行
checkmate-client
和checkmate-backend
容器,运行脚本如下;
yaml
services:
client:
image: ghcr.io/bluewave-labs/checkmate-client:latest
environment:
UPTIME_APP_API_BASE_URL: "http://192.168.3.101:52345/api/v1"
UPTIME_APP_CLIENT_HOST: "http://192.168.3.101"
ports:
- "80:80"
- "443:443"
depends_on:
- server
server:
image: ghcr.io/bluewave-labs/checkmate-backend:latest
ports:
- "52345:52345"
environment:
- DB_CONNECTION_STRING=mongodb://192.168.3.101:27017/uptime_db
- CLIENT_HOST=http://192.168.3.101
- JWT_SECRET=my_secret
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- 将脚本上传到服务器的指定位置,通过如下命令
docker-compose -f checkmate.yml up -d
来运行脚本;

- 运行成功后即可访问Checkmate的网页了,首次登陆需要注册账号,访问地址:http://192.168.3.101

这或许是一个对你有用的开源项目,mall项目是一套基于
SpringBoot3
+ Vue 的电商系统(Github标星60K),后端支持多模块和最新微服务架构
,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
- Boot项目:github.com/macrozheng/...
- Cloud项目:github.com/macrozheng/...
- 教程网站:www.macrozheng.com
项目演示:
使用
接下来讲解下Checkmate的基本使用,涵盖网站监控、服务器监控、Docker监控及硬件监控。
网站监控
- 点击右上角的
creat new
按钮就可以创建监控了;

- 选择
Website monitoring
,然后输入需要监控的网站地址、监控的时间间隔即可开始监控其运行状态;

- 下面是使用Checkmate监控网站运行状态的效果图。

服务器监控
- 服务器监控选择
Ping monitoring
,然后配置好服务器的IP地址即可;

- 下面是使用Checkmate监控服务器运行状态的效果图。

Docker监控
- 我们需要先知道运行的Docker容器对应的ID,这里以
mongoDB
为例,使用如下命令获取;
bash
docker inspect -f '{{.Id}}' mongo
- 获取到之后选择
Docker container monitoring
,然后配置好容器ID即可;

- 下面是使用Checkmate监控Docker中MongoDB容器运行状态的效果图。

硬件监控
- 对于服务器的硬件监控,需要依赖
capture
插件,通过如下命令可以运行此插件;
bash
docker run -p 59232:59232 --name capture \
-e API_SECRET=your-secret-key \
-d ghcr.io/bluewave-labs/capture:latest
- 之后我们需要打开
infrastructure
面板,点击右上角的create
按钮,然后输入capture的访问地址、API_SECRET即可,地址如下:192.168.3.101:59232/api/v1/metrics

- 之后在详情中就可以看到服务器的硬件信息了,例如CPU、内存、磁盘等信息;

- 还可以看到对应的网络监控信息。

主题
- Checkmate支持深色和浅色两种主题,可以通过设置进行修改;

- 前面介绍的都是浅色主题,其实深色主题也是挺炫酷的!

总结
Checkmate确实是一款非常不错的开源监控工具,甚至连谷歌、微软、腾讯、字节等大厂工程师都偷偷给项目点了Star,感兴趣的小伙伴可以尝试下!