蚂蚁金服在 Service Mesh 监控落地经验总结

简介: Service Mesh 是目前社区最为炙手可热的技术方向,去年双11在蚂蚁金服得到全面的应用,并平稳顺滑的支撑了大促服务。作为目前规模最大的 Service Mesh 集群,本文从监控的领域对 Service Mesh 落地进行经验总结。

引言

Service Mesh 是目前社区最为炙手可热的技术方向,去年双11在蚂蚁金服得到全面的应用,并平稳顺滑的支撑了大促服务。作为目前规模最大的 Service Mesh 集群,本文从监控的领域对 Service Mesh 落地进行经验总结,主要从以下几方面进行介绍:

  1. 云原生监控,介绍蚂蚁金服 Metrics 监控的落地;
  2. 用户视角分析,介绍从应用 owner 的角度对这一基础服务设施的体验以及 SRE 从全站服务的稳定性对监控提出的要求;
  3. 未来的思考,介绍后续发展方向;

云原生监控

云原生应用的设计理念已经被越来越多的开发者接受与认可,今年蚂蚁金服应用服务全面云原生化,对我们监控服务提出更高的要求。目前 Metrics 指标监控服务也逐渐形成体系,如下图所示基于社区原生 Prometheus 采集方案在蚂蚁金服监控场景下落地。

基于社区原生 Prometheus 采集方案在蚂蚁金服监控场景下落地

怎么采集

蚂蚁金服监控采集 AGENT 是部署在物理机上,支持多个采集插件,如下图,包括执行命令、日志、HTTP 请求、动态 SQL 采集、系统指标采集、JVM 采集以及进程监控等,同时支持多个解析插件自定义解析、单行文本解析、Lua 脚本解析、JSON 解析以及 Prometheus 解析等。

蚂蚁金服监控采集

在Service Mesh 监控落地中,业务方参考业界标准输出 Metrics 指标数据,监控采集该物理机不同 Pod、App 和 Sidecar 的各项指标,包含 Metrics 指标和系统服务指标(CPU、MEM、DISK、JVM、IO 等),然后计算清洗集群节点通过拉取最近周期数据进行数据汇总、groupby 等,数据采集周期又分为:5秒级数据和分钟级数据。
对于 Service Mesh 来说,主要关注的指标有系统指标和 Metrics 指标:

  • 系统指标(包括 Pod、App 和 MOSN 等 Sidecar 多个维度的系统指标):

    • 系统指标, 包含 CPU、LOAD、MEM、BYTES、TCP、UCP 等信息;
    • 磁盘,包含分区可用空间、使用率等信息;
    • IO,包含 IOPS 等信息;
  • Metrics 指标:

    • PROCESSOR,包含 MOSN 进程打开的 fd 数量、申请的虚拟内存大小等进程资源信息;
    • GO,包含 MOSN 进程 goroutine 数量(G)、thread 数量(M)以及 memstats 等 go runtime 信息;
    • Downstream,包含全局下游累计建链数、总读取字节数、累计请求数、请求耗时等;
    • Upstream,包含上游请求失败次数、集群累计建链数、累计断链数、异常断链次数、上游请求平均耗时等;
    • MQ Mesh,包含发送消息总数、耗时、失败数等以及消费消息总数、耗时、失败数等;
    • Gateway Mesh,包含 qps、rt、限流以及多维度的成功数和失败数等;

数据计算

对于 Agent 采集的数据需要从不同维度向上汇聚,满足不同用户对不同视角(LDC、IDC、APP、架构域、站点等视角)的数据需求,以适配蚂蚁金服运维架构体系。

数据计算

此时对于这么大规模的数据体系,我们团队建设蚂蚁金服统一的监控数据计算平台。

  • 使用统一的监控数据标准、插件化的数据采集接入、通用的数据服务 API 服务来帮助不同的监控产品的快速迭代;
  • 建立一套健全的数据质量体系、高可用计算集群来保障监控数据质量;
  • 通过类 SQL 任务定义、自定义计算任务、插件化来提供丰富、开放的数据分析能力,来满足技术风险业务领域下各种复杂数据分析的需求;

监控数据计算平台

其中计算任务调度(spark)执行的关键组件包括 GS(Global-Scheduler 全局图调度)和 CS (Compute-Space 计算空间)。

