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


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

集中可视化
不同的监控系统 , 往往会提供不同的可视化方案 。 分散的可视化 , 不利于监控数据的集中展示和全局问题分析 。 我们使用Grafana实现所有微服务 , 所有指标的集中可视化 。
每个微服务使用统一的监控模板 , 集中展示各服务入口流量、内部方法、JVM等相关指标 。 Dashboard模板主要包含以下模块:
? 维度筛选模块
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

? JVM和系统指标模块
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

? 入口流量机房分布&状态码&QPS&响应延时模块
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

? 方法监控指标模块
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

统一报警
基于前边定义的通用指标和维度 , 对所有指标配置默认的报警规则 , 同时支持自定义报警规则和阈值 。 基于Grafana Web hook将报警通知发送给Alert Manager , Alert Manager对报警进行相同合并、重复过滤、并格式化为统一报警模板后 , 投递到爱奇艺统一报警平台 , 业务owner通过统一报警平台完成报警订阅 。 统一报警方案及报警样例如下图 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

以上所述 , 爱奇艺信息流监控整体方案总结如下 。
指标|爱奇艺微服务监控的探索与实践 选型宝精选阅读
本文插图

自下至上包括4层:

  • 监控对象既包括常驻进程微服务 , 也包括短生命周期的非常驻进程 。
  • 指标获取方式既可以基于Prometheus实时拉取 , 也可以基于Venus日志收集 , 前者用于指标实时获取 , 保证监控报警时效性 , 后者记录详细日志 , 用于具体问题排查和链路分析 。
  • 监控维度从4个维度监控应用:
  1. Metrics监控宏观上检测系统QPS , 响应耗时 , 错误率和资源利用率;
  2. 拨测监控从用户角度监控服务可用性;
  3. 链路监控提供单个请求完整生命周期的跟踪路径 , 专门应对微服务架构带来的分布式调用复杂性;
  4. 日志查询提供应用监控最精细化的信息 , 用于具体问题排障 。
  • 集中管理 , 集中可视化和统一报警管理 , 在最上面一层 , 便于排查问题时全面快速获取应用所有监控报警信息 。 另外 , 微服务监控的统一认知和必要的流程规范 , 贯穿监控系统落地始终 。
监控系统落地1年多 , 新增服务基本实现零成本100%接入自动埋点、集中可视化和统一报警 , 业务owner不需要为接入监控做额外工作 , 就可以享受监控带来的各种便利;系统异常发生后 , 可以做到秒级收到报警 , 借助微服务监控大盘 , 配合链路监控和日志查询 , 分钟级确认异常影响范围并定位问题 , 大大减少故障恢复时间 , 提升运维效率;目前该方案也在多个其他团队推广落地 。
总结&规划
本文介绍了爱奇艺信息流团队微服务监控的探索和实践 , 涵盖了日志监控 , Hystrix监控 , 拨测监控 , 链路监控 , Prometheus监控等 , 从最初的多种监控方案兼容并包 , 到基于多维度数据模型和集中可视化的定制开发 。 不能简单说 , 后面的监控方案比前期的好 , 而是在微服务监控不同发展阶段 , 监控体系建设投入和收益的折中选择 。 下面是微服务监控探索过程中一些心得 。


推荐阅读