对比

Termal OS 对比 Datadog。

Datadog 是可观测性领域的一整个星系。Termal OS 只是一个工具。逐条功能去比会很不诚实——所以这里只做那一种真正有意义的比较。

简短回答

如果你是在认真评估 Datadog——分布式服务、跨十几个微服务的链路追踪、日志检索、值班轮换、一整个工程组织——那么Termal OS 不是它的替代品,你不应该拿它来顶替。与其让你下载之后才发现,不如我们在这里先说清楚。

这场比较真正有意义的读者,是那些为了小得多的事情才用上 Datadog 的人:几台 Linux 服务器、几个网站,以及「磁盘满了要知道」这样一个需求。那正是一个按主机按月计费、还要另算用量的平台,开始显得不成比例的地方。

Datadog 做得更好的地方

在它自己的领域里,几乎是全部。具体来说:

  • 覆盖面。指标、日志、链路追踪、APM、真实用户监控、合成监测、安全、Kubernetes,以及与数百种服务的集成。Termal OS 做的是系统指标和服务器管理。清单就这么长。
  • 始终在线,任意规模。代理程序持续采集,与任何人的笔记本无关,覆盖上千台主机和短生命周期的容器。
  • 团队能力。成熟的权限体系、SSO、审计、值班流程,以及为多人共享而设计的仪表盘。
  • 关联分析。从一次延迟尖峰跳到链路,再跳到造成它的那行日志——这确实很有价值,而 Termal OS 一点都做不到。

三个真正的差别

与其假装在功能清单上和它较劲,不如说说:对一个小规模的 Linux 服务器群来说,改用 Termal OS 究竟会带来什么变化。

  • 你的数据不会离开你的机器。这是结构性的差别,不是一项功能。Datadog 是 SaaS:你的遥测数据会送到他们的云上——而这恰恰正是上面那种关联分析得以可能的前提。Termal OS 是桌面应用——指标存在本地的 SQLite 数据库里,SSH 凭据用 AES-256-GCM 在本地加密,而我们的服务器自始至终只看得到一次许可证校验。对于任何受数据驻留约束、或者单纯不愿把服务器遥测交给第三方的人来说,这一点就是决定性的。安全页会逐条列出究竟有哪些数据外发。
  • 服务器上什么都不装。Datadog 需要在每台主机上安装它的代理。Termal OS 用的是你已有的一条 SSH 连接——这也意味着它能在虚拟主机和受管主机上工作,而在那些地方,安装代理根本就不是一个选项。
  • 账单不会随服务器数量增长。Datadog 按主机按月计费,日志、APM 和自定义指标还要在此之上另算用量;随着规模扩大,成本以难以预测著称(当前的具体金额请看他们的价格页——我们不会去引用一个会变的数字)。Termal OS 是一份固定的年度授权,一台服务器一个用户免费,Preview 期间最多三台服务器免费。

还有一个额外的差别,和监控完全无关:Termal OS 内置了一个完整的远程桌面——SFTP 浏览器、终端、代码编辑器、浏览器——所以你发现问题的那个窗口,也就是你修好它的地方。

逐项对照

 Termal OSDatadog
遥测数据存放在哪里你的机器他们的云
被监控服务器上需安装代理程序
计费模式固定年度授权按主机 + 用量
可用于虚拟主机可以不行
APM、链路追踪、日志检索-非常完整
集成-数百种
大规模 Kubernetes / 容器仅 Docker支持
你离开时是否继续采集应用须运行始终
自定义仪表盘固定视图完全可自定义
远程管理(文件、shell、编辑器)内置不在其职责内
现实的服务器群规模几十台没有上限

该选哪个

继续用 Datadog,如果你运行的是分布式服务,需要链路追踪和日志关联;你们有值班轮换的团队;你要大规模监控容器;或者可观测性是有人全职负责的一项职能。这里没有任何内容是要劝你放弃一个本来就合适的工具。

可以看看 Termal OS,如果你是独立开发者、自由职业者,或者一家管着几台 Linux 服务器和若干网站的小工作室;如果按主机计费的账单,和你实际盯着的东西完全不成比例;如果你不能、或者不愿把服务器遥测数据发给第三方的云;又或者你花在管理这些服务器上的时间,和观察它们的时间一样多。

Termal OS 目前的状态

  • 它不是一个可观测性平台,短期内也不会变成一个。没有 APM,没有分布式链路追踪,没有日志聚合与检索,也没有自定义仪表盘的构建器。
  • 采集需要应用在运行。关掉窗口后它仍在轮询,但机器必须是醒着的,保险库必须已解锁。Datadog 的代理没有这种限制——如果「无人值守的全天候告警」是硬性要求,这个差距是真实存在的。
  • 规模小,仅限 Linux,通过 SSH。几台到几十台服务器,没有 SNMP,没有 Windows,也没有网络发现。
  • 0.x 版本,处于公开 Preview 阶段。Windows 和 macOS 的安装包尚未完成代码签名,因此这两个平台上的自动更新被刻意关闭了。