引言
随着云计算的遍及,企业用到越来越多云产品,例如:ECS、RDS、Redis 等。服务泛滥企业之后,阿里云可观测团队发现在运维场景愈发精细化的明天,对于指标按需再加工、对于告警规定的灵便设置成为刚需,云监控等根底默认监控能力,无奈满足当下的运维需要,例如:
- 查看各 Region ECS CPU 使用率 Top10;
- 为 Kafka 服务间断 10 分钟沉积增量超过 500 的 ConsumerGroup 设置告警;
- 基于磁盘空间的变动预测清理工夫,防止告警无奈及时处理导致故障。
与此同时,Prometheus + Grafana 成为可观测性事实标准。运维团队能够应用 Prometheus 监控云原生 Kubernetes 体系 Node、ApiServer、workload 等根底指标的同时,还能够通过 Prometheus Exporters 采集各种组件(如 Redis、Kafka 等)和业务利用的相干指标,最初通过 Grafana 进行整体可视化展现,借助 AlertManager 进行告警,实现云原生时代的指标可观测闭环。
回到最开始的话题,随着云产品利用愈发遍及,基于“Prometheus + Grafana”的指标可观测体系是否能够针对云产品的相干指标提供更加精细化的加工与利用能力,实现对云产品的指标可观测闭环?
答案是必定的。
自建 Prometheus 监控云产品的挑战
尽管 Prometheus 官网社区保护了很多 Exporter,第三方厂商或者支流开源我的项目也参加到奉献及保护中。但因为云产品的特殊性,如果用户想要通过自建 Prometheus 去监控云产品,就须要用户通过 Prometheus Exporter 模式将观测到的 Metric 数据收集到服务端。但这里就会呈现一些对于 Exporter 的额定工作量:
- 额定的研发工作量
尽管官网提供了四种语言(Go/Java/Python/Rubby)的正式客户端库用来开发一个集成 http server 的 Exporter 库,并提供了残缺的开发标准。但这须要运维工程师针对不同云产品开发定制 Exporter(调用企业云监控实时导出服务获取 Metric 数据),对于开箱即用的云服务而言,拖慢了业务上线效率。
- 额定的 Exporter 资源耗费
因为 Exporter 自身提供了一个 REST 服务器,会带来一些线程耗费,随着 Exporter 接入云产品越多、指标越多耗费的资源也会随之越多。
能够看到,尽管运维工程师能够通过自研 Eexporter 实现对于云产品的监控,但有没有更简略的形式?
阿里云 Prometheus 服务 (上面简称 Prometheus) 成为最佳抉择,提供全托管、开箱即用的云产品指标监控能力,并联合常见运维场景,预置若干多维度监控大盘以满足常见监控场景。针对不同云产品可观测性集成状况,提供「企业云监控集成」以及「云产品自监控集成」两种不同接入模式,最大限度的升高运维接入老本。
如何通过阿里云 Prometheus 服务监控云产品
依据不同云产品的 Prometheus 集成状况,Prometheus 服务的云产品监控分为「企业云监控集成」以及「云产品自监控集成」两种模式,接下来咱们将进行具体解读。
企业云监控集成
阿里云局部云产品在产品控制台默认集成了 Prometheus 监控,但还有泛滥云产品尚未集成 Prometheus。为了能通过 Prometheus 服务监控这部分云产品,咱们提供企业云监控集成模式,通过企业云监控获取监控指标,指标上报流量费用由云监控收取 (免费规范),Prometheus 收费存储及利用。 在用户运维老本未减少的前提下,取得了 Prometheus 更精密与灵便的的指标加工与利用能力。
部署模式如下图:
- Exporter:以 Pod 形式部署在 Prometheus 企业云监控集成的托管 K8s 集群,通过调用企业云监控实时导出 API 收集已集成的云产品指标数据;
- Agent:Arms Prometheus Agent
- Alarm:定义集成的云产品告警模板
- Grafana:提供已集成的云产品默认大盘
对于云产品控制台目前尚不反对 Prometheus 监控的产品,通过该形式实现产品指标监控,目前反对 25 款云产品并一直扩增。企业云监控集成目前仅反对国内 Region,海内 Region 暂未凋谢。云产品接入后,蕴含全副 Region 监控指标。目前已接入产品包含:
- 弹性计算类:阿里云 ECS;
- 存储类、阿里云 SLS、阿里云 OSS;
- 网络类:阿里云 ALB、阿里云 API 网关、阿里云 Connector、阿里云 CDN、阿里云 CEN、阿里云 DCDN、阿里云 Cloud NAT、阿里云 EIP;
- 大数据类:阿里云 E-MapReduce、阿里云 Elasticsearch、阿里云 Logstash;
- 数据库类:阿里云 PolarDB、阿里云 RDS PostgreSQL、阿里云 RDS MySQL、阿里云 Redis、阿里云 RDS SQLServer、阿里云 Hologres、阿里云 ADB、阿里云 DRDS、阿里云 DTS;
- 安全类:阿里云 WAF;
云产品自监控集成
目前,局部云产品在各自控制台提供了本身产品的可观测性,但这些云产品的指标及看板散落在各个控制台。为了能将这些数据进行对立展示。Prometheus 服务提供了云产品自监控集成模式,云产品自监控集成的相干指标来源于各云产品,为运维团队提供更加便捷的日常运维监控界面。
部署模式如下:
- Exporter:以 Pod 形式部署在云产品侧 K8s 集群,负责收集云产品指标数据;
- Agent:Arms Prometheus Agent
- Alarm:定义告警模板
- Grafana:提供云产品默认大盘
Prometheus 自监控集成 Tab 页是云产品控制台反对 Prometheus 监控的所有云产品的概览页,展示以后账号下云产品的 Promehtheus 集成状态、指标占比、大盘预览、告警配置。目前已接入的产品包含:
- 数据库类:阿里云 Clickhouse、阿里云 Lindorm、云数据库 MongoDB;
- 音讯队列类:音讯队列 RabbitMQ、音讯队列 Kafka、音讯队列 RocketMQ;
- 中间件类:企业级分布式应用服务 EDAS、微服务引擎 MSE – 云原生网关、微服务利用引擎 SAE、利用高可用服务 AHAS;
- 运维类:Grafana 服务、性能测试 PTS;
最佳实际
企业云监控集成
- 云产品接入
登录 Prometheus 控制台,点击左侧菜单“接入核心”抉择任意云产品后弹出接入页面,抉择待接入的云产品装置即可,装置实现后会创立一个名为“企业云服务”的 Prometheus 实例。
- 监控指标
点击“云服务实例”,抉择相应云产品图标会弹出一个蕴含指标、大盘和告警 3 个 tab 页的窗口。指标页默认包含:指标、类别、形容 3 项根本信息,已集成云产品除默认项外还包含最近 10 分钟的指标量和占比。
ECS 如图:
- Grafana 大盘
大盘页默认显示该云产品的所有 Grafana 默认大盘缩略图。已集成的云产品点击缩略图或 Title 链接会跳转至阿里云 Grafana 监控大盘,未集成的云产品点击缩略图或 Title 链接会显示 Grafana 监控大图。
- ECS 实例详情:提供 ECS 实例的 CPU、内存、磁盘、网络等零碎指标的监控,筛选维度包含:区域、ECS 标签、实例名、实例 ID;
- ECS 全局公网大盘:提供 ECS 实例公网流入、流出带宽共计、TOP 等指标;
- ECS 实例利用率排序大盘:反对 region 和全局维度 TOP 实例,次要指标:CPU 利用率、内存利用率、网络连接等;
- ECS 资源区域散布大盘:反对 ECS 实例、CPU、内存、磁盘、网络连接等按区域散布统计;
- 告警配置
告警页默认显示该云产品配置的所有告警规定:
点击“创立 Prometheus 告警规定”通过默认告警模板设置或自定义 PromQL 实现告警规定的创立(自定义 PromQL 指标名可参考步骤“云产品指标”)。
- 默认告警规定
- CPU 利用率
AliyunEcs_cpu_total{} > 80
- 内存利用率
AliyunEcs_memory_usedutilization{} > 90
- 磁盘利用率:磁盘使用率超过 90% 时须要进行磁盘清理
AliyunEcs_diskusage_utilization{} > 90
- 磁盘残余空间有余:当磁盘残余空间小于 5G 时思考清理
AliyunEcs_diskusage_free{} < 1024*1024*1024*5
- 热点指标
云产品自监控集成
在开明云产品并创立实例时,会有开明 ARMS Prometheus 相干选项,创立实现后即可通过 Prometheus 实现该产品的指标监控。以“MSE 服务 - 云服务网关”为例:
- 创立实例时开明 Prometheus 监控
- 产品控制台监控入口
Grafana 专业版
云服务实例默认应用 Grafana 共享版,如果默认大盘不能满足运维团队可观测需要或者想在默认大盘根底上进行优化,可增购 Grafana 专家版或高级版。
对于阿里云 Prometheus 监控
阿里云 Prometheus 服务是基于云原生可观测事实标准 – Prometheus 开源我的项目构建的全托管监控服务。默认集成常见云服务,兼容支流开源组件,全面笼罩业务监控 / 应用层监控 / 中间件监控 / 零碎层监控。通过开箱即用的 Grafana 看板与智能告警性能,并全面优化探针性能与零碎可用性,帮忙企业疾速搭建一站式指标可观测体系。助业务疾速发现和定位问题,加重故障给业务带来的影响,并免去零碎搭建与日常保护工作量,无效晋升运维监控效率。
与此同时,阿里云 Prometheus 作为阿里云可观测套件的重要组成部分,与 Grafana 服务、链路追踪服务,造成指标存储剖析、链路存储剖析、异构构数据源集成的可观测数据层,同时通过规范的 PromQL 和 SQL,提供数据大盘展现,告警和数据摸索能力。为 IT 老本治理、企业危险治理、智能运维、业务连续性保障等不同场景赋予数据价值,让可观测数据真正做到不止于观测。