通过Prometheus配置SAE Grafana大盘和报警规则

Serverless 应用引擎 SAE(Serverless App Engine)平台的监控和数据源类型分丰富多样,这些指标都默认集成了阿里云可观测监控 Prometheus 版(Managed Service for Prometheus),且可观测监控 Prometheus 版已集成可观测可视化 Grafana 版。您可以通过Grafana共享版查看预置大盘,或通过创建计费版本的Grafana工作区对SAE的监控数据进行二次开发。

前提条件

您已开通SAE服务,并创建SAE应用。具体操作,请参见应用部署

使用说明

  • 查看SAE平台预置的单应用Grafana大盘,例如单应用的基础监控大盘、ARMS应用监控大盘。

  • 查看和配置全局多应用的Grafana可观测大盘,包括全局所有应用、任务、实例、发布单等各维度指标的统计和Top N大盘,按需配置自定义监控大盘。使用该能力,实现 1人轻松运维成百上千个应用。

  • 通过Prometheus配置SAE各个指标的监控报警规则,保障业务的连续性与服务的高可用。

更多信息,请参见什么是可观测可视化 Grafana 版Grafana

功能入口

  1. SAE控制台应用管理 > 微服务应用页面顶部菜单栏选择地域,然后在应用列表页面,单击目标应用名称。

  2. 在应用详情页面的左侧导航栏,单击基础监控,然后再单击顶部提示信息中查看详情

    • 基础监控大盘:页面会跳转至Grafana的基础监控大盘页面。大盘示例,请参见查看单应用的基础监控Grafana大盘

    • 应用监控大盘:您可以单击页面左侧的image.png,返回Grafana的搜索页面。如需查看应用监控大盘,搜索关键词arms,找到以arms-metrics-<您应用所在的地域>-开头的目录,展开目录后,查看具体的监控指标。大盘示例,请参见查看单应用的ARMS监控Grafana大盘

查看单应用的基础监控Grafana大盘

该大盘展示单个应用下全部实例维度和单个应用维度的监控指标。具体指标如下:

  • CPU使用率

  • 系统平均负载

  • 内存使用量

  • 网络流入流出速率

  • 网络数据包

  • 磁盘使用量

  • 磁盘IOPS

  • 磁盘吞吐率

  • TCP连接数

image.png

查看单应用的ARMS监控Grafana大盘

重要

SAE内置的ARMS监控能力适用于Java应用。

该大盘从API、Application、DB和Machine维度,展示监控指标。大盘内各指标含义,请参见应用监控指标说明

  • API(应用总览监控视图)

    应用总览视图展示应用全局的请求数、RT和错误数,以及链路上下游的请求数、RT和错误数监控指标。

    image.png

  • Application(应用详情监控视图)

    应用详情视图包括服务调用(提供的服务和调用的服务)、JVM、实例等监控指标。

    image.png

  • DB(应用关联的数据库监控视图)

    应用关联的数据库监控视图包含请求数、错误数、RT、连接池等监控指标。

    sc_db_dashboard

  • Machine(应用实例监控视图)

    应用实例监控视图包含单个应用下具体实例IP的CPU、内存、负载、磁盘、网络流量和网络数据包等监控指标。

    sc_machine_dashboard

配置全局多应用的Grafana可观测大盘

重要

创建Grafana工作区会产生一定的费用。更多信息,请参见计费规则