GS 是平台的任务调度中心,如下图所示,它收集了所有业务的数据源配置,根据数据源之间的计算关系,构建出全局计算任务拓扑模型(GlobalGraph)。再根据不同的任务执行策略,将全局任务拓扑图切割成小范围的任务拓扑(Graph)。主要特性有:

  • GS 根据任务优先级、资源质量、负载情况等策略,将 Graph 分发到不同的计算空间进行计算(Cspace);
  • 同一个 Graph 内部的数据依赖是计算过程中直接依赖的;
  • 不同的 Graph 之间的数据依赖会通过存储进行数据解耦;
  • GS 会管理所有 Graph 及计算节点的任务状态,根据 Graph 的依赖关系和依赖 Graph 的执行状态,控制 Graph 的执行时间;

GS(Global-Scheduler 全局图调度)

CS 是计算平台抽象的计算任务执行空间,如下图所示,主要负责 Graph 的解析和具体计算任务的提交执行,适用于不同的计算引擎,如 Spark/Flink。以 Spark 为例,CS 接收到 GS 发出的 GraphTask,根据 GraphTask 中的 Node(Transform) 解析成 Spark 的 Transfomation 算子和 Action 算子,组成计算 DAG 并提交到 Spark 集群执行。

在任务执行过程中,CS 会向 GS 同步各任务的执行状态,用于任务跟踪监控。

CS (Compute-Space 计算空间)

多个 CSpace 组成一个 CSpaceGroup,CSpace 之间可以根据负载均衡、资源等级、蓝绿发布等具体场景划分不同的计算分组,多个 CSpace 之间的任务切流可以满足负载均衡、资源隔离、蓝绿发布、灰度等高可用的要求。

规模化问题

对于蚂蚁金服这么大规模的 Service Mesh 集群数据,产品请求无法都通过 PromQL 方式实时查询结果,以及报警及时通知。此时我们对于监控数据进行分类,其中应用、机房、站点等维度数据进行预计算聚合,例如不同机房的 QPS、RPC 转发成功量、Error 错误等等,前端通过自定义配置出自己关注的大盘视图。

其中今年大促 MOSN 容器达到几十万,在频繁的发布部署,上线下线过程中,对监控查看的实时性提出更高的要求。其中 Meta 元数据模块对接 K8s 集群,部署监控 operator 监控容器状态变化,达到秒级将最新采集配置通过 Agent registry 更新到 Agent 模块。

规模化问题

大促保障

我们一方面对监控高可用进行保障,做到采集计算水平扩缩容,另一方面对容量进行评估,通过对不同任务进行分级处理,在大促的时候对高优先级任务进行重点保障,对低优先级任务和业务方进行沟通做降级处理。这样在监控计算资源紧张的情况下,保障核心数据稳定。

大促保障

产品视角

Service Mesh 是蚂蚁金服内部应用服务所使用的基础服务设施,对不同的用户看的视角不一样。在监控产品上,用户对产品的使用主要集中在“配、看、用”数据这三个层面。我们早期也做过类似的用户分析。在蚂蚁金服按使用方式将用户分为全局关注者,产品 owner、SRE、领域专家和普通用户等,这里监控产品对于 Service Mesh 也提供不同的视角满足不同的用户需求,举例来说:

  • 产品 Owner 视角:特指 MOSN 产品的开发们,他们重点负责 MOSN 的监控指标数据覆盖、数据准确性以及重点调优目标;
  • 普通用户视角:特指应用 Owner,应用 Owner 主要看 MOSN 服务对应用 RPC 调用的影响以及该应用使用 MOSN 服务带来的效率提升;
  • SRE 视角:他们关注全局视角,需要知道全部 MOSN 服务的稳定性,更注重预警、分析;
  • 领域专家视角:特指对深度监控数据的使用者,比如深度的 JVM、CPU,Go 等指标,以及更深入的 perf、jfr 分析;
  • 全局视角:特指架构师层次或全站维度关注者,关注全站应用服务领域;

应用 Owner

应用 Owner 对于这一新服务,期待又紧张,既期待这个 MOSN 服务可以给自己带来什么新的特性和服务,又担忧新服务给我又带来一层依赖和稳定性问题。此时对于产品上,在满足数据可观测性的同时,重点突出 MOSN 核心指标观测,以及 MOSN Error 的数据归档,同时告警能力及时适配,让开发 Owner 第一时间知道问题出在哪。

