Advertisement

统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?

阅读量:

Metrics 指标在可观测体系的应用

可观察体系的概念历史悠久,在分布式微服务快速发展的背景下,“可观察性”的需求日益增强。通常情况下,“可观察性”包含Metrics用于度量指标、Tracing用于跟踪进程、Logging用于记录日志的数据类型,并附加报警机制即可形成完整的监控与报警机制,在业界对于“可观察性的系统性阐述也较为丰富。

在日常问题排查中,基本路径主要分为三个阶段:检测(Detect)、初步定位(Troubleshoot)和精准定位(Pinpoint)。这三个阶段分别对应可观察到的三部分内容:指标(Metrics)、跟踪(Traces)和日志(Logs)。通过阅读到这里的内容,请您理解指标(Metrics)的重要性及其作为发现问题的关键工具的事实。

Metrics 指标的分类

我们的目标在于通过特定的量化标准来识别问题。为了实现这一目标,我们首先要建立一系列具体的量化标准。由于不同领域的需求各有不同,在各个应用场景中,根据具体情况设定相应的评价标准是必要的。尽管如此,在宏观层面我们可以将这些具体的标准进行大致归类以更好地理解它们之间的关联性

占据核心地位的指标无疑是所有关注焦点;其重要性无可质疑;这些关键性能指标包括但不限于QPS(每秒请求数)、成功率(成功请求的比例)以及响应时间(RT)。此外还包括一些基础性数据与其他相关指标。任何系统都必须确保这些关键业务指标准确无误且能够实时反馈;特别关注运行期间可能出现的问题。通过补充这些基础数据信息,则能显著提高问题排查效率。

Metrics 指标在网关场景的应用

特别关注网关可监控的场景,在线监控并高效转发满足特定条件的数据流量至目标服务。作为关键节点,在线监控并高效转发满足特定条件的数据流量至目标服务。其核心任务即是对网络流量进行有效处理。其中的关键指标包括QPS(每秒请求量)、成功率(数据传输成功的比例)以及RT(响应时间),这些参数全面反映了服务运行的关键状态。

值得注意的是,在网关场景中三个关键指标不能全面准确地反映网关的实际运行状况;这三个关键指标出现异常波动往往与后端服务出现波动相关联。因此,在实际观测分析中我们将网关性能划分为以下三类:首先是DownStream性能(即从客户端侧进行监控和评估的一系列性能数据集合);其次是UpStream性能(即从服务端侧进行监控和评估的一系列性能数据集合);最后是Route相关的性能数据(即从路由转发规则执行情况所获取的一系列性能数据集合)。此外,在作为流量入口时还应关注一些功能类特性参数如解压GZip文件的支持能力以及鉴权认证Authz策略的有效性等关键参数。

在实际应用过程中还会涉及其他网络指标如接收和传递的数据量等,在篇幅有限的情况下不作进一步展开。

MSE 云原生网关在可观测体系的实践

在虚拟化时期的微服务架构下,在线服务通常采用流量转发层 + 微服务服务转发层两层架构模式运行,在这种架构模式下, 流量转发层负责南北向流量调度和安全防护, 而微服务服务转发层则负责东西向流量调度和服务治理. 但在基于容器和K8s主导的云原生时代, Ingress成为K8s生态中的核心流量转发层, 使得原本分离的两层架构模式得以合二为一. MSE云原生网关正是在这种背景下应运而生, 其以阿里开源Higress为技术基础, 在保证原有功能不折的前提下实现了两层架构的合二为一功能, 这种设计不仅能够降低50%的资源部署成本, 更能显著降低运维成本及使用成本.

MSE 云原生网关[2] 的实现基于与 ARMS 和 Prometheus 的深度集成,在网关场景下通过全面感知和追踪技术集成 Metrics 和 Log 数据。该解决方案为用户提供了一个完整的观测体系,并显著降低了观测成本和复杂度。这一创新设计优化了观测系统的易用性。

接下来我们简要介绍下 Metrics 指标在 MSE 云原生网关的实际应用。

MSE 云原生网关 Metrics 指标大盘介绍

基础指标

为了更好地针对 CPU 和 Memory 这类基础指标构建一个独立的指标平台'资源监控',该平台能够支持快速实现一次性的资源使用情况查询。

核心指标

我们构建了一个独立的指标大盘来涵盖核心业务指标, 该平台涵盖了多个关键面板: 整体监控面板、业务绩效排行榜以及访问中心等, 同时还包括灰度比较面板.

全局看板

该平台包含网关整体运行指标的大盘展示功能,并为用户提供全面了解其当前运行状态的途径。

业务TOP榜

从网关角度分析当前上榜的前十个后端服务,在处理大量请求的整体中帮助用户迅速定位吞吐量高的服务列表。

