[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、内存和磁盘:


