文档

如何使用Prometheus监控云产品

更新时间:

本文介绍如何使用Prometheus监控云产品。

自建Prometheus监控云产品的挑战

虽然Prometheus官方社区维护了很多Exporter,第三方厂商或者主流开源项目也参与维护中。但由于云产品的特殊性,如果您想要通过自建 Prometheus去监控云产品,就需要通过Prometheus Exporter形式将观测到的Metric数据收集到服务端,因此会增加额外的工作量,具体说明如下:

额外的研发工作量

虽然官方提供了四种语言(Go、Java、Python、Ruby)的正式客户端库用来开发一个集成HTTP Server 的Exporter库,并提供了完整的开发规范。但仍需要运维工程师针对不同云产品开发定制Exporter,即调用企业云监控实时导出服务获取Metric数据,对于开箱即用的云服务而言,降低了业务上线效率。

额外的Exporter资源消耗

由于Exporter本身提供了一个REST服务器,会带来一些线程消耗,随着Exporter接入的云产品越多、指标越多,随之消耗的资源也会增多。

如何通过Prometheus监控云产品

根据不同云产品的Prometheus集成情况,可观测监控 Prometheus 版的云产品分为企业云监控集成以及云产品自监控集成两种形式。

企业云监控集成

阿里云部分云产品在产品控制台已默认集成了可观测监控 Prometheus 版,但是目前还有众多云产品尚未集成可观测监控 Prometheus 版,为了您能通过可观测监控 Prometheus 版这些未集成的云产品,可观测监控 Prometheus 版提供了企业云监控集成方式。您可以通过企业云监控获取监控指标,其中指标上报流量费用由云监控收取,具体收费详情,请参见企业云监控计费规则可观测监控 Prometheus 版侧会为您提供免费的存储及应用。因此在没有增加您的运维成本下,您将可以获得可观测监控 Prometheus 版更精细与灵活的指标加工与应用能力。

部署形式如下:

image
  • Exporter:以Pod方式部署在Prometheus企业云监控集成的托管K8s集群,通过调用企业云监控实时导出API收集已集成的云产品指标数据。

  • Agent:ARMS Prometheus Agent。

  • Alarm:定义集成的云产品告警模板。

  • Grafana:提供已集成的云产品默认大盘。

目前已接入云产品包括:

  • 弹性计算类:阿里云ECS。

  • 网络类:阿里云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 版提供了云产品自监控集成方式,为您提供更加便捷的日常运维监控界面。云产品自监控集成的相关指标来源于各云产品。

部署形式如下:

image
  • Exporter:以Pod方式部署在云产品侧K8s集群,负责收集云产品指标数据。

  • Agent:ARMS Prometheus Agent

  • Alarm:定义告警模板。

  • Grafana:提供云产品默认大盘。

目前已接入的产品包括:

  • 数据库类:阿里云Clickhouse、阿里云Lindorm、云数据库MongoDB。

  • 消息队列类:消息队列RabbitMQ、消息队列Kafka、消息队列RocketMQ。

  • 中间件类:企业级分布式应用服务EDAS、微服务引擎MSE-云原生网关、Serverless应用引擎SAE、应用高可用服务AHAS。

  • 运维类:Grafana服务、性能测试PTS。

企业云监控集成最佳实践

这里以接入阿里云ECS为例为您介绍具体的集成步骤。

步骤一:接入云产品

  1. 登录ARMS控制台

  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 在实例列表中单击目标云服务类型的Prometheus实例,进入集成中心页面。

  4. 单击未集成区域的目标阿里云ECS卡片的复选框,然后单击右下角的确认,完成接入。

步骤二:查看监控指标

已集成区域,单击阿里云ECS卡片,您可以在弹出的面板中查看该阿里云ECS产品的指标监控数据。

参数

说明

指标

该指标的名称。

类别

企业云监控产品的类别。

描述

该指标的含义。

占比

该指标数量在所有指标中的占比。

指标量(最近十分钟)

最近十分钟指标落库存储的数量。

fk

步骤三:查看Grafana大盘