如果基础监控大盘和应用监控大盘不能满足您的需求,您可以通过配置全局可观测大盘,自定义更全面、更精细化的大盘数据,便于以全局视角及时发现当前问题,规避潜在风险,分析未来趋势。

  1. 创建Grafana工作区。具体操作,请参见创建Grafana工作区

    您可以在工作区管理页面,查看刚创建成功的目标工作区。

  2. 工作区管理页面,单击目标工具区名称,然后在工作区信息页面的云服务集成区域,集成SAE各项数据源。

    • 集成SAE数据源,该数据源包含SAE基础监控数据以及平台侧相关数据。

      在云服务集成列表中,选择Prometheus云服务监控(旧),筛选集成对应地域的云产品SAE自监控数据源。

      image.png

    • 集成ARMS数据源,该数据源包含SAE应用监控数据。

      在云服务集成列表中,选择ARMS应用监控服务,集成对应地域的数据源。sc_application_monitoring_service_in_cloud_service_integration

    • 集成SLS数据源,该数据源包含SAE事件信息。

      在云服务集成列表中,选择SLS日志服务,添加SLS数据源。具体操作,请参见云服务集成image.png

      创建数据源时,所属项目选择aliyun-product-data-{userId}-{regionId}logstore选择sae_eventimage.png

      说明

      2023年04月28日前未部署过的应用,需重新部署后才会产生数据。

  3. 在Grafana中,导入大盘模板。

    输入各项大盘模板的ID,导入大盘模板并添加步骤2的数据源。如下图所示,导入数据源成功后,即可查看Grafana大盘。具体操作,请参见添加并使用Prometheus数据源

    分类

    大盘ID

    导入数据源

    查看监控指标

    应用全局大盘

    18555

    sc_import_sae_application_dashboard_from_grafana

    sc_sae_application_overview_dashboard

    任务全局大盘

    18556

    sc_import_sae_job_dashboard_from_grafana

    sc_sae_job_overview_dashboard

    实例生命周期大盘

    19098

    sc_import_sae_instance_lifecycle_dashboard_from_grafana

    sc_sae_instance_lifecycle_dashboard

    发布单大盘

    19099

    sc_import_sae_changeorder_overview_dashboard_from_grafana

    sc_sae_changeorder_overview_dashboard

通过Prometheus配置SAE各个指标的监控告警规则

重要

创建Grafana工作区会产生一定的费用。更多信息,请参见计费规则

通过集成Prometheus云服务监控的SAE数据源,您可以基于应用、任务、实例和发布单等SAE的关键业务指标,配置监控告警以保障业务的连续性与服务的高可用。

支持的SAE指标

Prometheus中内置的SAE业务指标明细如下。

应用相关指标

指标名称

类型

说明

单位

维度

app_replicas_count

gauge

应用目标实例数

"appId", "appName", "namespace"

app_available_replicas_count

gauge

应用可用实例数

"appId", "appName", "namespace"

任务相关指标

指标名称

类型

说明

单位

维度

job_active_count

gauge

任务正在运行数

"appId", "appName", "jobId", "namespace"

job_succeeded_count

gauge

任务运行成功数

"appId", "appName", "jobId", "namespace"

job_failed_count

gauge

任务运行失败数

"appId", "appName", "jobId", "namespace"

job_cost_time

gauge

任务执行耗时

s

"appId", "appName", "jobId", "namespace"

实例相关指标

指标名称

类型

说明

单位

维度

instance_state

gauge

实例运行状态,其中不同状态的数值映射如下:

  • 0:Pending

  • 1:PodInitializing

  • 2:Init

  • 3:ContainerCreating

  • 4:Running

  • 5:Terminating

  • 6:ImagePullBackOff

  • 7:ErrImagePull

  • 8:CrashLoopBackOff

  • 9:Error

  • 10:ContainerStatusUnknown, NotFound

  • 11:Completed

  • 12:Failed

  • -1:其他状态

"appId", "appName", "namespace", "instanceId"

发布单相关指标

指标名称

类型

说明

单位

维度

changeorder_count

counter

变更执行总数

"appId", "appName", "namespace", "regionId","changeorderType"

changeorder_success

counter

变更执行成功数

"appId", "appName", "namespace", "regionId","changeorderType"

changeorder_failed

counter

变更执行失败数

"appId", "appName", "namespace", "regionId","changeorderType"

changeorder_time

histogram

变更执行耗时

ms

"appId", "appName", "namespace", "regionId","changeorderType"

task_time

histogram

变更步骤耗时

ms

"appId", "appName", "namespace", "regionId", "taskType"

配置监控告警规则

  1. 集成SAE数据源。

    1. 创建Grafana工作区。具体操作,请参见创建Grafana工作区

      您可以在工作区管理页面,查看刚创建成功的目标工作区。

    2. 工作区管理页面,单击目标工具区名称,然后在工作区信息页面的云服务集成区域,集成SAE数据源。

      集成SAE数据源,该数据源包含SAE基础监控数据以及平台侧相关数据。

      在云服务集成列表中,选择Prometheus云服务监控(旧),筛选集成对应地域的云产品SAE自监控数据源。

      image.png

  2. 配置规则。

    集成SAE数据源后,登录Prometheus控制台并创建监控告警规则。具体操作,请参见Prometheus告警规则