本文介绍如何使用阿里云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监控更精细与灵活的指标加工与应用能力。

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

部署形式如下:eb
  • Exporter:以Pod方式部署在云产品侧K8s集群,负责收集云产品指标数据。
  • Agent:ARMS Prometheus Agent
  • Alarm:定义告警模板。
  • Grafana:提供云产品默认大盘。
目前已接入的产品包括:
  • 数据库类:阿里云Clickhouse、阿里云Lindorm、云数据库MongoDB。
  • 消息队列类:消息队列RabbitMQ、消息队列Kafka、消息队列RocketMQ。
  • 中间件类:企业级分布式应用服务EDAS、微服务引擎MSE-云原生网关、Serverless应用引擎SAE、应用高可用服务AHAS。
  • 运维类:Grafana服务、性能测试PTS。

企业云监控集成最佳实践

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

步骤一:接入云产品

  1. 登录Prometheus控制台
  2. 在左侧导航栏单击监控列表,进入Prometheus监控的实例列表页面。
  3. 在实例列表中单击实例名称为云服务实例Prometheus实例,进入集成中心页面。
    ce
  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_idleCPU处于空闲状态时间比例
    AliyunEcs_diskusage_utilizationECS磁盘利用率
    AliyunEcs_memory_usedutilizationECS内存使用率
    AliyunEcs_load_1m/5m/15mCPU过去1/5/15分钟的系统平均负载
    AliyunEcs_load_per_core_1m/5m/5mCPU平均每核过去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监控。

  1. 登录MSE网关管理控制台
  2. 在左侧导航栏,选择云原生网关 > 网关列表
  3. 在顶部菜单栏选择地域,然后在网关列表页面左上角单击创建网关,在云原生网关的开通购买页面可以看到系统默认为您开通了ARMS Prometheus功能。
    tk

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

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