1. 概述
GitHub:bluewave-labs/Checkmate: Checkmate 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.
官网文档:Welcome to Checkmate | Checkmate,详细的介绍。
功能特点:
1)服务器监控
- CPU使用率:区分用户态、系统态的使用情况,还能看到负载趋势
- 内存使用:包括物理内存和虚拟内存的使用量、剩余量、使用率
- 磁盘空间:监控各分区的使用情况,提前预警空间不足
- 系统负载:了解1分钟、5分钟、15分钟的平均负载
- 网络流量:监控网卡的出入带宽使用情况
- 进程信息:查看占用资源多的进程,便于定位问题
2)网站与接口监控
- 站点可用性:定期访问网站,验证返回码是否正常
- 响应时间:记录每次请求的耗时,绘制趋势图
- 内容验证:检查页面内容是否符合预期
- API监控:对重要接口进行定期调用测试
- SSL证书:检查证书是否临近过期
- 端口监控:确保关键端口服务正常运行
3)Docker容器监控
- 容器状态:运行、停止、退出等状态变化
- 资源占用:CPU、内存、网络等资源使用情况
- 日志查看:实时查看容器的标准输出日志
- 镜像管理:容器使用的镜像版本信息
4)告警通知
- 邮件通知:最常用的告警方式
- Discord/Slack:适合团队协作的即时通知
- Webhook:可以对接到自己的系统
- 告警级别:区分紧急和普通告警
- 故障分析:记录告警历史,便于复盘
2. 部署实施
参考:Installing Checkmate | Checkmate
2.1 在本地安装
1)Download our Docker compose file
2)Run docker compose up
to start the application
3)Now the application is running at http://localhost
Optional Config:
If you want to monitor Docker containers, uncomment this line in docker-compose.yaml
:
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock:ro
This gives the app access to your docker daemon via unix socket, please be aware of what you are doing.
安装的过程有点长,耐心等待。
安装完毕后,可以看到服务运行起来,可以使用 http://localhost 访问。
2.2 在服务器安装
如果需要监控的是服务器,并且需要在外网查看状态,那么需要修改配置。
修改docker-compose.yaml 文件中的 UPTIME_APP_API_BASE_URL,如下:
# 默认配置
UPTIME_APP_API_BASE_URL: "http://localhost:5000/api/v1"
# 调整为远程服务器地址
UPTIME_APP_API_BASE_URL: "http://x.x.x.x:5000/api/v1"
记得打开防火墙对应的端口。
2.3 系统监控Agent
GitHub:bluewave-labs/capture: An open source hardware monitoring agent for Checkmate
参考:Server monitoring agent | Checkmate
如果要进行服务器设备的CPU、内存等硬件状态监控,需要安装 Capture,是一个checkmate的Agent。目前只能在linux系统使用。
docker方式安装:
docker run -v /etc/os-release:/etc/os-release:ro \
-p 59232:59232 \
-e API_SECRET=REPLACE_WITH_YOUR_SECRET \
-d \
capture:latest
# REPLACE_WITH_YOUR_SECRET 需要设置
If you don't want to pull the image, you can build and run it locally.
docker buildx build -f Dockerfile -t capture .
docker run -v /etc/os-release:/etc/os-release:ro \
-p 59232:59232 \
-e API_SECRET=REPLACE_WITH_YOUR_SECRET \
-d \
capture:latest
这样就可以在 checkmate 前端进行添加创建了,创建后效果如下:
2.4 其他配置
1)Pagespeed monitors
配置后一直显示 inactive,上网搜索可能的原因是服务器无法访问 Google PageSpeed Insights API,导致无法获取数据,这点在进行部署时,可能要处理一下。
2)Maintenance
可以参考页面要求设置。
3)账号设置
可以邀请添加其他账号。
(end)