访问中心

该系统包含Downstream、Upstream及Service相关的功能性指标盘子,并对各项关键性能指标进行量化评估。具体而言,在Downstream部分提供了QPS(每秒事务量)、RT(响应时间)、成功率及连接数量等多个重要参数;同时在Upstream部分则包括了连接数量、RT P99(响应时间分位数)及RT P90(响应时间百分位)等关键数据;此外还支持GZIP压缩以及鉴权功能的配置与管理。

灰度对比看板

提供使用多服务方案做灰度发布时对比查看流量情况。

细粒度服务级的指标

MSE 云原生网关也支持单个服务级的指标管理功能,并且采用传统的方法,在同一服务中将同一功能划分为不同版本进行灰度测试,在每个版本完成后对相应的指标进行监控。

细粒度路由级的指标

在网关中 routing rules represent a group of flows characterized by certain attributes. Regardless of whether we are performing maintenance tasks or troubleshooting, we also need to be able to view specific routing flow information. The MSE cloud-native gateway also provides endpoint-level metrics.

MSE 云原生网关告警规则介绍

性能指标 是 应用运行状态的重要观察工具,在遇到指标异常时 希望能够主动监控并及时发现异常情况 就需要依靠有效的告警机制 MSE 云原生网关集成 阿里云 ARMS 后 不仅有完善的内置告警系统 还能提供一系列核心告警规则 这些核心规则基于长时间的实际运维经验 总结提炼而成 包括但不限于网关的主要性能参数 CPU使用率 内存使用率 请求完成率 和响应时间 等等 这些关键数据点不仅帮助运维人员快速定位问题 还方便用户根据实际需求快速配置和管理告警设置 同时支持用户根据自身需求自定义新的告报警单以满足个性化运维要求

使用同比/环比数据发现异常

网络入口节点在单一服务出现故障时,在异常流量可能导致的整体数值波动较小的情况下设立同比或环比指标作为警示手段具有重要意义。例如设定服务流量同比下降、错误数环比上升等指标有助于识别同一维度相对波动较大的问题

Metrics 指标在网关问题排查中的应用

问题 1:后端服务抖动导致的成功率下降

在处理后端服务出现rt抖动的问题时,网络入口往往扮演着关键角色.对于客户来说,在排查相关问题时最先想到的对象通常是网络入口.通过利用Metrics指标在网关场景中实现快速定位问题的方法具有重要意义.以下图表展示了基于MSE云原生网络管理平台提供的指标盘来实现快速定位问题的具体流程

后端服务抖动常见的原因有下面两点:

该系统在 Java garbage collection(GC)或类加载过程中出现的数据记录时间与实际不符。
后端应用的内核参数配置不当可能导致未能及时接受连接请求,并使网络代理服务记录的时间显著增加。

问题 2:后端服务新增灰度版本后请求RT大幅增加

在实际应用中, 单个服务通过不同版本进行灰度测试的情况较为普遍. 具体来说, 该服务目前运行的是现行版本go-httpbin-v1, 并推出了go-httpbin-v2版本用于灰度测试新功能.

go-httpbin-v2 版本发布后, 用户报告 go-httpbin 服务的请求处理时间降低。即请求响应时间延长。如何快速查看新版本的各项性能参数?可以通过 MSE 云原生网关路由级的监控指标来实现, 如下图:

链接网关指标观测场景下,如何接入阿里云 Prometheus 监控

该系统支持企业级云计算集成和针对云计算产品的智能自动生成。通过该系统提供的指标、趋势图和告警信息等数据展示功能(即指标大盘),您可以直观查看这些云计算产品的运行状态及健康状况等关键数据信息。目前,在对应的MSE 云计算原生网关相关云计算产品的控制台界面中即可开启该系统服务(即 Prometheus 监控)。一旦开启后,在其对应的智能自动配置服务端控制台将显示已成功完成自动配置的云计算产品列表(即已集成区域)。

  1. 访问Prometheus控制台。
  2. 在左侧导航栏点击实例列表链接。
  3. 点击名称显示为云服务实例的Prometheus实例。

在指定的 MSE 云端原生态网关云产品管理界面中选择并启动 Prometheus 监控功能;一旦启动该监控功能后,在 Prometheus 服务端的云端原生物监控整合界面中查看已集成区域;即可确认该云端原生物监控功能已成功接入,并可在Prometheus平台观察到相关信息盘。

自建 Prometheus 与阿里云 Prometheus 监控的优劣对比

Prometheus 被视为当前最具影响力的开源观测项目之一,并已为众多企业提供广泛的应用支持。然而,在实际生产过程中仍会遇到各种各样的挑战。具体来说……例如,在数据采集与传输方面可能存在性能瓶颈,在监控指标配置时可能会遇到复杂性等问题。

