首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >零成本构建开源网站监控神器

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

原创
作者头像
星哥玩云
发布2025-12-02 09:11:21
发布2025-12-02 09:11:21
3870
举报
文章被收录于专栏:开源项目搭建开源项目搭建

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

前言

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

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

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


什么是 PongHub?

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

  • 🕵️ 零侵入监控 - 无需改动代码即可实现全功能监控
  • 🚀 一键部署 - 通过 Actions 自动构建,一键部署至 Github Pages
  • 🌐 全平台支持 - 兼容 OpenAI 等公共服务及私有化部署
  • 🔍 多端口探测 - 单服务支持同时监控多个端口状态
  • 🤖 智能响应验证 - 精准匹配状态码及正则表达式校验响应体
  • 🛠️ 自定义请求引擎 - 自由配置请求头/体、超时和重试策略
  • 🔒 SSL 证书监控 - 自动检测 SSL 证书过期并发送通知
  • 📊 实时状态展示 - 直观的服务响应时间、响应状态记录
  • ⚠️ 异常告警通知 - 利用 GitHub Actions 实现异常告警通知

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

img
img

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

背景问题

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

解决方案

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

实操步骤

1.Fork 项目仓库

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

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

img
img

2.修改 config.yaml

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

img
img

3.(可选)修改 CNAME 文件

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

我这里改成

代码语言:javascript
复制
health.xgss.net

还需要把域名解析到

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

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

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

效果

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

4.开通page

img
img

点击Save

域名解析:

代码语言:javascript
复制
health.xgss.net CNAME解析到 <你的github用户名>.github.io
img
img

等待几分钟域名解析生效

再点击

img
img

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

img
img

打开Deploy Report

img
img
image-20251010095012128
image-20251010095012128

再访问

img
img

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

背景问题

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

  • API 返回 200,但实际响应异常
  • SSL 证书过期,用户访问失败

解决方案

PongHub 提供了多端口探测SSL 证书监控正则表达式校验响应体等功能。

代码语言:javascript
复制
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 配置块:

代码语言:javascript
复制
notifications:
  enabled: true  # 启用通知功能
  methods:       # 要启用的通知方式
    - email
    - discord
    - slack
    - telegram
    - wechat
    - webhook
  
  # 各种通知方式的具体配置...
代码语言:javascript
复制
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 脚本,支持本地运行与测试。

代码语言:javascript
复制
# 本地运行
make run
​
# 执行测试
make test

效果

  • 快速验证配置文件是否正确
  • 可扩展功能,满足团队个性化需求

总结

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

我们用 PongHub 实现了:

  • 零侵入监控:无需改代码,直接配置即可
  • 一键部署:GitHub Actions 自动化发布
  • 智能校验:多端口、SSL、正则匹配
  • 多渠道告警:第一时间触达运维团队

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零成本构建开源网站监控神器
    • 前言
    • 什么是 PongHub?
    • 一键部署:从 0 到 1 的极速体验
      • 背景问题
      • 解决方案
    • 实操步骤
      • 1.Fork 项目仓库
      • 2.修改 config.yaml
      • 3.(可选)修改 CNAME 文件
      • 4.提交代码,GitHub Actions 自动构建并发布
      • 效果
      • 4.开通page
    • 智能监控:多端口 + SSL 证书 + 正则校验
      • 背景问题
      • 解决方案
      • 效果
    • 异常告警:多渠道通知,第一时间响应
      • 背景问题
      • 解决方案
      • 效果
    • 本地开发与测试:轻松二次定制
      • 背景问题
      • 解决方案
      • 效果
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档