monitor

服务器探针

安全、极简、高效。

用 Rust 写的探针。一个 5.4 MiB 的二进制,常驻几 MiB 内存, 只做四件事:看状态、看流量、看延迟、算成本。

$ curl -fsSL https://raw.githubusercontent.com/stqfdyr/monitor/main/install-hub.sh -o install-hub.sh
5.4MiB
可执行文件
6.1MiB
空转内存
63ms
冷启动
3,132
源码

每一个数字都有人为它负责。

Rust,没有 GC

也没有语言运行时。空转 6.1 MiB,200 个节点同时在线 8.4 MiB——负载上去几乎不动。一颗核的 2.5%。

一个文件就是全部

5.4 MiB 的静态二进制加一个 .db 文件。没有配置文件,没有额外目录,备份就是复制一个文件夹。

默认不在公网上

一键脚本装出来的 hub 只监听 127.0.0.1。凭证不会在链路上裸奔,也没有端口需要防火墙——配好反代,用域名进面板。

数字必须是对的

内存对齐 free(1),磁盘对齐 df(1)。现成的库在这两个数上口径都不对,而且错得看不出来,所以我们直接读 /proc。

总流量永不回退

VPS 重启、hub 重启、agent 掉线重连,累计值继续往上加。历史明细可以随便清理,累计值毫发无损。

agent 不写任何文件

静态链接单文件,无运行时依赖,常驻内存数 MB。它只上报此刻内核说的数字,装在最小的那台机器上也不心疼。

删掉的比加上的多。

探针的职责是告诉你机器怎么样了,不是替你管机器。 一旦它能登进你的服务器、能执行命令、能装插件,它就不再是一个只读的观察者—— 而观察者被攻破的代价,和运维工具被攻破的代价差着一个数量级。

所以下面这些不在路线图上,也不会在。没写的代码不占内存,不会慢,也不会有漏洞。

如果你要的是其中某一样,那我们大概不合适——这不是遗憾,是选择。

  • 通知与告警
  • 远程 SSH
  • web terminal
  • 插件系统
  • ICMP / HTTP 探测
  • agent 自动更新
  • Windows / macOS

五分钟装好。

一条命令装 hub,一段配置上反代,面板里点一下拿到节点的安装命令。

开始阅读