logo NodeSeekbeta

极简探针,它终于开源发布了!

  • 厉害

  • 网络侧问题建议补充地区、运营商和复现步骤。有测速/抓包/报错原文会更好定位。

  • 怎么界面都长一个样

  • @MJJ夏大 #203

    因为我个人也十分喜欢 komari,所以在设计上抄袭了它体验很好的部分,就比如节点列表

  • 这下子真要试试了

  • @大鲨鱼 #204

    不错的项目 我也一直觉得探针应该做专职该做的事

    最重要的是安全稳定可靠高效

    其他项目按个人需求需要完全可以通过docker自己安装或者做成插件来实现

    没有绝对的安全 主控一旦沦陷全部完蛋感觉没必要

  • 不错 用gemini总了下

    AI版权声明

    monitor-probe 是一个极简主义的轻量级服务器探针项目(包含 Rust + axum + SQLite 构成的 Hub,以及纯 Rust 编写的 Linux Agent)。

    以下是该项目的核心特点、CPU 监测方法的深度解析,以及它与同类工具(Komari、NodeGet)的差异对比。

    monitor-probe 的项目特点

    1. 极度轻量与极简依赖:Agent 端采用 Rust 编写,编译为静态链接的单文件(musl),无任何运行时依赖,常驻内存仅需几 MB。
    2. 完全无状态设计:Agent 纯粹作为数据采集器,不写文件,不保存跨重启的任何数据。像“网卡总流量累加”这类需要记录状态的工作,全部交由服务端的 Hub 负责。这极大减少了受监控机器的磁盘 I/O,尤其适合在寿命有限的 SD 卡(如树莓派)上运行。
    3. 安全性优化:
    • Token 通过 HTTP 的 Authorization 头传递,不会进入 Nginx/Caddy 等反向代理的 access.log,防止 Token 泄露。
    • 强制安全策略:在非回环地址(非 localhost)下,直接拒绝明文的 ws:// WebSocket 连接,强制要求加密。
    1. 对齐原生命令:内存占用算法严格对齐原生 free(1) 的 used 列,磁盘统计严格对齐 df(1) 的 Used 列,避免出现面板数据与终端命令数据不一致的困扰。

    CPU 及资源占用监测方法

    大多数 Rust 探针会直接引入第三方重量级系统库(如 sysinfo)来获取数据。但 monitor-probe 为了极致的性能和极小的体积,直接抛弃了 sysinfo,采用了“手撸内核接口”的方法:

    • CPU 监测(读取 /proc):
      Agent 直接读取并解析 Linux 的虚拟文件系统 /proc/stat。该文件记录了 CPU 从开机以来的时间片分配(如 user、system、idle、iowait 等)。Agent 通过在两次上报间隔中读取这些累计值,计算出 Delta(差值),从而得出极度精确且开销极低的 CPU 实际使用率。
    • 磁盘与内存监测:
      不依赖外部工具扫描,直接读取 /proc/meminfo(内存)和系统底层调用 statvfs(磁盘),用最少的系统调用完成数据采集。

    对比 Komari 与 NodeGet

    在同类探针和服务器状态面板中,这三者有着完全不同的设计哲学与应用场景:

    特性 / 项目 monitor-probe Komari NodeGet (NodeGet-StatusShow)
    开发语言 (Agent) Rust (极低开销、内存安全) Go (轻量,但略重于纯 Rust) TypeScript/Node.js (资源开销相对最高)
    核心定位 极致安全的纯数据遥测探针 带反向 shell 的全功能管理探针 侧重于前端展示的公共状态聚合页
    CPU/系统交互 直读 /proc,无状态、零 I/O 会频繁扫描连接,曾在低配机型引发过 CPU 100% 的性能 Bug 依赖宿主 Node 运行环境或第三方系统库
    安全性与控制权 纯只读。无任何远程执行能力,安全级别最高。 高危双刃剑。出厂默认开启反向 PTY shell 和 exec 命令执行。 主要为纯静态或前端展示,Agent 端多依赖开源社区现成方案。
    monitor-probe 的核心优化与区别所在:
    1. 安全性断层领先 ( vs Komari )
      根据安全厂商 Huntress 在 2026 年的报告,Komari 曾被黑客组织滥用为 C2(命令与控制)通道。原因在于 Komari 在设计上不仅仅是个探针,它默认开启了双向控制通道,包含 exec 和 terminal(交互式反向 Shell)功能。这意味着如果 Komari 服务端被黑,所有受控主机的最高权限(SYSTEM/root)将全部沦陷。
      优化点:monitor-probe 在设计上彻底砍掉了“远程控制”功能,仅做单向的数据上报(只读),从根本上杜绝了被当作后门勒索的可能。
    2. 资源调度更科学
      Komari 的旧版本曾因为在扫描 /proc 获取网络连接数时缺乏限制,导致在 1C/2C 机器上 Agent 自身吃掉了 50%~100% 的 CPU 性能。
      优化点:monitor-probe 通过无状态化和避免暴力扫描高频变更的 /proc 节点,将性能损耗降到了微秒级别。
    3. 展示侧重不同 ( vs NodeGet )
      NodeGet(StatusShow 及其衍生)通常聚焦在如何让公开的“服务器探针面板”更美观,重在前端构建(React/Next.js 生态)。而 monitor-probe 把主要精力花在了“如何让 Agent 在底层系统里做到真正的隐形与无感”。
  • 我用的ds了

  • 希望可以支持komari的主题生态

  • 支持

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71790位seeker

🎉欢迎新用户🎉