| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了微博增值团队在Go服务可观测性方面的实践与探索。内容包括使用OpenTelemetry Client SDK进行手动埋点,收集运行时数据,并利用Go Hook、WASM、eBPF等技术。团队内部封装了官方包以统一管理和控制版本,增强数据收集,与内部框架集成实现开箱即用,并支持内部Client SDK。此外,基于业务特性进行深度埋点,如基于uid查询用户调用链路。文档还展示了OTEL COLLECTOR的使用和具体异常案例。 | ||
| AI总结 | ||
微博增值团队在Go服务可观测性方面的实践与探索,核心围绕OpenTelemetry(OTEL)展开。团队选择手动埋点方式,使用OpenTelemetry Go SDK,并进行了以下关键实践:
1. **技术选型**:对比了运行时收集(如Go Hook、WASM、eBPF)和手动埋点,最终选择了OpenTelemetry Client SDK,因为其成熟度和可控性更高。
2. **内部封装与增强**:对官方SDK进行了浅层封装,以便统一管理和控制版本。同时,在官方最小规约基础上增强了数据收集,例如支持内部Client SDK、与内部框架集成实现开箱即用,并基于业务特性(如按用户ID查询调用链路)进行深度埋点。
3. **数据存储与查询**:展示了用于存储HTTP Span统计信息的物化视图(Materialized View)SQL示例,该视图聚合了请求延迟(P99、P95等)、错误计数、状态码等关键指标。
4. **案例与效果**:通过具体异常案例(涉及多个IP地址和调用关系)展示了可观测性在问题排查中的应用。团队通过OTEL Collector收集数据,实现了对服务运行状态的监控和故障定位。
总结而言,团队通过定制化OpenTelemetry SDK,实现了对Go服务的高效可观测性,解决了数据收集、统一管理和业务深度关联的问题。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
18 页请下载阅读 -
文档评分














2.1.3 微博增值团队在Go服务可观测性的实践与探索