由于安全性和组织管理方面的考量, 用户业务通常会被分散部署在多个相互隔离且各自独立的VPC环境中,从而导致在各个VPC内均需分别安装并运行独立的Prometheus实例,这不仅增加了部署成本,同时也提升了运维难度

构建完整的自管理观测体系需要对Prometheus,Grafana以及AlertManager等多个关键组件进行集成配置,这一过程具有较高的技术门槛并且耗时较长;此外,每次软件版本更新都需要对各个组件进行全面排查与修复工作

随着监控系统的规模不断扩大, 资源消耗呈现出指数级增长的趋势,这种模式难以保证系统的稳定性和可靠性

针对云原生网关环境,A Promethues instance within cloud-native gateways cannot be observed due to inherent design limitations of open-source gateways; this creates a significant barrier to achieving a unified and comprehensive monitoring solution across the entire network infrastructure

现有的开源网关平台虽然具备基础功能,但缺乏易用性较强的默认指标集,这种配置方式难以满足业务人员快速了解网关运行状态的需求

针对以上问题,阿里云 Proemtheus 监控进行了以下几个方面的优化:

一、性能强化&降低资源消耗,压降 IT 运维成本

为了进一步提升系统性能, 阿里云Prometheus监控将Agent部署于用户的端侧, 同时保留原生采集能力, 并尽可能减少资源消耗; 采用采集存储分离架构, 使得整体性能得到显著提升; 对采集组件进行优化处理, 进而增强单副本的采集中断率与数据完整性; 通过多副本横向扩展实现任务的均衡分解与动态扩缩, 解决开源水平扩展问题; 其中数据处理与存储组件支持多副本版本配置, 保证核心数据链路高可用; 并基于集群规模可直接进行弹性扩容; 同时支持数据重传机制, 实现对丢弃逻辑的有效规避, 确保数据完整性和准确性

同时,在本系统中为了应对大规模数据及长时间区间的查询场景,在采用DAG执行优化策略的基础上还引入了算子下推机制以进一步提升大规模数据查询性能并支持长时间区间秒级查询;通过部署Global DataSource和Global View系统模块在多个集群之间实现了统一监控框架并通过该框架完成了跨集群的数据聚合查询功能

在为企业提供全面的企业级能力的同时

二、与 MSE 云原生网关等云服务深度集成

各控制台均提供对其自身产品的可观察性。然而这些云产品的指标与视图则分布在各个控制台中 并且难以实现精细化的数据应用。通过Prometheus服务可实现对云产品进行监控功能的集成 将其整合后实现了统一展示 查询与告警功能 从而为运维团队提供了更加便捷的日常运维监控界面

三、Grafana 看板增强,让云服务监控更简单

阿里平台希望通过优化配置方案提升指标图表呈现效率,在其Prometheus监控框架中集成Grafana组件,并预先配置好常见云服务与应用的统一模板集合。这些模板涵盖多种场景包括但不限于:应用实时监控服务(ARMS)、云监控管理平台(CMS)、日志服务(SLS)以及阿里云Elasticsearch等关键云服务。系统不仅提供各类云服务的数据源配置及预置大盘,并且支持通过Grafana官方渠道自由添加新功能组件与数据源。此外平台还提供了丰富的个性化定制选项以满足不同运维需求。无论是基础的容器化运行还是消息队列型态的日志管理都能通过扩展的方式实现对Kafka等复杂场景的支持最终帮助运维团队实现更加精细化的指标观测能力

总结 & 产品优惠

MSE 云原生网关默认集成多种全面的 Metrics 指标大盘,默认情况下即可实现多维度数据采集与分析功能,并通过无缝对接阿里云 Prometheus 完成开箱即用式的完整可观测性部署方案。该解决方案不仅支持用户快速构建微服务网关的同时实现完整的观测体系搭建,并且能显著提升开发效率和运维效能。我们承诺未来将持续优化产品性能、提升用户体验,并致力于增强稳定性以及丰富生态系统资源。展望未来,MSE 将会持续打磨产品核心能力,让用户无需额外门槛即可体验到云原生技术带来的效益优势。目前,Prometheus 监控套餐及 MSE 提供多套优惠方案:

  • Prometheus 监控服务提供包年包月的小规模及以下规格的首月免费体验
  • MSE 云原生网络管理平台专业版下单享受8折特惠(首次购买满一年后可享7折特惠)

相关链接

[1] Higress

http://higress.io/zh-cn/

[2] MSE 云原生网关

此链接具有显著的效果

作者:如葑

原文链接

本文为阿里云原创内容,未经允许不得转载。

全部评论 (0)

还没有任何评论哟~