- 托管 ClickStack
- ClickStack 开源版
以下指南假设您已完成托管 ClickStack 入门指南,并已记录连接凭据。此文件包含来自我们的公开 OpenTelemetry demo 的示例日志、指标和链路追踪——它是一个由微服务构成的简单电商应用。将此文件复制到你选定的目录中。这会模拟 OTLP 日志、trace 和指标源向 OTel collector 发送数据。在生产环境中,这些源可能是各种语言的客户端,甚至也可能是其他 OTel collector。返回
选择服务
在 ClickHouse Cloud 主页面中,选择“托管 ClickStack”服务。前往 ClickStack UI (HyperDX)
在左侧菜单中选择ClickStack,即可进入 ClickStack UI,系统会自动完成身份验证。下载示例数据
为了让 UI 中显示示例数据,请下载以下文件:示例数据加载样本数据
要加载这些数据,只需将其发送到已部署的 OpenTelemetry (OTel) collector 的 HTTP 端点即可。运行以下命令,将数据发送到 OTel collector:Search 视图后,你应该会看到数据已开始加载 (如果没有显示数据,请将时间范围调整为 Last 1 hour) :数据加载需要几分钟。请等待加载完成后再继续后续步骤。查看会话
假设我们收到报告,称用户在支付商品时遇到了问题。我们可以使用 HyperDX 的会话回放功能查看他们的操作过程。从左侧菜单中选择Client Sessions。此视图可让我们查看电商商店的前端会话。在用户结账并尝试完成购买之前,这些会话都会一直显示为 Anonymous。请注意,部分带有电子邮件地址的会话还关联了错误,这可能进一步印证了交易失败的报告。选择一个失败且关联了电子邮件地址的 trace。随后出现的视图允许我们回放该用户的会话并查看其问题。按下 play 观看该会话。回放中可以看到用户浏览站点并将商品加入购物车。你可以直接跳到会话稍后的位置,查看他们尝试完成付款的过程。用户未能成功下单,但没有明显的报错。滚动到左侧面板底部,这里包含来自用户浏览器的 Network 和 Console 事件。你会注意到,在发起 /api/checkout 调用时抛出了一个 500 错误。选择这个 500 错误。无论是 Overview 还是 Column Values,都没有指出问题的来源,只能看出这是一个意外错误,导致了 Internal Error。查看链路追踪
导航到Trace 选项卡,查看完整的分布式 trace。向下滚动该 trace,查看错误的根源——checkout 服务的 span。选择 Payment 服务的 span。选择 Column Values 选项卡并向下滚动。我们可以看到,问题与缓存已满有关。向上滚动并回到 trace 视图后,我们可以看到日志已与该 span 关联,这得益于我们之前的配置。这些日志提供了更多上下文。我们已经确认,支付服务中的缓存被占满,导致支付无法完成。查看日志
如需进一步了解详情,我们可以返回Search:从数据源中选择 Logs,并为 payment 服务添加过滤条件。可以看到,虽然这个问题是最近才出现的,但受影响的支付笔数很多。此外,似乎是一个与 Visa 支付相关的缓存导致了问题。图表指标
虽然代码中显然引入了错误,但我们可以使用指标来确认缓存大小。前往Chart Explorer 视图。选择 Metrics 作为数据源。完成图表构建器配置,绘制 visa_validation_cache.size (Gauge) 的 Maximum,然后点击 play 按钮。可以明显看出,缓存大小在达到最大值之前一直在增长,之后便开始产生错误。