本文介绍如何使用阿里云Prometheus监控观测云产品。
自建Prometheus监控云产品的挑战
虽然Prometheus官方社区维护了很多Exporter,第三方厂商或者主流开源项目也参与维护中。但由于云产品的特殊性,如果您想要通过自建 Prometheus去监控云产品,就需要通过Prometheus Exporter形式将观测到的Metric数据收集到服务端,因此会增加额外的工作量,具体说明如下:
额外的研发工作量
虽然官方提供了四种语言(Go、Java、Python、Rubby)的正式客户端库用来开发一个集成HTTP Server 的Exporter库,并提供了完整的开发规范。但仍需要运维工程师针对不同云产品开发定制Exporter,即调用企业云监控实时导出服务获取Metric数据),对于开箱即用的云服务而言,降低了业务上线效率。
额外的Exporter资源消耗
由于Exporter本身提供了一个REST服务器,会带来一些线程消耗,随着Exporter接入的云产品越多、指标越多,随之消耗的资源也会增多。
如何通过阿里云Prometheus监控云产品
根据不同云产品的Prometheus集成情况,Prometheus监控的云产品分为企业云监控集成以及云产品自监控集成两种形式。
企业云监控集成
阿里云部分云产品在产品控制台已默认集成了Prometheus监控,但是目前还有众多云产品尚未集成Prometheus监控,为了您能通过Prometheus监控这些未集成的云产品,Prometheus监控提供了企业云监控集成方式。您可以通过企业云监控获取监控指标,其中指标上报流量费用由云监控收取,具体收费详情,请参见企业云监控计费规则。Prometheus监控侧会为您提供免费的存储及应用。因此在没有增加您的运维成本下,您将可以获得Prometheus监控更精细与灵活的指标加工与应用能力。

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

- Exporter:以Pod方式部署在云产品侧K8s集群,负责收集云产品指标数据。
- Agent:ARMS Prometheus Agent
- Alarm:定义告警模板。
- Grafana:提供云产品默认大盘。
- 数据库类:阿里云Clickhouse、阿里云Lindorm、云数据库MongoDB。
- 消息队列类:消息队列RabbitMQ、消息队列Kafka、消息队列RocketMQ。
- 中间件类:企业级分布式应用服务EDAS、微服务引擎MSE-云原生网关、Serverless应用引擎SAE、应用高可用服务AHAS。
- 运维类:Grafana服务、性能测试PTS。
企业云监控集成最佳实践
这里以接入阿里云ECS为例为您介绍具体的集成步骤。
步骤一:接入云产品
- 登录Prometheus控制台。
- 在左侧导航栏单击监控列表,进入Prometheus监控的实例列表页面。
- 在实例列表中单击实例名称为云服务实例的Prometheus实例,进入集成中心页面。
- 在企业云监控集成页签下单击未集成区域的目标阿里云ECS卡片的安装,然后在弹出的对话框中单击确认,完成接入。重要 若当前企业云监控尚未开通,单击安装后弹框会提示您去开通,通过企业云监控获取监控指标,指标上报流量费用由对应云监控产品收取。具体收费详情,请参见企业云监控计费规则。
步骤二:查看监控指标
参数 | 说明 |
---|---|
指标 | 该指标的名称。 |
类别 | 企业云监控产品的类别。 |
描述 | 该指标的含义。 |
占比 | 该指标数量在所有指标中的占比。 |
指标量 | 最近十分钟指标落库存储的数量。 |

步骤三:查看Grafana大盘

- 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的选项,有些云产品在创建时是默认开通ARMS Prometheus监控且不可取消的,有些是需要您自行勾选开通的,因此当您在创建云产品实例完成后即可通过Prometheus监控实现该产品的指标监控。这里以开通MSE服务的云服务网关为例为您介绍如何开通Prometheus监控。
- 登录MSE网关管理控制台。
- 在左侧导航栏,选择 。
- 在顶部菜单栏选择地域,然后在网关列表页面左上角单击创建网关,在云原生网关的开通购买页面可以看到系统默认为您开通了ARMS Prometheus功能。
开启ARMS Prometheus功能之后,该云产品会显示在Prometheus监控控制台云产品自监控集成页面的已集成区域,则表示该云产品已成功接入。更多信息,请参见云产品自监控集成。
创建完成后,在网关列表页面单击新创建的网关名称,然后在左侧导航栏选择 ,在概览页签您可以查看Prometheus监控的指标数据。