指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读


北京联盟_本文原题:爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文转载:爱奇艺技术产品团队
作为一线程序猿 , 是否有过类似经历?新接手一个系统 , 各接口入口流量是多少 , 又是哪些业务方在调用?系统大量异常报警 , 如何快速锁定影响范围 , 恢复故障并定位问题?接口调用超时 , 究竟是客户端问题还是服务端响应慢 , 还是网络波动来背锅?
监控的重要性不言而喻 , 可是接入监控的额外工作又让人望而却步?每天编写代码之余 , 又要花多少时间定位线上问题?自己负责的系统故障 , 是否要等调用方反馈才知道?本文分享爱奇艺有关微服务监控的实践和思考 。
如文章《爱奇艺视频后台从"单兵作战"到"团队协作"的微服务实践》所述 , 2018年爱奇艺信息流技术团队基于Spring Cloud和公司服务云组件 , 实现了业务系统的全面微服务化 。 微服务的拆分 , 一方面提升了服务负责人的ownership , 助力业务快速迭代 。 另一方面 , 随着微服务的增加 , 监控成本随之增加 , 构建简单有效的微服务监控体系的诉求愈发强烈 。 本文从以下3个方面展开介绍 。
? 背景&初探:介绍建设微服务监控体系的背景 , 微服务监控体系建设初期的探索和尝试 。
? 演进&实践:基于早期微服务监控探索和思考 , 落地微服务微服务监控体系的具体实践 。
? 总结&展望:总结微服务监控建设过程中的实践和思考 , 以及工作规划 。
背景&初探
经过一年多的野蛮生长 , 信息流团队微服务发展快速 , 人均负责5个微服务以上 , 为了全面了解每个微服务运行情况 , 第一时间感知微服务异常 , 快速定位线上问题 , 提高运维效率 , 微服务建设初期我们尝试了多种监控方案 。
这个阶段 , 我们对微服务监控缺少系统的理论认知和实践经验 , 所以更多是对已有的监控基础设施和框架低成本的整合和适配 。
下面分别从日志监控 , Hystrix监控 , Actuator监控 , 拨测监控5个方面介绍 。
日志监控
基于日志的监控方案 , 原理如下图 , 业界技术方案成熟(例ELK) , 公司也提供了通用解决方案(Venus) , 容易落地 。 缺点是 , 日志监控链路较长 , 延迟时间大 , 报警可能不够及时 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

Hystrix监控
很长一段时间Hystrix是服务熔断降级监控的代名词 , Spring Cloud应用中使用hystrix极致易用 , 从低成本埋点 , 到配置动态调整 , 再到原生的可视化Dashboard , 使用成本都很低 。 缺点是 , 指标数据原生没有持久化 , 二次开发有一定成本 。
下图描述基于Hystrix监控的方案 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

Actuator 监控
Actuator端点是Spring Boot应用开发者的最大福利之一 , 可以零成本了解单实例运行情况 。 缺点是 , 同服务多实例指标聚合 , 指标持久化 , 指标时序可视化 , 都需要二次开发 。 下图描述Actuator端点监控的方案 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

拨测监控
对于面向用户的服务 , 用户所处网络 , 地域差异性很大 , 应用本身可用不代表用户可以正常使用服务 , 这就需要从用户角度 , 对服务可用性进行定时拨测 。
下图描述拨测监控的方案 , 主要包括微服务实例自发的健康检查和各拨测点定时拨测 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

链路监控
链路监控既可用于调用链路分析 , 快速定位具体问题 , 又可用于梳理服务拓扑结构和依赖合理性 , 是微服务监控必不可少的一环 。


推荐阅读