对比

Termal OS 对比 Netdata。

论气质,Netdata 是最接近 Termal OS 的工具——实时、好看、几乎不用配置。它也是我们最尊重的一个。以下是各自真正胜出的地方。

简短回答

Netdata 是一套监控系统。Termal OS 是一个也做监控的运维驾驶舱。关于一台服务器,Netdata 能告诉你的,永远比 Termal OS 多——秒级精度、上千项指标、基于机器学习的异常检测,而且它的代理程序几乎不占资源。它不会做的,是让你打开那份出问题的日志、改掉配置文件、再把服务重启一遍。

如果你的问题是「这台机器上正在发生什么?」,Netdata 回答得更好。如果问题是「正在发生什么,我能不能不装任何东西、现在就把它修好?」——这正是 Termal OS 要填的那道缝。

Netdata 做得更好的地方

我们不打算假装不是这样,所以说得具体些。

  • 指标的深度和精度。开箱即用地对上千项自动发现的指标做秒级采集。Termal OS 按你选定的间隔轮询(默认 60 秒,最短 15 秒),采集的是一组重点指标:每核 CPU、内存、swap、磁盘、网络、负载、进程、TCP 连接。
  • 没有你,它照样在跑。Netdata 的代理是服务器上的一个守护进程。不管有没有人在看、你的笔记本开没开,它都在采集。Termal OS 是在应用于你机器上运行期间采集的——见下文,这是两者之间最大的架构差异。
  • 保留时长与历史。Netdata 用它自己的分层数据库保存长时段历史,还能把数据推送到你自建的父节点。Termal OS 只保留一段较短的滚动历史(默认 24 小时),用于趋势和异常检测——足以回答「昨晚发生了什么」,回答不了「这台服务器上个季度表现如何」。
  • 开源。Netdata 的代理是 GPLv3。你可以读它、fork 它、审计它。Termal OS 目前是闭源的,我们也直说了
  • 异常检测。Netdata 为每项指标都带了训练好的模型。Termal OS 在自己的历史数据上用的是更朴素的 z 分数——有用,但不是一个量级。

Termal OS 不一样的地方

三件事,而它们都源自同一个决定:服务器上什么都不装。

  • 真正的无代理。Termal OS 通过你已有的一条普通 SSH 连接接入,每个周期执行一次 shell 快照。没有守护进程,没有软件包,不用开端口,也不用更新配置管理。这一点在你无法安装任何东西的地方最要紧:虚拟主机和受管主机、不属于你的客户服务器、处在别人变更流程之下的机器。
  • 你能动手,而不只是看。每台服务器都带一个完整的远程桌面:带真实进度和权限设置的 SFTP 文件浏览器、真正的 PTY 终端、Monaco 代码编辑器、多标签浏览器、压缩包工具和进程管理器——全部通过同一条 SSH 连接。Netdata 在设计上是只读的;它是可观测性工具,不是管理工具。
  • 它认得主机环境。Termal OS 会识别它落到的技术栈——Plesk、cPanel、Infomaniak,或者原生的 nginx、Apache——列出承载的站点及各自实际提供的 PHP 版本,把访问日志解析成访问统计,还能一键执行 git pull。这是网站服务商的工作流,不是监控功能。

逐项对照

 Termal OSNetdata
被监控服务器上需安装代理守护进程
指标精度15 秒 - 60 秒秒级
采集的指标数量一组重点指标上千项
你离开时是否继续采集应用须运行始终
历史保留时长约 24 小时滚动长期、分层
异常检测z 分数每项指标的机器学习
远程管理(文件、shell、编辑器)内置不在其职责内
托管站点与 PHP 版本识别支持-
多服务器视图,自托管内置父节点或 Cloud
许可闭源代理为 GPLv3
可用于虚拟主机可以不行

绿色不代表「更好」,只代表「在这一行更强」。这些行里有一半是 Netdata 的——这才是老实的图景。

该选哪个

选 Netdata,如果服务器是你自己的、可以安装代理;你想要最大的指标深度和长期保留;你需要采集全天候进行、与你自己的机器无关;你想要可以审计的开源;或者你要监控的是几十到上千个节点。

选 Termal OS,如果你在目标机器上什么都装不了——虚拟主机、客户的机器、被锁死的虚拟机;你管理的是几台到几十台 Linux 服务器;你希望在发现问题的那个窗口里就把它解决掉;或者你希望凭据和指标都留在自己的机器上,不交给任何云端账户保管。

两个一起用,也是完全成立的答案

这两个工具并不互斥。在你自己拥有的服务器上,它们配合得相当好:Netdata 负责深入而持续的可观测性,Termal OS 则是需要动手时的那个驾驶舱。Termal OS 不往服务器上加任何东西,因此不可能和已有的代理起冲突。

Termal OS 目前的状态

免得你下载之后才发现:

  • 采集需要应用在运行。后台采集与窗口无关——你可以关掉界面,它照样轮询和告警——但应用必须运行在一台醒着的机器上,且凭据保险库处于解锁状态。合上笔记本,采集就停了。Netdata 没有这个约束。
  • 规模。为几台到几十台服务器设计。它不是为上千台主机准备的,也没有 SNMP、网络发现和 Windows 监控。
  • 它是一个处于公开 Preview 阶段的 0.x 版本。目前免费,最多 3 台服务器。Windows 和 macOS 的安装包尚未完成代码签名,因此这两个平台上的自动更新被刻意关闭了——理由写在安全页上。
以上每一条都可以核实。Termal OS 运行在你自己的机器上,只与你的服务器通信——去看看流量,自己确认一下。