可观测实践|如何使用阿里云 Prometheus 观测 ECS 应用

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 虽然容器已大规模应用,但企业仍有大量应用/服务部署在ECS上或线下IDC上,那么运维团队如何借助Prometheus监控这些ECS应用呢?自建Prometheus又会遇到什么难题?不如看看这篇文章!

作者:颍川


引言


Prometheus + Grafana 已经成为云原生时代的可观测性事实标准。我们使用 Prometheus 观测云原生时代的 Kubernetes 体系下的 Node、ApiServer、workload 等的基础 metric,同时通过 Prometheus Exporters 采集各种组件(如 Redis、Kafka 等)和业务应用的 metric,最后通过 Grafana 展示大盘、AlertManager 进行告警,实现了云原生 Kubernetes 体系下 metric 可观测闭环。


由于大量非云原生的历史系统演进到云原生体系是个长时期过程,因此这些非云原生系统的可观测闭环也是我们必须解决的问题。我们很自然地想到“既然 Prometheus + Grafana 实现了云原生体系的 metric 可观测闭环,是否可以使用这套神器来解决非云原生体系应用的同样问题呢?”,答案是肯定的。


本文介绍如何使用阿里云 Prometheus 来实现非 Kubernetes 应用(即 ECS 应用)的 metric 观测。


ECS 应用的典型部署场景


场景 1:纯公有云 VPC


业务应用部署在一个或多个 VPC 内,每个 VPC 内购买了一批 ECS,在这些 ECS 上部署了基础组件(数据库和中间件等)和业务应用。此场景下,我们需要对这些 ECS OS(Linux 或 Windows)、基础组件和业务应用本身进行 metric 观测。


1.png


场景 2:公有云 VPC+线下 IDC


业务除了部署公有云 VPC 上外,还需要与线下 IDC 机房进行互通互联。通常,我们使用专线方式打通云上 VPC 和线下 IDC 机房。此场景下,我们期望有一套完整的 metric 观测平台,同时解决线上 VPC 和线下 IDC 的 metric 观测。


2.png


场景 3:公有云 VPC+多云 ECS


业务除了部署在阿里云 VPC 上外,还通过公网与其它云上的 ECS 进行互通互联。此场景下,我们也期望有一套完整的 metric 观测平台,实现一体化全局视角观测。


3.png


自建 Prometheus 观测 ECS 应用的痛点


自建 Prometheus 观测 ECS 应用,我们将面临的典型问题有:


  1. 由于安全、组织管理等因素,用户业务通常部署在多个相互隔离的 VPC,需要在多个 VPC 内都重复、独立部署 Prometheus,导致部署和运维成本高。 


  1. 每套完整的自建观测系统都需要安装并配置 Prometheus、Grafana、AlertManager 以及各组件 Exporter,过程复杂、实施周期长。 


  1. 缺少与阿里云 ECS 无缝集成的服务发现(ServiceDiscovery)机制,无法根据 ECS 标签来灵活定义抓取 targets。如果自行实现类似功能,则需要使用 Golang 语言开发代码(调用阿里云 ECS POP 接口)、集成进开源 Prometheus 代码、编译打包后部署,实现门槛高、过程复杂、版本升级困难。 


  1. 常用组件的开源 Grafana 大盘不够专业,缺少结合观测组件的原理和最佳实践进行深入定制。 


  1. 缺少常用组件的告警项模板,需要用户自行研究、配置告警项,工作量大,且很可能缺少各组件领域的专业技术沉淀。 


阿里云 Prometheus 监控的能力框架


阿里云 Prometheus 监控[1]是一款全面对接开源 Prometheus 生态,支持类型丰富的组件观测,提供多种开箱即用的预置观测大盘,且提供全面托管的混合云/多云 Prometheus 服务。除了支持阿里云容器服务、自建 Kubernetes、Remote Write 外,阿里云 Prometheus 还提供混合云+多云 ECS 应用的 metric 观测能力;并且支持多实例聚合观测能力,实现 Prometheus 指标的统一查询,统一 Grafana 数据源和统一告警。其逻辑架构如下示意:


