在日常运维中,服务“挂了”往往不是最可怕的,最可怕的是你比用户更晚知道。
传统监控方案要么部署复杂,要么侵入性强,动辄改代码、加探针。有没有一种方式,能零侵入、全自动、可视化地监控服务状态,还能一键部署?
星哥最近逛github的时候看到—— PongHub,使用GitHub Actions 自动化发布+域名(可选)实现几乎零成本的监控系统
PongHub 是一个开源的服务状态监控网站,旨在帮助用户监控和验证服务的可用性。它支持
它的定位很清晰:轻量、自动化、开箱即用,非常适合开发者和运维工程师快速构建服务可用性监控面板。

很多监控工具需要独立服务器、数据库,甚至复杂的 Agent,部署成本高。
PongHub 借助 GitHub Actions + GitHub Pages,实现了零服务器成本的部署方式。
登录github,如果没有账号需要注册一个。
进入 https://github.com/WCY-dt/ponghub 点击fork,这代码叉到走了

修改 config.yaml 配置文件,定义要监控的服务

CNAME 文件如果你不需要自定义域名,请删除 CNAME 文件
我这里改成
health.xgss.net还需要把域名解析到
默认情况下,GitHub Actions 每 30 分钟运行一次。如果你需要更改运行频率,请修改 .github/workflows/deploy.yml 文件中的 cron 表达式。
请不要将频率设置过高,以免触发 GitHub 的限制。
几分钟后,你就能在 GitHub Pages 上看到一个实时更新的服务监控面板。

点击Save
域名解析:
health.xgss.net CNAME解析到 <你的github用户名>.github.io
等待几分钟域名解析生效
再点击

打开页面,首页是readme.md的内容,并不是我需要的监控页面???

打开Deploy Report


再访问

仅仅检测服务端口是否存活,远远不够。比如:
PongHub 提供了多端口探测、SSL 证书监控、正则表达式校验响应体等功能。
services:
- name: "Example Website"
endpoints:
- url: "https://example.com/health"
response_regex: "status"
- url: "https://example.com/status"
method: "POST"
body: '{"key": "value"}'监控数据如果没人看,等于没用。关键在于异常能否第一时间触达。
PongHub 支持以下通知方式:
使用时,在 config.yaml 文件中添加 notifications 配置块:
notifications:
enabled: true # 启用通知功能
methods: # 要启用的通知方式
- email
- discord
- slack
- telegram
- wechat
- webhook
# 各种通知方式的具体配置...notifications:
enabled: true
methods:
- email
- slack
email:
smtp_host: "smtp.gmail.com"
smtp_port: 587
from: "alerts@yourdomain.com"
to:
- "ops@yourdomain.com"
subject: "🚨 PongHub 服务告警"
use_starttls: true
slack:
channel: "#alerts"
username: "PongHub Bot"
icon_emoji: ":warning:"有些团队希望在本地调试或二次开发。
PongHub 提供了 Makefile 脚本,支持本地运行与测试。
# 本地运行
make run
# 执行测试
make test写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊
我们用 PongHub 实现了:
PongHub 适合个人开发者、初创团队,甚至中小企业快速搭建服务可用性监控体系。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。