FolderOpenDot自托管
吃灰小鸡利用+1 利用 CheckCle 自建一个分布式的监控在线率站点
60
2小时前·发布 2小时前

个人需求

开始我先说出自己的需求:

  • 程序免费开源
  • 搭建简单,例如Docker即可,不需要搞各种依赖去安装,或者需要自己改一大堆代码
  • 有公开状态页,可以装B
  • 有尽可能多的通知渠道
  • 加分项:有多节点功能

为什么不用UptimeKuma?

一直以来有需要监控在线率的需求,即使现在有非常多且成熟的商业产品,但是MJJ小鸡众多,怎么不想自建一个。

此时你肯定想说,主包,推荐UptimeKuma呀~ 但是UptimeKuma对我个人来说有几个痛点始终没有解决:

  1. Uptiemkuma是单节点程序,监控在线率,搞一个鸡未免显得有些幽默
  2. UptimeKuma的公开展示页,展示历史数据太少。例如我设置1分钟监控一次,公开页只能显示前42分钟的数据。我翻阅了issues,发现曾经有个测试版本是支持更长时间展示的,但是不知道为什么被撤销驳回了。期待了很久的UptimeKuma 2.0也没有加入,似乎开发团队对这个事很谨慎一样,一直在拖。
  3. UptimeKuma 2.0更新像是挤牙膏,用起来没什么区别,在我一个非专业码农看来似乎就是数据库有了些变化,用起来完全没焕然一新的感觉,尤其是从一个“小而美”的程序,Docker镜像体积暴增了一倍,也不知道加了些什么东西进去,非常臃肿。

为什么不用Prometheus、SmokePing?

对比目前开源程序,Prometheus过于专业复杂,搭建比较麻烦;

SmokePing我们不太需要如此专业的监控数据,一般都是拥有大量节点的大佬,监控三网丢包时可能有需要。

哪吒、Komari不够吗?

够了,但是个人习惯再增加一个稳定、多节点的程序,监控在线情况,曾经用的是商业类程序,作为稳定的在线监控。哪吒、Komari毕竟单节点,而且也就是公开装B给大家看看。如果你的需求不高,这两个也是够用的。

商业服务不好吗?

好是好,这个品类相关的服务非常多,而且都很稳定,甚至很多大厂都在用。不过就是太特么贵了,动辄十几刀甚至二十几刀起步一个月。

  • 个人推荐三个免费的,一个是hetrixtools,他的免费功能对于大部分MJJ是够用的,而且额度也是各种商业服务里最慷慨的,15个免费监控。不过对我来说二十多个小鸡不够用了,再多赶上黑五最优惠,一年也要400多块钱。
  • 第二个是UptimeRobot,老用户的我有50个额度,但是付费不够灵活,要么免费要么必须给50个额度花钱。而且Robot的权益一砍再砍,至少两年前我就不愿意再用了,砍得太恶心了。
  • 第三个的BetterStack,免费10个额度,但是付费价格要25刀还是29刀一个月,而且免费功能不如hetrixtools开放的多,倒是基础功能够用,页面也比hetrixtools好看一些。

CheckCle介绍

这个程序是 猫总 建议,加上自己翻阅了很多开源程序最终选定的,可以说足够我目前的使用需求。

开源地址:https://github.com/operacle/checkcle

CheckCle免费开源,支持Docker部署,同时有中文支持,降低不少使用门槛。适应的环境包括传统x86、树莓派等Arm,还有苹果M系列芯片。

  • 监控 HTTP、DNS 和 Ping 协议
  • 监控基于 TCP 的服务与 API(如 FTP、SMTP、HTTP)
  • 跟踪详细的可用性(正常运行时间)、响应时间与性能问题
  • 分布式区域监控
  • 事件历史(UP / DOWN / WARNING / PAUSE:上线 / 下线 / 警告 / 暂停)
  • SSL 与域名监控(域名、签发者、到期日期、剩余天数、状态、上次通知)
  • 基础设施与服务器监控:支持 Linux(🐧Debian、Ubuntu、CentOS、Red Hat 等)与 Windows(Beta);提供 CPU、内存、磁盘使用、网络活动等服务器指标;一行命令安装的 Agent 脚本
  • 维护计划与事件管理
  • 运行状态 / 公共状态页
  • 通过电子邮件、Telegram、Discord 和 Slack 通知
  • 报告与分析
  • 设置面板(用户管理、数据保留、多语言、主题〔深色/浅色模式〕、通知渠道与告警模板)