已集成区域,单击阿里云ECS卡片,然后在弹出面板单击大盘页签,大盘页签展示了阿里云ECS产品的所有Grafana默认大盘缩略图,您可以单击大盘名称跳转至Grafana平台查看大盘的详情数据。阿里云ECS主要包括以下几个大盘:wc

  • ECS实例详情:提供ECS实例的CPU、内存、磁盘、网络等系统指标的监控,支持通过区域、ECS标签、实例名称、实例ID等进行筛选。

  • ECS全局公网大盘:提供ECS实例公网流入、流出带宽合计、TOP等指标。

  • ECS实例利用率排序大盘:支持Region和全局维度TOP实例,主要指标有CPU使用率、内存利用率、网络连接等。

  • ECS资源区域分布模板大盘:支持按照区域分布统计的ECS实例、CPU、内存、磁盘、网络连接等指标数据。

步骤四:配置告警

已集成区域,单击企业云监控产品卡片,然后在弹出面板单击告警页签,告警页签展示了该云产品配置的所有告警规则。默认的告警规则有:

  • CPU使用率:AliyunEcs_cpu_total{}>80。

  • 内存利用率:AliyunEcs_memory_usedutilization{}>90。

  • 磁盘利用率:AliyunEcs_diskusage_utilization{}>90,当磁盘使用率超过90%时则需要进行磁盘清理。

  • 磁盘剩余空间不足:AliyunEcs_diskusage_free{}<1024*1024*1024*5,当磁盘剩余空间小于5G时则需要考虑清理。

  • 其他热点指标:

    类型

    指标名称

    描述

    操作系统级

    AliyunEcs_cpu_idle

    CPU处于空闲状态时间比例

    AliyunEcs_diskusage_utilization

    ECS磁盘利用率

    AliyunEcs_memory_usedutilization

    ECS内存使用率

    AliyunEcs_load_1m/5m/15m

    CPU过去1/5/15分钟的系统平均负载

    AliyunEcs_load_per_core_1m/5m/5m

    CPU平均每核过去1/5/15分钟的系统平均负载

    AliyunEcs_net_tcpconnection

    各种状态下的TCP连接数,包括:

    • LISTEN

    • SYN_SENT

    • ESTABLISHED

    • SYN_RECV

    • FIN_WAIT1

    • CLOSE_WAIT

    • FIN_WAIT2

    • LAST_ACK

    • TIME_WAIT

    • CLOSING

    • CLOSED

    网络流量

    AliyunEcs_InternetIn

    经典网络公网流入流量(Byte)

    AliyunEcs_InternetOut

    经典网络公网流出流量(Byte)

    AliyunEcs_IntranetIn

    内网流入流量(Byte)

    AliyunEcs_IntranetOut

    内网流出流量(Byte)

    AliyunEcs_packetInDropRates

    入方向丢包率(%)

    AliyunEcs_packetOutDropRates

    出方向丢包率(%)

您还可以在告警页签为阿里云ECS产品创建新的Prometheus告警规则,查看监控告警信息。如何创建告警规则的具体操作,请参见Prometheus告警规则

云产品自监控集成最佳实践

通常在开通云产品后创建实例时,相关控制台界面会有同时开通ARMS Prometheus的选项,有些云产品在创建时是默认开通可观测监控 Prometheus 版且不可取消的,有些是需要您自行勾选开通的,因此当您在创建云产品实例完成后即可通过可观测监控 Prometheus 版实现该产品的指标监控。这里以开通MSE服务的云服务网关为例为您介绍如何开通可观测监控 Prometheus 版

  1. 登录MSE网关管理控制台

  2. 在左侧导航栏,选择云原生网关 > 网关列表

  3. 在顶部菜单栏选择地域,然后在网关列表页面左上角单击创建网关,在云原生网关的开通购买页面可以看到系统默认为您开通了ARMS Prometheus功能。

    开启ARMS Prometheus功能之后,该云产品会显示在可观测监控 Prometheus 版控制台云产品自监控集成页面的已集成区域,则表示该云产品已成功接入。更多信息,请参见云产品自监控集成

    创建完成后,在网关列表页面单击新创建的网关名称,然后在左侧导航栏选择观测分析 > 业务监控,在全局看板页签您可以查看可观测监控 Prometheus 版监控的指标数据。

  • 本页导读 (1)
文档反馈