产品推广 vibe 了个很少依赖的跨平台服务器监控,开源,必须开源

jicheng1014 · 2026年01月21日 · 53 次阅读

[TLDR]

地址是 https://github.com/jicheng1014/ssh_server_oss 有兴趣的老哥可以 star 下,产品截图放在文末

最简单的运行方式是 代码克隆下来,之后运行 ./start-prod.sh 跑在 docker 上。

[正文]

年底了,偶然间终于想起之前买的几台 Bandwagon 服务器,结果登不上去了。仔细研究后发现是硬盘满了没注意,导致服务挂死。再加上几个月前,Tencent 的某台服务器意外 100% CPU 持续占用,也是直到登录不上才发现。

痛定思痛,我发现跨服务商的基础监控还是很有必要搞一下的。

市面上调研了一圈:

要么需要在 Client 装 Agent(重型且繁琐);

要么功能特别复杂,配置一大堆;

还有一些 Saas 服务,我看不明白他们怎么处理私钥,实在不敢把 SSH Key 交出去。

作为一个 Rails 老兵,左手 Cursor 右手 Claude,这点简单的需求,直接 Vibe 一下就好了。前两天在朋友圈发了下,反响还不错,今天整理一下发到社区。

代码其实没啥意思,反正都是 Vibe 出来的,主打一个快和解决问题。

为什么要造这个轮子? 虽然市面上有 Prometheus + Grafana、Zabbix 等成熟方案,但对于个人开发者或小团队,这个方案胜在简单粗暴:

基于 Rails 8.1

代码结构清晰,维护成本极低。

Rails 8 原生组件全家桶:Active Record、Action Cable、Solid Queue 开箱即用,体验极度丝滑。

获取原理以及实现都及其简单 (这也是最核心的优势)

远端服务器零依赖:不需要在目标服务器安装任何 Agent,不需要 Docker,不需要开放额外端口。

纯 SSH 交互:直接通过 net-ssh 执行系统原生命令(top、free、df)获取指标。

只要服务器能 SSH 连上,就能监控,逻辑透明,没有任何黑盒。

轻量级部署

直接使用 SQLite,无需维护单独的数据库服务。

单机 Docker 部署,资源占用极低,跑在任何一台闲置小鸡上都能监控你所有的机器。

🛠️ 技术栈 (Bleeding Edge) 直接上了最新的技术栈,尝鲜 Rails 8 的新特性:

后端框架:Rails 8.1

前端样式:TailwindCSS v4 (最新的!)

前端交互:Hotwire (Turbo + Stimulus)

后台任务:Solid Queue

缓存:Solid Cache

WebSocket: Solid Cable

数据库:SQLite 3

SSH 连接:net-ssh gem

部署:Kamal (Docker)

📸 截图预览 界面主打一个直观,只看最核心的 CPU、内存和磁盘:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号