所有信号,一条清晰的线索。

LogBrew 把日志、链路、问题和版本串联起来,让每次故障都有据可查。

LogBrew
LogBrew

日志

搜索消息;当某条日志能解释故障时,打开对应链路。

日志

POST /webhooks/payments

{
  "title": "POST /webhooks/payments",
  "project": "Checkout API",
  "duration": "12 ms",
  "spans": 3,
  "trace_id": "webhook-8e91",
  "issue_id": "PAY-1043",
  "request_id": "req-webhook-8e91",
  "release": "checkout-api@1.24.0",
  "environment": "production",
  "http": {
    "method": "POST",
    "route": "/webhooks/payments",
    "status_code": 400
  },
  "operations": [
    {
      "span_id": "webhook",
      "parent_span_id": null,
      "name": "POST /webhooks/payments",
      "start_offset_ms": 0,
      "duration_ms": 12,
      "status": "error"
    },
    {
      "span_id": "secret",
      "parent_span_id": "webhook",
      "name": "signing_key.load",
      "start_offset_ms": 0,
      "duration_ms": 3,
      "status": "ok"
    },
    {
      "span_id": "verify",
      "parent_span_id": "webhook",
      "name": "signature.verify",
      "start_offset_ms": 3,
      "duration_ms": 9,
      "status": "error",
      "attributes": {
        "key_version": "v7",
        "signature_match": false,
        "payload_logged": false
      }
    }
  ],
  "logs": [
    {
      "offset_ms": 0,
      "severity": "info",
      "message": "Payment webhook received; provider event evt-9032"
    },
    {
      "offset_ms": 3,
      "severity": "info",
      "message": "Loaded signing key version v7 from runtime configuration"
    },
    {
      "offset_ms": 12,
      "severity": "error",
      "message": "Signature verification failed; returned 400 without updating order state"
    }
  ]
}

让证据发挥作用。

找到反复出现的故障

先查看归并的问题及其最近一次发生记录,再决定排查什么。

阅读问题指南
LogBrew
LogBrew

问题

搜索故障并打开链路上下文。

问题
错误Checkout API3
严重Checkout API18
警告Checkout API6
信息Checkout API12

查看故障前发生了什么

沿着故障前后采集到的日志和操作记录(Breadcrumbs)追查,同时保留请求上下文。

阅读排查指南
LogBrew
LogBrew

链路

打开一个请求,查看它的路径和相关信号。

链路
Checkout API错误12 ms3
Checkout API正常46 ms3
Checkout API正常8 ms2
Checkout API错误2,548 ms4

和你的智能体一起排查

把采集到的上下文带进你的编码流程。先审查证据,再决定修改什么。

阅读智能体指南
LogBrew
LogBrew

POST /webhooks/payments

{
  "title": "POST /webhooks/payments",
  "project": "Checkout API",
  "duration": "12 ms",
  "spans": 3,
  "trace_id": "webhook-8e91",
  "issue_id": "PAY-1043",
  "request_id": "req-webhook-8e91",
  "release": "checkout-api@1.24.0",
  "environment": "production",
  "http": {
    "method": "POST",
    "route": "/webhooks/payments",
    "status_code": 400
  },
  "operations": [
    {
      "span_id": "webhook",
      "parent_span_id": null,
      "name": "POST /webhooks/payments",
      "start_offset_ms": 0,
      "duration_ms": 12,
      "status": "error"
    },
    {
      "span_id": "secret",
      "parent_span_id": "webhook",
      "name": "signing_key.load",
      "start_offset_ms": 0,
      "duration_ms": 3,
      "status": "ok"
    },
    {
      "span_id": "verify",
      "parent_span_id": "webhook",
      "name": "signature.verify",
      "start_offset_ms": 3,
      "duration_ms": 9,
      "status": "error",
      "attributes": {
        "key_version": "v7",
        "signature_match": false,
        "payload_logged": false
      }
    }
  ],
  "logs": [
    {
      "offset_ms": 0,
      "severity": "info",
      "message": "Payment webhook received; provider event evt-9032"
    },
    {
      "offset_ms": 3,
      "severity": "info",
      "message": "Loaded signing key version v7 from runtime configuration"
    },
    {
      "offset_ms": 12,
      "severity": "error",
      "message": "Signature verification failed; returned 400 without updating order state"
    }
  ]
}

