
简介
什么是 CheckCle ?
CheckCle
是一个自托管的开源监控解决方案,它是UptimeRobot
、PagerDuty
和Better Stack
等工具的替代品,为用户提供实时服务器和服务的正常运行时间监控、事件管理以及多渠道警报功能。
主要特点
- 实时监控 :支持对
HTTP
、DNS
、PING
等协议的监控,能够实时跟踪服务器的正常运行时间和响应时间。 - 多种监控服务 :能够监控
TCP
服务、API
服务(如FTP
、SMTP
、HTTP
)及其性能问题。 - 事件历史记录:记录监控状态(正常、警告、暂停等)的历史信息。
- SSL 和域名监控 :监控
SSL
证书的状态、到期日期及剩余天数等信息。 - 基础设施监控 :支持
Linux
和Windows
服务器的性能监控,包括CPU
、内存、磁盘使用率和网络活动。 - 调度维护和事件管理:允许用户安排维护和管理事件。
- 通知功能 :支持通过电子邮件、
Telegram
、Discord
和Slack
等渠道发送通知。 - 用户管理和设置面板:提供多语言支持、主题切换、通知和警报模板的设置。
应用场景
- 服务器监控 :用于
IT
部门监控服务器的健康状态,确保系统正常运行。 - 网站监控:监控网站的可用性和性能,及时发现并解决问题。
- 应用监控:监控应用程序的响应时间和服务状态,确保用户体验。
- 安全监控 :通过
SSL
和域名监控,确保网站的安全性和合规性。 - 团队协作:通过多渠道通知功能,帮助团队快速响应和处理事件。

CheckCle
提供了一种灵活、高效的方式来监控和管理 IT 基础设施,确保系统的稳定性和可靠性。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 checkcle
,选择第一个 operacle/checkcle
,版本选择 latest
。
本文写作时,
latest
版本对应为v1.1.0
;

docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
bash
# 新建卷
docker volume create pb_data
# 运行容器
docker run -d \
--restart unless-stopped \
--name checkcle \
--ulimit nofile=4096:8192 \
-p 8091:8090 \
-v pb_data:/app/pb_data \
operacle/checkcle:latest
docker-compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
yaml
services:
checkcle:
image: operacle/checkcle:latest
container_name: checkcle
restart: unless-stopped
ports:
- "8091:8090" # Web Application
volumes:
- pb_data:/app/pb_data # Ensure persistent data across rebuilds
ulimits:
nofile:
soft: 4096
hard: 8192
volumes:
pb_data: # Docker-managed volume for data persistence
然后执行下面的命令
bash
# 新建文件夹 checkcle
mkdir -p /volume1/docker/checkcle
# 进入 checkcle 目录
cd /volume1/docker/checkcle
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行
在浏览器中输入 http://群晖IP:8091
就能看到登录界面
默认用户:
[email protected]
、密码:Admin123456

登录成功后的主界面

以老苏的博客为例,创建一个监控服务

完成之后很快就会有数据

可以查看详情

其他功能可以参考官方的快速入门指南 https://docs.checkcle.com (即将推出)
其他
细心的网友应该发现,这次老苏持久化没有映射目录,而是用了卷,这是因为无论是直接使用目录
yaml
services:
checkcle:
image: operacle/checkcle:latest
container_name: checkcle
restart: unless-stopped
ports:
- "8091:8090" # Web Application
volumes:
- ./data:/app/pb_data # Ensure persistent data across rebuilds
ulimits:
nofile:
soft: 4096
hard: 8192
还是用目录映射卷
yaml
services:
checkcle:
image: operacle/checkcle:latest
container_name: checkcle
restart: unless-stopped
ports:
- "8091:8090" # Web Application
volumes:
- pb_data:/app/pb_data # Ensure persistent data across rebuilds
ulimits:
nofile:
soft: 4096
hard: 8192
volumes:
pb_data: # Docker-managed volume for data persistence
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/volume1/docker/checkcle/data'
都会报错,导致容器不断重启
log
checkcle | Error: failed to apply migration 1746786764_updated_services.js: sql: no rows in result set
暂时没时间去深究,先记录一下
参考文档
operacle/checkcle: CheckCle is a self-hosted open-source alternative to UptimeRobot, PagerDuty, Better Stack, and more --- offering real-time server & service uptime monitoring, incident, multi-channel alerting.
地址:https://github.com/operacle/checkcle
CheckCle - Open Source Monitoring Tools for Servers & Applications地址:https://checkcle.io/
A newly self-hosted open-source for real-time server & service uptime monitoring, incident, multi-channel alerting. : r/selfhosted