由于 MOSN 的部署模式是和应用容器在同一个 Pod 里面,那么应用 Owner 这时会担心资源抢占问题,当然最终还是靠数据来验证,此时水位数据平铺对比必不可少。

水位数据平铺对比

MOSN 产品专家

MOSN 产品技术专家对自己新的服务充满信心,但是他们需要检验自己产品总体的性能指标以及性能调优,以达到最优化。所以一开始监控产品配合 MOSN 服务从线下到线上完成数据的覆盖和准确性校验,后来到核心指标的全局观测与对比。

在 MOSN 服务上线的过程中,打交道最多就是 MOSN 技术专家,类似 MOSN 大盘已经有应用维度汇聚的大盘展示,但是对于错误排查来说,全局的单机维度系统指标(cpu、mem、load) top n 更有意义,可以协助快速发现 CPU、MEM 异常的实例。

MOSN 大盘

SRE 专家

SRE 专家们总是对新产品上线产生莫名的担忧,特别是今年蚂蚁金服 MOSN 服务这么大规模,所以此时需要充分数据做验证来达到上线的标准。此这时候又需要监控提供数据,特别是全站维度的数据,为此我们专门提供核心应用服务盯盘,在压测过程中观测核心应用 MOSN 的 rt、报错量以及 top 实例的水位等等。

全站维度数据

全局架构师

全局观测者当然关注核心指标,在了解 SRE 稳定性方案的同时,关注全部 MOSN 服务带来的性能提升,例如业务转发成功率,MOSN rt 等指标。

除了上述的这些基本产品能力以外,我们还尝试着从数据、功能、体验这些角度继续提升产品。

未来的思考

蚂蚁金服监控产品将致力于成为云原生时代的全栈监控,从应用到基础设施,从云、边到端,将技术风险领域的监控数据全部透明化,均具备一站式可观测能力。对内将支撑技术风险各个领域的业务场景,包括应急、容量、限流、安全、变更、大促等,对外将支撑科技输出、云产品、国际赋能和商业化。

后续重点方向有 Monitoring as a Service,旨在让业务研发和 SRE 同学通过 Code 方式完成从监控数据采集、数据聚合、预警规则配置、大盘 CMS 报表展现等功能,提升监控业务场景的便利性、灵活性和创造性,为监控领域丰富多彩的玩法带来更多可能。

最后,也欢迎志同道合的伙伴加入我们,一起参与金融级监控系统架构设计和创新。

关于我们

欢迎来到「蚂蚁智能运维」的世界。本号由蚂蚁智能监控团队出品,面向关注智能运维技术的同学,将不定期与大家分享云原生时代下蚂蚁金服在智能监控的架构设计与创新方面的思考与实践。

蚂蚁智能监控团队,负责蚂蚁金服的基础设施和业务应用的监控需求,正在努力建设一个支撑百万级机器集群、亿万规模服务调用场景下的,覆盖指标、日志、性能和链路等监控数据,囊括采集、清洗、计算、存储乃至大盘展现、离线分析、告警覆盖和根因定位等功能,同时具备智能化 AIOps 能力的一站式、一体化的监控产品,并服务蚂蚁金服众多业务和场景。

关于「智能运维」有任何想要交流、讨论的话题,欢迎留言告诉我们。

PS:蚂蚁智能监控正在招聘 AIOps 专家,欢迎加入我们,有兴趣联系 boyan@antfin.com