接入你的应用

为你的应用选择集成方式,按照接入指南发送第一个信号。

阅读接入指南

让每个信号都通向答案。

打开 LogBrew,把下一个线上问题变成一次有重点的排查。

LogBrew 常见问题

了解如何接入你的应用、排查错误,以及和编码智能体协作。

LogBrew 通过归并的问题、日志和链路,帮你排查应用故障。打开一个问题可以查看它采集到的上下文,也可以在日志中搜索某个特定事件。能看到哪些详情,取决于你的集成方式和应用发送的数据。

日志记录的是单个事件,包括正常活动。错误追踪会把相关故障归并成问题,方便你查看重复发生的次数和最近一次发生的时间。先用问题选定要处理的故障,再查看相关日志获取上下文。

从一条采集到的发生记录开始,查看它的环境、版本、消息和堆栈跟踪。如果有相关日志和链路证据,也一并查看。即使无法在本地复现,这些记录也能缩小排查范围,但不能保证找到根本原因。

如果你的集成采集了操作记录(Breadcrumbs)或相关日志,问题详情就能显示故障前后的事件。关联的链路还能补充操作耗时。应用没有采集的活动,LogBrew 无法还原。

日志记录一个事件。堆栈跟踪显示与错误相关的函数调用。分布式链路跟踪一个请求或任务中的相关操作,可能跨越多个服务。调试时,它们分别回答不同的问题。

在“问题”中查看归并后的故障、发生次数和最近一次发生记录。按项目和时间范围缩小结果,再查看单条发生记录。重复出现能帮你发现规律,但它本身并不能衡量对用户的影响。

当你的集成采集并传播匹配的链路上下文时,相关事件就可以关联起来。仅凭相同的时间戳或相似的消息,不足以证明两个事件属于同一个请求。请按照每个集成的链路追踪说明进行配置。

错误可能是在没有活动链路上下文的情况下采集的。查看时,链路也可能暂时不可用。请检查问题详情中的证据状态,以及集成的链路追踪配置。升级 SDK 不会为旧的发生记录补上链路上下文。

可以。使用现有的排查上下文、CLI 或 MCP 工具,为智能体提供限定范围的证据。智能体指南介绍了具体流程。请确认你共享了哪些数据,不要把凭据放进提示词,并在应用修改前审查它提出的更改。

可以直接在控制台中排查,智能体工具是可选的。两种方式都应基于采集到的证据,并让缺失或有限的上下文保持可见。LogBrew 不保证能自动修复。

创建一个项目,为你的语言或框架选择集成,然后按照接入指南操作。发送一个安全的测试事件,确认它出现在目标项目中。不同集成支持的信号和配置有所不同。

先检查所选项目、日期范围和其他筛选条件,再核对项目配置和集成发送的信号。日志、问题和链路是各自独立的数据流,所以“日志”页为空,并不代表没有收到问题。

你可以把遥测数据按项目组织,并在支持的视图中选择一个、多个或你能访问的所有项目。服务用于标识项目内负责上报的组件。比较前端、后端和后台任务的活动时,请分清这些范围。

采集和传输遥测数据会占用资源。影响大小取决于你的 SDK、配置和事件量。请在有代表性的负载下测试集成,并使用该 SDK 文档中提供的控制选项。不要假设开销为零。

不要在消息、属性或错误上下文中包含密钥或不必要的个人数据。检查 SDK 的采集和脱敏选项,在生产环境启用集成前,先查看一个安全的测试事件。不要假设每个字段都会被自动移除。

在“价格”页面查看当前套餐和包含的额度。登录后,在账号和用量页面查看你账号的相关信息。请以当前套餐详情为准,不要默认可以无限采集。