4.png


对于 ECS 应用,阿里云 Prometheus 提供以下 metric 数据采集方式:


  • 托管 exporter:提供 MySQL、Redis 等数十种常见组件[2](持续更新中)的托管部署。用户只需要在阿里云 Prometheus 控制台配置观测组件相关信息(如 IP 地址、端口等),即可实现 VPC 内 ECS 上这些组件的 metric 监控。由于线下 IDC 通过专线与 VPC 互通,因此托管 exporter 同时也能采集到线下 IDC 内的组件 metric。 


  • 非托管 exporter:对于我们暂未提供托管 exporter 的组件,或用户业务应用的自定义 metric,用户可以在 VPC 或 IDC 内部署自定义 exorter,然后在阿里云 Prometheus 控制台上配置自定义服务发现(ServiceDiscovery),最后阿里云 Prometheus 主动发现这些 exporter,并定时抓取和存储 metric。 


  • Node/Windows exporter:它们是一类特殊的非托管 exporter,因为需要部署在每台 ECS 上,以便采集 ECS OS 上观测信息。阿里云 Prometheus 提供了 Node exporter 的原生支持,Windows exporter 原生支持也即将上线。


ECS 应用场景下,自建 Prometheus 与阿里云 Prometheus 对比


5.png


如何使用阿里云 Prometheus 观测 ECS 应用


步骤 1:创建 VPC 实例


登录 Prometheus 控制台[3],选择新建 Prometheus 实例,根据界面提示,填写实例名、选择 VPC / VSwitch / SecurityGroup / Grafana 工作区,即可创建 VPC 实例成功。操作说明详见阿里云帮助中心文档[4]


6.png

7.png


步骤 2:接入组件监控


目前阿里云 Prometheus 已支持 Node exporter、MySQL、Redis、ElasticSearch、Kafka、Nginx、MongoDB、PostgreSQL、RabbitMQ、RocketMQ、BlackBox 等组件观测。


阿里云 Prometheus 天然内置支持了 static_configs和aliyun_sd_configs 两种最常用/实用的服务发现方式,方便用户进行组件观测目标 ECS 的配置。


此处以 MySQL 为例,简要描述接入配置方法。登录 Prometheus 控制台后,进入已创建的 VPC 实例详情的集成中心界面,新建 MySQL 接入,填写 MySQL 监控名称、MySQL 地址、端口、用户名/密码等信息即可。详细操作步骤和说明,参见阿里云帮助中心文档[5]


8.png


步骤 3:查看大盘

阿里云 Prometheus 无缝集成了共享版 Grafana 和专家版 Grafana,用户无需单独安装 Grafana,即可查看各个组件的观测大盘。


接入需要监控的组件后,在集成中心点击对应组件图标的已安装 Exporter,可以看到该组件的大盘略缩图和链接,点击即可进入阿里云 Grafana,查看对应观测大盘。详见阿里云帮助中心文档[6]


9.png

10.png


步骤 4:配置告警


进入 VPC 实例详情的集成中心界面,进入 MySQL 组件的告警界面,即可创建 Prometheus 告警规则,详见阿里云帮助中心文档[7]


11.png

12.png


阿里云 Prometheus 提供了免运维、开箱即用的 VPC(以及和 VPC 打通的线下 IDC 机房)内 ECS 的 OS、常见中间件、业务应用的 metric 观测能力,实现了一站式的云原生和非云原生环境的 metric 观测协同和闭环。同时我们正在持续升级和丰富常用组件的观测能力(如 Windows、JMX、ClickHouse、Jenkins、Process 等),敬请期待。


关于阿里云 Prometheus 监控


阿里云 Prometheus 服务是基于云原生可观测事实标准 - Prometheus 开源项目构建的全托管观测服务。默认集成常见云服务,兼容主流开源组件,全面覆盖业务观测/应用层观测/˙中间件观测/系统层观测。通过开箱即用的 Grafana 看板与智能告警功能,并全面优化探针性能与系统可用性,帮助企业快速搭建一站式指标可观测体系。助业务快速发现和定位问题,减轻故障给业务带来的影响,并免去系统搭建与日常维护工作量,有效提升运维观测效率。


