本文为您介绍如何通过阿里云ARMS服务收集并查看Spark作业的监控指标,以及如何基于监控指标设置报警。

前提条件

配置Prometheus监控

  1. 进入Prometheus监控页面。
    1. 登录EMR on ACK控制台
    2. 集群管理页面,单击目标集群所在行所属ACK集群列的链接。
    3. 在左侧导航栏中,选择运维管理 > Prometheus监控
    4. Prometheus监控页面,控制台自动安装组件、检查监控大盘。
      安装完成后,单击各个页签可以查看相应监控数据。
    5. Prometheus监控页面,单击右上角的跳转到Prometheus服务
  2. 开启服务发现。
    1. 在左侧导航栏,单击服务发现
    2. 服务发现页面,单击配置页签。
    3. 单击Podmonitor页签。
    4. Podmonitor页签,依次打开parkoperator-podmonitorsparkoperator-spark-podmonitorshuffleservice-master-podmonitorshuffleservice-worker-podmonitor操作列的开关。
      PodMonitor
      说明 如果您没有部署Shuffle Service集群,请忽略shuffleservice-master-podmonitorshuffleservice-worker-podmonitor
    5. 在弹出的对话框中,单击确定
  3. 提交Spark作业,具体操作请参见提交Spark作业
  4. 可选:查看采集状态。
    您可以在服务发现页面的Targets页签中查看上一步配置的podmonitor的状态,并单击目标Endpoint链接,获取原始输出的Metric。Spark
  5. 可选:通过Grafana大盘查看指标曲线。
    1. 登录Grafana大盘概览页
    2. 在左侧导航栏,单击Explore图标。
    3. 在上方选择您的ACK集群。
    4. Metrics输入框中输入相关指标,即可实时查询指标曲线。
      说明
      • Spark Pod的指标以spark_driver_、spark_executor_或jvm_开头。
      • Spark Operator的指标以spark_app开头。
      • Shuffle Service的指标以metrics_开头。

查看告警

  1. 进入告警规则页面。
    1. 登录EMR on ACK控制台
    2. 集群管理页面,单击目标集群所在行所属ACK集群列的链接。
    3. 在左侧导航栏中,选择运维管理 > Prometheus监控
    4. Prometheus监控页面,控制台自动安装组件、检查监控大盘。
      安装完成后,单击各个页签可以查看相应监控数据。
    5. Prometheus监控页面,单击右上角的跳转到Prometheus服务
    6. 在左侧导航栏,单击告警规则
  2. 配置告警规则。
    1. Prometheus告警规则页面,单击创建Prometheus告警规则
    2. 创建Prometheus告警规则,详情请参见通过自定义PromQL创建Prometheus告警规则
  3. Prometheus告警规则页面,单击目标告警操作列的告警事件历史
    当报警条件满足时,即可看到相应的报警。