Docker搭建

Docker-Compose

Plain Text
1services:
2  checkcle:
3    image: operacle/checkcle:latest
4    container_name: checkcle
5    restart: unless-stopped
6    ports:
7      - "8090:8090"  # Web 应用端口
8    volumes:
9      - /opt/pb_data:/mnt/pb_data  # 将主机目录映射到容器路径
10    ulimits:
11      nofile:
12        soft: 4096
13        hard: 8192

Docker Run

Plain Text
1docker run -d \
2  --name checkcle \
3  --restart unless-stopped \
4  -p 8090:8090 \
5  -v /opt/pb_data:/mnt/pb_data \
6  --ulimit nofile=4096:8192 \
7  operacle/checkcle:latest

网页管理

http://你的IP:8090

默认用户名:admin@example.com

默认密码:Admin123456

反代,推荐Caddy简单够用

Plain Text
1example.com {
2         tls i@example.com
3         encode gzip
4         reverse_proxy localhost:8090
5}

程序功能介绍

在线监控

添加服务,可设置HTTP、DNS、TCP、Ping四种方式监控,适合监控你的网站和小鸡。最低检查间隔为30秒,最多重试次数为5次。
1EVAn2bcO9Tt5CjM3NPkbaq5B1VzheXo.webp
6lmNgbODMUU00VU0lgye7CMHrj9pUqAz.webp

实例监控

在你的小鸡上装Agent监控占用情况,功能太少,没哪吒、Komari这些直观,数据丰富,Pass。
hJsrC5I4FaxLhzF1Fq1jIG3DdCBgvyI4.webp

SSL监控

避免自己忘记续期证书
QKnXQiY52aJQA6H2sSYX934fnpXEnfAl.webp

计划和事件

有维护计划公告,可以在这个上面填好,方便通知
HkGAyefI8ZB75UxtLYb9C5d0f0K23PAi.webp

运营页面

也就是公开状态页,可以设置私有。但是这个功能不完善,可以自定义域名,但是我解析到哪呢?我试了A和CNAME记录,都不起作用,文档也没写完,所以只能放弃。不过你不设置自定义域名的话,还是会给你个页面可以查看访问,一般为 你的域名/public/slug设置的名字。
AvEe9hijjsyZBXrUNj0FXNNAc2XFRLJw.webp

区域监控

核心功能,你可以利用起你的小鸡,部署分布式节点,设置好名称,有一键安装命令,运行即可上线。

同时支持你单独给不同的监控节点选择,例如你的小鸡在德国,你手上有英国、荷兰的节点,部署后,可以单独要求英国、荷兰节点监控德国小鸡在线情况即可,也可以全部利用,让你的美国、日本小鸡也加入进来,获得更准确的全球数据。
tnXNNAmTtZzRlFsoudmINBpmKBYBZQVb.webp

多用户功能

可以让不同的用户加入管理
pu2jHVGvURfEomJvY0uqCF90jvJub2Ei.webp

通知功能

支持Telegram、Discord、Slack、Signal、Google Chat、Email、NTFY、Pushover、Notifiarr、Gotify、Webhook方式,覆盖了常用渠道。
pdzz7P3JQcFEsMAfFt6Jbk2BNYliUYjx.webp

通知模板

支持自定义通知模版,例如改成中文的。
xZRP3Wv3kcWqCgt4K3mweKvotxutyFeh.webp

数据保留

设置数据保留的时间
73KBaezX9Knfdc13NQcWvRRNXyDdEVbp.webp

总结

至此程序的基本功能介绍完毕,经过体验,CheckCle目前监控方式、数据和通知渠道确实远没有UptimeKuma来得多,尤其是状态页不够自定义也没做完,文档很多也没写完。对比商业程序肯定还有很大差距。

如果介绍的功能能满足你的需求的话,想利用起来自己全球的小鸡,可以尝试搭建一个。

最后更新 12月6日 15:57
uptimekumabetterstackhetrixtoolsuptimerobotcheckcle

评论 (0)

还没有评论,来说点什么吧~