桃子桃子快讯
返回首页
工具

Beacon:自托管错误追踪与 LLM 调用可观测工具

开发者发布开源自托管工具 Beacon,提供错误聚合、终端与 Web 仪表盘,并可追踪 LLM 调用的 token、延迟…

2026.08.10 · 周一3 分钟阅读

Beacon 是一款面向开发者的自托管错误追踪与监控工具,同时集成 LLM 调用可观测能力。它从任意服务采集错误,按根因自动归组,并在终端仪表盘中实时展示,整个过程不依赖第三方服务,数据不离开用户基础设施,也没有按事件计费的费用结构。官方将其定位为「轻量级、可自托管、终端优先」的 Sentry 替代品。

核心功能与部署

Beacon 提供两种启动方式:通过 Docker Compose 一键启动,或直接使用 pip 安装依赖后运行 Python 脚本。默认服务监听 http://localhost:7000,用户可在另一个终端中启动基于 Textual 的实时 TUI 仪表盘,查看错误分组、告警与部署标记等信息。项目同时附带基于 Vite + React 的 Web 仪表盘,构建后由 ingest 服务直接提供,浏览体验与 TUI 数据保持一致。

  • 错误归组基于「指纹」机制:取异常类型 + 规范化消息 + 函数调用链的哈希值,忽略行号变化。
  • 支持通过环境变量配置 BEACON_API_KEYSLACK_WEBHOOK_URL,错误组触发阈值时向 Slack 推送告警。
  • 存储层使用 SQLite,依赖简单,无需额外部署数据库。

LLM 可观测性

Beacon 的差异化卖点是同时追踪 LLM 调用。Node.js SDK 与 Python SDK 均提供 captureLlm 接口,记录模型名、输入/输出 token 数、延迟与估算成本(按 OpenAI GPT-4o 价格 0.000005/0.000015 美元每 token 计算)。未处理异常与 Promise 拒绝会被自动捕获,业务代码只需在入口处 init 即可启用监控。

  • Node.js SDK 零外部依赖,仅使用 Node 内置 http/https 模块。
  • Python SDK 依赖 requests,需将 sdk/python/beacon/ 复制到项目中并调用两行初始化代码。
  • 任意语言均可通过 HTTP POST 向 /ingest 端点上报错误,无需使用 SDK。

技术栈与路线图

当前 ingest 服务使用 Python + Flask,仪表盘基于 Textual,告警通过 Slack Webhook 发送,容器化采用 Docker。官方公布的路线图包括:部署标记关联、环境标签、Spike 速率告警、静默 7 天后重新触发的回归告警、TUI 中直接 resolve/ignore 分组、从错误组一键创建 GitHub Issue,以及用 Go 重写核心服务并引入 Redis 热路径等。

相比 Sentry,Beacon 面向的是希望完全掌控基础设施、避免按事件计费、习惯终端工作流并能阅读修改源码的开发者。

信源