活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | 失败时间。 |
| error_fingerprint | Utf8 | 稳定的标准化误差组。 |
| team_id | Utf8 | 安全受影响的帐户标识符。 |
| status_code | Int64 | HTTP 状态代码。 |
DataFusion SQL
复制查询
sql
SELECT
error_fingerprint,
COUNT(*) AS occurrences,
COUNT(DISTINCT team_id) AS affected_teams
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND status_code >= 500
AND error_fingerprint IS NOT NULL
GROUP BY error_fingerprint
ORDER BY affected_teams DESC, occurrences DESC
LIMIT 20;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
受错误指纹影响的团队
税务服务超时的重复次数比 OAuth 错误少,但影响范围更广。
checkout.tax_service_timeout
73
sync.oauth_token_expired
18
report.pdf_render_failed
16
| error_fingerprint | occurrences | affected_teams |
|---|---|---|
| checkout.tax_service_timeout | 184 | 73 |
| sync.oauth_token_expired | 920 | 18 |
| report.pdf_render_failed | 44 | 16 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1稳定的指纹应该删除请求 ID 和其他易失性消息片段。
- 2COUNT DISTINCT team_id 衡量广度,而出现次数衡量重复。
- 3按受影响的帐户排序使第一个分类视图更接近用户影响。
需要决定的边缘情况
- 每当标识符发生变化时,对整个原始错误消息进行哈希处理就会创建一个新组。
- 匿名或未经身份验证的请求需要不同的影响维度。
- 不要在分组字段中包含原始堆栈跟踪或个人数据。
推荐仪表板
- 指纹条:affected_teams
- 表:发生次数和最新版本
- 趋势:随着时间的推移,最流行的指纹
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。