Heron:只看不管的自托管服务器探针
Heron 是一个轻量的自托管主机监控:agent 采集指标并上报,hub 负责存储、展示和告警。关注状态,不接管系统。
GitHub:https://github.com/xjetry/heron-probe (MIT)
演示站:https://heron.o1.pw (作者自用的实例,150+ 个节点)
为什么又写一个探针
我想要一个只看不管的探针:没有远程终端、命令执行、文件管理,也没有插件系统。agent 不监听入站端口,不执行外部命令。就算 hub 被人拿下,也不能在节点上跑代码、读写文件,不能让节点探测它自己的回环地址和云厂商的 metadata 地址。
主要功能
监控与告警
- 指标:CPU、内存、交换、磁盘与磁盘 I/O、网络、负载、连接数、进程数、TCP 建连数与重传率,有实时图和历史图(含采样峰值)
- 探测:ICMP、TCP、HTTP(S)、DNS,HTTPS 可以钉住证书指纹;同一个探测任务可跨节点并排对比
- 告警:离线/恢复、探测异常、内存/磁盘、证书到期、节点到期、流量配额,通过 Telegram 或 Webhook 发送
- 维护静默窗口
- hub 心跳外推:hub 自己挂了也有人知道
给 VPS 玩家的
- 记录价格、币种、计费周期、到期日、自动续期,到期前提醒
- 续费日历,点「已续费」后到期日按计费周期顺延
- 周期流量配额,可按收+发、只收、只发、取大者计算,按比例告警;支持日报、周报、月报推送
- 网卡按结构去重(网桥、bond、VLAN、veth、隧道不重复计),和云厂商按网口计费的口径一致
- IPv4/IPv6 双栈出口探测;国家/地区徽章,可改用本地 mmdb 库,不出网
- 在容器和 LXC 里显示该环境自己的用量和上限,而不是整台宿主机的
- 油猴脚本:在 IDC 页面上看着价格和到期日,一键建好节点、拿到安装命令
管理面板交互
- 节点排序:可拖动;可上移、下移、置顶、置底;单个或多选后「移动到」指定位置;也可以用键盘的方向键、Home、End
- 标签筛选可选「同时满足」或「满足任一」,地区可多选;可以只看 15 天内到期或 agent 版本落后的节点,也可按到期排序
- 按 / 或 ⌘K 全局搜索节点,可搜名称、IP、地区、备注、主机名
- 批量接入:开一个限时、限量的接入窗口,每台机器执行同一条命令就自动注册
公开页
- 状态墙、卡片、列表三种视图;状态墙可按地区或标签分组,按状态、CPU、内存或到期着色
- 访客可按标签、地区筛选和搜索,视图偏好记在访客自己的浏览器里;支持明暗主题
- 可以安装第三方主题(从公开 GitHub Release 安装或直接上传)。主题在沙箱里运行,拿不到管理员会话,可按版本回滚
国内主机友好
- 安装命令可以走 GitHub 代理
- 也可以生成 SSH 反代参数,借本地电脑上的代理(比如 Clash 混合端口)完成安装
- 在线更新可以经 hub 中转,节点不用连 GitHub
- 出站 443 被封的机器可以填备用的 hub 地址
在线更新
- 面板里一键更新 hub,或勾选节点批量更新,每台机器显示下载校验、替换、验证、回滚各阶段
- 只接受官方正式版:产物有 Ed25519 签名,由节点上的独立更新器验签,失败自动回滚;经 hub 中转也塞不进别的程序
给 AI agent 的接口
- 所有接口都是普通 HTTP POST + JSON,curl 就能调
- API token 可按操作和节点范围预授权,写操作带事务预览、并发版本检查和审计
- 附带一份给 AI 读的技能文件,把 token 交给 Claude Code、Codex 之类的工具,它就能帮你管理监控配置
账户与数据
- 支持 TOTP、恢复码和 Passkey 无密码登录,登录会话可以逐个撤销
- 可以定时快照到 S3 兼容存储;升级迁移数据库前会自动备份
部署
hub 是一个静态链接的二进制加一个 SQLite 文件,不需要外部数据库:
curl -fsSL https://github.com/xjetry/heron-probe/releases/latest/download/install-hub.sh | sh
heron-hub passwd --db /var/lib/heron/heron.db
也有 Docker 镜像 ghcr.io/xjetry/heron-hub。hub 只监听明文 HTTP,TLS 交给你自己的反代(Caddy、nginx 或 CDN)。
agent 一条命令安装,支持:
- Linux:amd64、arm64、armv7、386、riscv64,systemd 和 OpenRC 都可以
- macOS:Intel 和 Apple Silicon
- Docker / Podman 容器
agent 安装包约 10 MiB;在 64 个 ICMP 任务、5 秒间隔的负载下,实测内存峰值约 20 MiB。
目前的限制
- 不支持 Windows、FreeBSD 和 rootless Docker
- 用 Docker、OpenRC、macOS 部署的 agent 不支持在线更新,需要换镜像或重跑安装脚本
- 只有单管理员,没有多用户
致谢
Heron 的不少设计参考了下面这几个项目,感谢各位作者和贡献者:
- monitor (https://github.com/monitor-probe/monitor):流量差分、"没有读数不等于 0"、历史按整桶聚合、限时限量的注册窗口等核心数据口径
- beszel (https://github.com/henrygd/beszel):维护静默、hub 心跳外推、HTTP/DNS 探测、容器视角的 CPU 读数
- komari (https://github.com/komari-monitor/komari):公开页节点卡片上的 IPv4/IPv6 标记、内存与磁盘百分比、总流量展示
欢迎试用,有问题请提 issue。
这个演示站整我电脑卡了
界面字太紧凑,看着很累
这种没有差异化的项目,看看就行了
猴哥能不能少整一些鸡,我的鼠标滚轮都快坏了
只看不管这思路不错
密集恐惧症
太豪华了
猴哥加油,🐔总数马上就能赶上 冰梦佬哥了🤣