Traceway 完全指南:MIT 许可的自托管可观测性平台,90 秒部署

Traceway 是一个 MIT 许可、原生基于 OpenTelemetry 的可观测性平台,把日志、链路追踪、指标、会话回放、异常监控和 AI 可观测性整合到一套自托管系统中。最吸引人的数字是:一条 docker compose up -d 命令,大约 90 秒就能跑起来。

Hacker News 上,这个项目获得了 31 分,讨论主要围绕它和 SigNoz、Grafana 的 Loki+Tempo+Mimir 等现有开源可观测性工具的对比。Traceway 的关键区别是:纯 MIT 许可,没有任何"开源核心"限制——没有 BSL,没有需要付费才能解锁的功能。所有功能都在包里,装好就有。

如果你是一个中小团队,厌倦了 SaaS 可观测性平台的高额账单,或者因为隐私原因不想把遥测数据发送到第三方云,Traceway 值得认真看看。本文带你完整了解它。

Traceway 是什么

Traceway 是一个围绕 OpenTelemetry 从头构建的可观测性后端。你把任何 OTel SDK 的 OTLP 导出器指向它——不需要 Collector,不需要胶水代码,不需要每种语言各自的厂商 SDK。直接通过 OTLP/HTTP 接收链路、指标和日志,原生支持 Protobuf 和 JSON 格式。

项目自己的定位是"你唯一需要知道发生了什么以及怎么修复的工具"。这个说法挺自信的,但功能列表确实够全面:

MIT 许可:没有隐患

Traceway 最值得注意的设计决策是 MIT 许可。这一点很重要,因为可观测性工具在开源世界里有一段复杂的许可历史。

很多流行的替代方案用了限制性更强的许可证。Grafana 的 Loki 和 Tempo 是 AGPLv3,Elasticsearch 从 Apache 2.0 切换到了 SSPL/Elastic License,还有不少项目用 BSL(商业源码许可)或"开源核心"模式——部分功能需要付费订阅。HashiCorp 把 Terraform 和 Consul 从 MPL 改成 BSL 的做法,让很多团队对这类项目持谨慎态度。

Traceway 走了相反的方向。整个平台——包括会话回放、AI 可观测性、多租户和告警系统——全部 MIT 许可。自托管的 Traceway 没有任何付费版。项目通过 Traceway Cloud(托管服务)盈利,但跑在云上的代码和你在自己服务器上跑的是同一份 MIT 代码。

Traceway 的 README 里有一个清晰的对比表:

90 秒部署:怎么做到的

Traceway 最让人印象深刻的部分是部署体验。完整流程只有两步:

git clone https://github.com/tracewayapp/traceway
cd traceway && docker compose up -d
# ✓ 打开 http://localhost 就能看到面板

没了。Docker Compose 栈运行三个服务:

启动后打开 http://localhost/register 注册账号,然后把任意 OTel SDK 指向 http://localhost/api/otel/v1/traces(或 /metrics/logs),链路数据就立刻出现在面板上了。

对于想要更少基础设施的团队,Traceway 还支持 嵌入式模式——把整个可观测性后端跑在 Go 进程内部,用 SQLite 替代 ClickHouse + PostgreSQL:

go get github.com/tracewayapp/traceway/backend

import tracewaybackend "github.com/tracewayapp/traceway/backend"

func main() {
  go tracewaybackend.Run(
    tracewaybackend.WithPort(8082),
    tracewaybackend.WithDefaultUser("admin@localhost.com", "admin"),
    tracewaybackend.WithDefaultProject("My App", "go", "dev-token"),
  )
}

这种嵌入式模式特别适合开发环境、CI/CD 流水线,或者那些跑 ClickHouse 有点大材小用的单实例部署。

技术栈

Traceway 的架构选择非常务实:

选择 Go 后端是有意为之——单个二进制部署,除了数据库没有其他运行时依赖。不需要 JVM,不需要 Node.js 服务进程,不需要 Python 运行时。加上 Docker Compose,"90 秒部署"确实不是吹的。

客户端 SDK 和集成

Traceway 兼容所有 OTel SDK,同时也提供了自带会话回放功能的一方集成:

后端集成(Go 生态)

全栈 / 前端集成

所有集成都通过 OTLP/HTTP 传输链路、指标和日志。不需要任何专有 SDK。对于前端框架来说,会话回放功能也是开箱即用的。

Traceway 与竞品对比

对比 SigNoz

SigNoz 是最接近的开源竞品——同样基于 OTel、可自托管、功能集类似。底层都用了 ClickHouse。主要区别:SigNoz 的企业功能是专有许可(开源核心模式),而 Traceway 全部 MIT。Traceway 自带会话回放和 AI 可观测性,SigNoz 需要额外集成。

对比 Grafana 全家桶(Loki + Tempo + Mimir + Grafana)

Grafana 生态在大规模场景下久经考验,但运维复杂度是真实的——至少需要管理四个独立服务外加 OTel Collector。每个组件有自己的配置、保留策略和扩缩容行为。对于中小团队来说,Traceway 单服务部署要简单得多。

对比 Datadog / New Relic

SaaS 巨头在成熟度、集成广度和零运维上胜出。但它们败在成本——可观测性账单高得离谱已经是业内共识。对于 10-50 人的工程团队,自托管 Traceway 每月可以省下几千到几万美元,同时获得相当的可观测性能力。

对比 OpenObserve

OpenObserve 是另一个有趣的开源选项(AGPL 许可),功能类似,号称存储成本比 Elasticsearch 低很多。Traceway 的 MIT 许可在商业环境中避免 AGPL 的传染性问题,对某些团队来说是法律上的优势。

什么时候该用 Traceway

以下场景特别适合 Traceway:

但它可能不适合:

快速上手

最快的方式就是前面说的 Docker Compose 方案。生产环境部署时,文档建议:

完整教程在 docs.tracewayapp.com

社区和路线图

Traceway 在开放中开发,Discord 社区很活跃。团队在里面讨论功能需求、帮助解决部署和 OTel 连接问题、分享使用案例,还会提前透露即将推出的功能。

欢迎贡献代码——PR 会有人审阅和合并。项目目前还比较早期,社区的意见确实能影响路线图。缺某个框架的集成?你可以提 issue,也可以自己贡献一个。

写在最后

Traceway 的目标不是和 Datadog 正面竞争。它的目标是让可观测性变得触手可及——让那些没有企业 SaaS 预算的团队、不想维护 Grafana 全家桶的团队、以及不能把遥测数据发给第三方云的团队,也能拥有专业的可观测性能力。

MIT 许可才是这个故事的核心。在可观测性工具越来越倾向限制性许可的行业趋势下,Traceway 坚持宽松许可,消除了一类法律和运维层面的隐忧——那些你在选择工具时必须考虑的"万一以后它换许可证怎么办"的问题。

90 秒部署、没有按事件计费、云端跑的代码和你自己服务器上跑的是同一份。这个价值主张非常有说服力——也解释了为什么它能在 Hacker News 上获得 31 分。


相关链接:
GitHub 仓库官方网站文档Traceway CloudDiscord 社区Hacker News 讨论