指标、日志、链路是服务可观测性的三大支柱,在服务稳定性保障中,通常指标侧重于发现故障和问题,日志和链路分析侧重于定位和分析问题,其中日志实际上是串联这三大维度的一个良好桥梁。
但日志分析往往面临成本和效果之间的权衡问题,没有完美的方案只有适合的方案,本文将结合实战经验,介绍一种日志分析的实现,分析如何在稳定性保障中用好日志这个维度,以及日志如何与指标、链路相互配合形成故障定位的最佳实践。
日志分析难点
1)规范问题:服务模块的语言和框架各异,日志格式不规范,分析困难;
2)管理问题:微服务模块众多,日志收集和管理困难;
3)成本问题:日志的保存和计算分析需要消耗大量的资源,主要是存储计算资源,使用成本高;
日志分析方案
本文推荐一种在稳定性保障中,经过考量和实战的日志分析方案。故障处理场景中日志分析的核心思路:
- 日志到指标:基于网关日志分析接口、域名、渠道、端等维度的关键指标(流量、成功率、延迟);
- 指标到大盘:网关日志分析计算出的维度指标(流量、成功率、延迟)用作全局服务大盘/大屏的建设,用以观察服务的全局状态;
- 指标到日志:这类维度指标的生成来源于日志计算,天然可以实现指标到日志的关联,在发现指标趋势异常时,能够方便的调出相应时间的日志原文;
- 日志到链路:具体的日志原文中带有 traceid,或模块和接口的信息,基于此信息可打通trace系统,调出具体请求或模块的trace信息,展示请求的调用链路,分析调用异常的底层来源;
- 链路到日志:在trace的异常点下钻查询日志系统,调出对应模块和接口的详细日志,做进一步的异常判断;

本文探讨了服务可观测性中的日志分析难点,如规范、管理和成本问题,提出了一种结合实战的日志分析方案,强调了网关日志的价值。Flashcat被用来解决混合云环境中的数据整合和成本控制问题,实现了从日志到指标、链路的全链路分析。
最低0.47元/天 解锁文章
385

被折叠的 条评论
为什么被折叠?



