阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

零成本构建开源网站监控神器

160次阅读
没有评论

共计 2555 个字符,预计需要花费 7 分钟才能阅读完成。

零成本构建开源网站监控神器

前言

在日常运维中,服务“挂了”往往不是最可怕的,最可怕的是 你比用户更晚知道

传统监控方案要么部署复杂,要么侵入性强,动辄改代码、加探针。有没有一种方式,能 零侵入、全自动、可视化 地监控服务状态,还能一键部署?

星哥最近逛 github 的时候看到—— PongHub,使用 GitHub Actions 自动化发布 + 域名(可选)实现几乎零成本的监控系统


什么是 PongHub?

PongHub 是一个开源的服务状态监控网站,旨在帮助用户监控和验证服务的可用性。它支持

  • 🕵️ 零侵入监控 – 无需改动代码即可实现全功能监控

  • 🚀 一键部署 – 通过 Actions 自动构建,一键部署至 Github Pages

  • 🌐 全平台支持 – 兼容 OpenAI 等公共服务及私有化部署

  • 🔍 多端口探测 – 单服务支持同时监控多个端口状态

  • 🤖 智能响应验证 – 精准匹配状态码及正则表达式校验响应体

  • 🛠️ 自定义请求引擎 – 自由配置请求头 / 体、超时和重试策略

  • 🔒 SSL 证书监控 – 自动检测 SSL 证书过期并发送通知

  • 📊 实时状态展示 – 直观的服务响应时间、响应状态记录

  • ⚠️ 异常告警通知 – 利用 GitHub Actions 实现异常告警通知

它的定位很清晰:轻量、自动化、开箱即用,非常适合开发者和运维工程师快速构建服务可用性监控面板。

零成本构建开源网站监控神器


一键部署:从 0 到 1 的极速体验

背景问题

很多监控工具需要独立服务器、数据库,甚至复杂的 Agent,部署成本高。

解决方案

PongHub 借助 GitHub Actions + GitHub Pages,实现了 零服务器成本 的部署方式。

实操步骤

1.Fork 项目仓库

登录 github,如果没有账号需要注册一个。

进入 https://github.com/WCY-dt/ponghub 点击 fork,这代码叉到走了

零成本构建开源网站监控神器

2. 修改 config.yaml

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

零成本构建开源网站监控神器

3.(可选)修改 CNAME 文件

如果你不需要自定义域名,请删除 CNAME 文件

我这里改成

health.xgss.net

还需要把域名解析到

4. 提交代码,GitHub Actions 自动构建并发布

默认情况下,GitHub Actions 每 30 分钟运行一次。如果你需要更改运行频率,请修改 .github/workflows/deploy.yml 文件中的 cron 表达式。

请不要将频率设置过高,以免触发 GitHub 的限制。

效果

几分钟后,你就能在 GitHub Pages 上看到一个实时更新的服务监控面板。

4. 开通 page

零成本构建开源网站监控神器

点击 Save

域名解析:

health.xgss.net CNAME 解析到 < 你的 github 用户名 >.github.io

零成本构建开源网站监控神器

等待几分钟域名解析生效

再点击

零成本构建开源网站监控神器

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

零成本构建开源网站监控神器

打开 Deploy Report

零成本构建开源网站监控神器

零成本构建开源网站监控神器

再访问

零成本构建开源网站监控神器

智能监控:多端口 + SSL 证书 + 正则校验

背景问题

仅仅检测服务端口是否存活,远远不够。比如:

  • API 返回 200,但实际响应异常

  • SSL 证书过期,用户访问失败

解决方案

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"}'

效果

  • 页面直观展示响应时间、状态码

  • SSL 证书到期前 7 天自动提醒

  • 异常时触发告警通知


异常告警:多渠道通知,第一时间响应

背景问题

监控数据如果没人看,等于没用。关键在于 异常能否第一时间触达

解决方案

PongHub 支持以下通知方式:

  • 默认通知 – 通过 GitHub Actions 工作流失败进行通知

  • 邮件通知 – 通过 SMTP 发送邮件,支持高级安全选项

  • Discord – 通过 Webhook 发送到 Discord 频道,支持丰富嵌入消息

  • Slack – 通过 Webhook 发送到 Slack 频道,支持 Block Kit 格式

  • Telegram – 通过 Bot API 发送消息,支持高级格式化

  • 企业微信 – 通过企业微信群机器人发送消息,支持多种消息类型

  • 自定义 Webhook – 发送到任意 HTTP 端点,支持高级配置

使用时,在 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:"

效果

  • 服务异常时,Slack 频道即时推送告警

  • 邮件通知支持 HTML 格式,清晰直观


本地开发与测试:轻松二次定制

背景问题

有些团队希望在本地调试或二次开发。

解决方案

PongHub 提供了 Makefile 脚本,支持本地运行与测试。

# 本地运行
make run

# 执行测试
make test

效果

  • 快速验证配置文件是否正确

  • 可扩展功能,满足团队个性化需求


总结

写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧!😊

我们用 PongHub 实现了:

  • 零侵入监控:无需改代码,直接配置即可

  • 一键部署:GitHub Actions 自动化发布

  • 智能校验:多端口、SSL、正则匹配

  • 多渠道告警:第一时间触达运维团队

PongHub 适合个人开发者、初创团队,甚至中小企业快速搭建服务可用性监控体系。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2025-10-10发表,共计2555字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中