相关文章
|
11月前
|
SQL 存储 分布式计算
查询队列(Query Queue)快速入门
本文由钟昌宏(大宏)分享,主题为Hologres 3.0新功能——Hologres查询队列(Query Queue)的使用场景、基本用法及入门实践。内容涵盖四个部分:查询队列的基本介绍、并发控制与排队能力、查询隔离与熔断,以及如何在管控台观察计算组或实例使用查询队列的情况。通过分类器管理、匹配规则等机制,实现对不同类型Query的灵活控制,并结合Serverless Computing提升系统稳定性与成功率。适用于数据写入与查询任务的优化场景。
|
3月前
|
开发工具 Android开发 开发者
LibChecker工具!一款查看并分析 App 使用的第三方库的应用软件
LibChecker是一款Android平台应用分析工具,可查看APP使用的第三方库、原生架构(32/64位)、四大组件等信息。支持APK解析、库引用统计、知名库标记、快照对比等功能,帮助开发者评估兼容性、安全性与性能。小巧便捷,仅4.44MB,轻松掌握应用细节。
792 1
|
11月前
|
分布式计算 运维 监控
Dataphin离线数仓搭建深度测评:数据工程师的实战视角
作为一名金融行业数据工程师,我参与了阿里云Dataphin智能研发版的评测。通过《离线数仓搭建》实践,体验了其在数据治理中的核心能力。Dataphin在环境搭建、管道开发和任务管理上显著提效,如测试环境搭建从3天缩短至2小时,复杂表映射效率提升50%。产品支持全链路治理、智能提效和架构兼容,帮助企业降低40%建设成本,缩短60%需求响应周期。建议加强行业模板库和移动适配功能,进一步提升使用体验。
|
6月前
|
存储 SQL 供应链
如何开发仓库管理系统中的出入库管理板块 ?(附架构图+流程图+代码参考)
本文详细介绍了仓库管理系统(WMS)中出入库管理模块的开发与实现。内容涵盖功能模块设计、业务流程梳理、技术实现技巧及实际应用效果,助力企业高效构建定制化仓库管理系统,提升库存管理效率与准确性。
|
7月前
|
存储 安全 数据库
抖音封号能注销吗?请问
一、封号与注销的底层逻辑关系 账号状态机模型
|
安全 JavaScript 前端开发
Web开发新趋势:从PWA到Jamstack
Web开发新趋势:从PWA到Jamstack
288 0
|
12月前
|
存储 算法 Java
算法系列之递归反转单链表
递归反转链表的基本思路是将当前节点的next指针指向前一个节点,然后递归地对下一个节点进行同样的操作。递归的核心思想是将问题分解为更小的子问题,直到达到基本情况(通常是链表末尾)。
411 5
算法系列之递归反转单链表
|
11月前
|
数据采集 DataWorks 监控
《打破壁垒:DataWorks ETL与AI算法的深度融合变革》
在数字化时代,数据成为企业发展的核心驱动力。DataWorks作为强大的大数据开发治理平台,其ETL流程与人工智能算法的融合,显著提升了数据处理效能。传统ETL依赖预设规则,面对海量复杂数据时效率低下且易出错。而人工智能赋能的ETL实现了智能数据抽取、自适应数据转换和实时数据质量监控,极大提高了数据处理的准确性和灵活性。以电商企业为例,融合后的系统加速了数据接入、优化用户分类与推荐,并通过实时监控避免决策失误,显著提升客户满意度和销售额。这一变革助力企业在激烈竞争中实现数字化转型与创新。
211 1
|
12月前
|
云安全 弹性计算 监控
云产品安全体检报告
### 云产品安全体检报告简介 开发工程师在日常维护Web应用及数据库时,使用阿里云「安全中心-安全体检」功能,快速定位配置漏洞和合规风险。主要发现ECS实例SSH端口开放、OSS未开启访问日志记录、RAM用户未启用MFA等问题,并提出通过使用VPN或跳板机、限制IP范围等解决方案。报告还推荐了暴露面分析和合规基线检查项目,指出冗余安全组规则检测误报率高和漏洞扫描深度不足的优化点。对比AWS,阿里云在检测响应速度和中文界面友好性上有优势,但在自动化修复方面有待提升。建议增加风险修复模拟、日志服务集成等功能,优化用户体验。
|
人工智能 自然语言处理 前端开发
OpenAI 12天发布会全解析 | AI大咖说
OpenAI近日宣布将在12个工作日内每天进行一场直播,展示一系列新产品和样品。首日推出GPT-o1正式版,性能大幅提升;次日展示Reinforcement Fine-Tuning技术,提高模型决策质量;第三天推出Sora,实现高质量视频生成;第四天加强Canvas,提升多模态创作效率;第五天发布ChatGPT扩展功能,增强灵活性;第六天推出ChatGPT Vision,实现多模态互动;第七天推出ChatGPT Projects,优化项目管理。这些新技术正改变我们的生活和工作方式。
1777 9