文档

订阅系统事件通知

更新时间:

EMR Serverless Spark已接入云监控平台,您可以通过事件订阅对重要的事件设置定制化的报警通知,让您及时了解事件的发生与进展,帮助您实时掌握事件动态,便于您在业务故障时快速分析并定位问题。

背景信息

云监控(CloudMonitor)是针对阿里云资源和互联网应用提供监控的服务,支持集中管理、监控各云服务的系统事件,为您提供各云服务系统事件的统一查询入口,使您及时了解各云服务的运行状态,并接收报警通知。关于云监控的更多信息,请参见什么是云监控

所有系统事件均可以通过云监控配置报警规则,当事件发生时会及时报警。云监控支持以下两种报警方式:

  • 通过短信、邮件、钉钉机器人等方式,对事件发生时进行报警。

  • 将事件分发到您的消息队列、日志服务、函数计算、Webhook中,以便您根据业务场景自动化处理异常事件。

前提条件

工作流已启动执行,详情请参见管理工作流

创建订阅策略

目前支持任务运行成功、任务运行失败和任务正在运行三种类型的事件订阅 ,本文以订阅任务运行失败事件为例。

说明

工作流的状态变更事件可能不会立即在云监控页面上显示出来。通常情况下,会存在几分钟的延迟,请您耐心等待。

  1. 获取事件资源ID。

    1. 登录云监控控制台

    2. 在左侧导航栏,选择事件中心 > 系统事件

    3. 事件监控页签,产品选择E-MapReduce、事件名称选择EMRSpark工作流任务状态变化,单击搜索

    4. 在下面筛选出的事件中找到目标事件的资源ID。

      image

      资源格式为acs:emr:cn-hangzhou:<阿里云主账号ID>:resourceId/workspaceId/<workspaceId>#workflowDefinitionName/<workflowDefinitionName>#taskDefinitionName/<taskDefinitionName>,您也可以使用这个格式直接拼接您的任务事件资源ID。

  2. 订阅事件通知。

    1. 在左侧导航栏,选择事件中心 > 事件订阅

      说明

      您还可以通过系统事件菜单创建订阅策略,具体操作如下:

      1. 在左侧导航栏,选择事件中心 > 系统事件

      2. 欢迎体验新版事件中心区域,单击立即创建

    2. 订阅策略页签,单击创建订阅策略

    3. 创建订阅策略页面,设置订阅策略的相关参数。

      • 名称:输入订阅策略名称。

      • 订阅类型:选择系统事件

      • 订阅范围

        • 产品:选择E-MapReduce

        • 事件名称:选择EMRSpark工作流任务状态变化

        • 事件内容:输入toState: FAILED

        • 事件资源:输入前一个步骤中获取到的资源信息。

        • 事件类型事件等级应用分组:均不设置。

      • 合并降噪:使用默认值。

      • 通知:创建通知配置,自定义通知方式使用默认通知方式。

        创建通知配置时,请先输入通知配置名称,再选择通知设置直接设置通知组,然后选择报警联系组,最后单击确定

        说明

        关于如何创建通知配置,请参见创建通知配置策略

        系统自动根据报警组中报警联系人的通知方式发送报警通知,例如:报警联系人中设置了手机号码和邮箱,自定义通知方式使用默认通知方式,则报警联系人只会收到报警电话、短信和邮件。

      • 推送与集成:无需配置。

        说明

        关于如何创建推送渠道,请参见创建推送渠道

    4. 单击提交

  3. 调试事件订阅

调试事件订阅

创建系统事件订阅后,您可以使用系统事件的调试功能,验证系统事件报警规则中设置的信息是否能正常被触发。

  1. 订阅策略页签,单击调试事件订阅

  2. 创建事件调试面板,产品选择E-MapReduce名称选择EMRSpark工作流任务状态变化

    系统自动生成JSON格式的调试内容。

  3. 单击确定

    系统提示操作成功,云监控自动根据订阅策略中的通知方式给报警联系人发送一条报警测试通知。

常见问题

如何在一个事件中注册多个任务的告警?

如果有多个任务的告警,可以在事件资源中使用逗号(,)隔开。例如,acs:emr:cn-hangzhou:113545727984****:resourceId/workspaceId/w-3a81b561ddcb2****#workflowDefinitionName/wf_1#taskDefinitionName/pytest,acs:emr:cn-hangzhou:113545727984****:resourceId/workspaceId/w-3a81b561ddcb****#workflowDefinitionName/wf_2#taskDefinitionName/pi_test

如何在一个事件中同时注册任务运行成功和任务运行失败事件?

在填写事件内容时,可以用逗号(,)分隔条件,以便同时配置事件。例如,toState: FAILED, toState: SUCCESS

说明

针对任务正在运行的事件,建议您将其与任务运行成功或任务运行失败的事件分开注册。这是因为任务正在运行的事件可能会多次触发,从而增加了不必要的通知噪声。通过将其分开注册,您可以更有效地管理事件通知。