用途:这是 Honeycomb 可观测性方法论的入门概念技能,用于为建议提供理论依据并回答概念性问题;SDK 配置与具体工具用法需参考 otel-instrumentation 和 query-patterns 技能。
主要概念:可观测性指无需为新问题部署新代码,就能通过系统产出的数据理解并解释系统可能进入的任何状态。宽事件是扁平键值记录,捕获一次工作单元的全部上下文,如请求方、端点、缓存命中、构建版本、耗时、错误状态等;在 OpenTelemetry 中 span 即宽事件。高基数指字段唯一值数量,高维度指事件上不同字段的数量。
与监控的差异:可观测性面向事先未知的任意问题,数据形态在查询时决定,高基数有价值,调查方式是探索→缩小→确认;传统监控面向预定义问题,形态在埋点时决定,高基数昂贵,方式是看仪表盘→升级处理。
为何用宽事件:数据形态限制后续能提的问题。指标在埋点时预聚合掉上下文,宽事件保留上下文,让分析形态在查询时决定。span 上每个属性都是可查询维度,可把 user.id、deployment.version、cache.hit 放在同一 span 中关联查询。
事件、指标、日志:结构化事件保留完整请求上下文,不丢弃原始事件,支持任意维度 GROUP BY、过滤与 BubbleUp,成本随事件量线性增长,适合调查与根因分析;指标是带低基数标签的预聚合数字,丢弃单请求与高基数维度,成本随维度数指数增长,适合廉价告警与长期趋势;日志按行记录文本或结构化字段,缺少跨行关联,适合审计与罕见事件。
核心分析循环:定义→可视化→调查→评估。定义即从告警、SLO 预算消耗或用户报告框定问题;可视化用查询看问题形态;调查用 BubbleUp 自动对比异常与基线并做追踪分析;评估通过有无疑似原因的对比查询确认假设,然后继续循环。BubbleUp 依赖事件有足够维度可对比。
埋点与调查的关系:span 上每个属性都是 BubbleUp 可用的维度,最重要的属性回答谁受影响、什么变了、瓶颈在哪。应针对凌晨三点会问的问题埋点,而非追求完整;若 BubbleUp 无有用结果,通常是埋点缺口。埋点应像测试一样作为开发实践,规划功能时规划遥测,在代码评审中检查,并在事后补充缺失维度。
限制:本技能为概念性内容,不提供 SDK 配置步骤;具体属性目录与 SDK 用法见其他技能,资料未提供收费、价格与平台信息。