13.jpeg


与此同时,阿里云 Prometheus 作为阿里云可观测套件的重要组成部分,与 Grafana 服务、链路追踪服务,形成指标存储分析、链路存储分析、异构构数据源集成的可观测数据层,同时通过标准的 PromQL 和 SQL,提供数据大盘展示,告警和数据探索能力。为 IT 成本管理、企业风险治理、智能运维、业务连续性保障等不同场景赋予数据价值,让可观测数据真正做到不止于观测。


更具性价比的计费选择,Prometheus 包年包月


14.png


相关链接


[1] 阿里云Prometheus监控

https://help.aliyun.com/document_detail/122123.html


[2] 常见组件

https://help.aliyun.com/document_detail/251830.html


[3] 应用实时监控服务ARMS

https://arms.console.aliyun.com/#/home


[4] Prometheus实例 for ECS

https://help.aliyun.com/document_detail/274450.html


[5] 使用阿里云Prometheus监控MySQL

https://help.aliyun.com/document_detail/161838.html


[6] 集成中心

https://help.aliyun.com/document_detail/427600.html


[7] Prometheus告警规则

https://help.aliyun.com/document_detail/331981.html

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
弹性计算 Prometheus Cloud Native
可观测性体系问题之ECS管控中重点指标的定义如何解决
可观测性体系问题之ECS管控中重点指标的定义如何解决
27 4
|
4月前
|
弹性计算 调度
可观测性体系问题之ECS管控的Dashboard分层如何解决
可观测性体系问题之ECS管控的Dashboard分层如何解决
43 0
|
4月前
|
存储 弹性计算 运维
可观测性体系问题之ECS管控对其所有日志的管理如何解决
可观测性体系问题之ECS管控对其所有日志的管理如何解决
43 0
|
4月前
|
存储 弹性计算 运维
可观测性体系问题之ECS管控对日志数据的处理如何解决
可观测性体系问题之ECS管控对日志数据的处理如何解决
63 0
|
4月前
|
弹性计算 运维
可观测性体系问题之ECS管控中覆盖软件开发生命周期如何解决
可观测性体系问题之ECS管控中覆盖软件开发生命周期如何解决
26 0
|
4月前
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
42 0
|
存储 弹性计算 运维
如何从用户视角搭建可观测体系?阿里云ECS业务团队的设计思路
本文以阿里云ECS业务为例,探讨阿里云最核心、亚太地区业务规模最大的产品之一,在极高的稳定性和性能要求下,如何基于云构建可观测性并从客户视角建立观测能力,以及在推进体系建设中的成功经验和待改进之处。
如何从用户视角搭建可观测体系?阿里云ECS业务团队的设计思路
|
弹性计算 运维 架构师
直播预告 | 「TakinTalks」_阿里云ECS 云上可观测体系建设
ECS是如何围绕业务发展构建云上可观测体系的;如何围绕可观测性的三大支柱:Metrics、Trace、Log、构建云上可观测体系;如何通过云上的自动化CloudOps体系持续地提高可靠性和稳定性;可观测领域发展新方向有哪些?
|
弹性计算 Prometheus 运维
可观测实践|如何使用阿里云 Prometheus 观测 ECS 应用
虽然容器已大规模应用,但企业仍有大量应用/服务部署在ECS上或线下IDC上,那么运维团队如何借助Prometheus监控这些ECS应用呢?自建Prometheus又会遇到什么难题?不如看看这篇文章!
可观测实践|如何使用阿里云 Prometheus 观测 ECS 应用
《云服务器可观测能力的探索与实践》电子版地址
云服务器可观测能力的探索与实践.ppt
64 0
《云服务器可观测能力的探索与实践》电子版地址

相关产品

  • 可观测监控 Prometheus 版