通过钉钉机器人发送事件通知

本文介绍如何配置事件规则,通过钉钉机器人自动向钉钉群发送事件通知,便于您及时了解E-HPC集群相关的事件,以便做出响应。

背景信息

E-HPC配合事件总线EventBridge,可以将E-HPC集群操作、节点操作等事件投递到云服务专用事件总线,实现操作事件可接收、可查询、可消费。您可以对E-HPC集群和节点事件配置规则,通过钉钉机器人发送事件通知到钉钉群,从而及时获取E-HPC集群和节点的事件信息。

事件通知

准备工作

配置前,您需要开通EventBridge服务。具体操作,请参见开通事件总线EventBridge并授权

步骤一:创建钉钉机器人

创建钉钉机器人后会生成专属的Webhook地址,通过Webhook地址可以关联到其他服务(如事件总线EventBridge)接收通知。

  1. 登录钉钉开发者后台,并申请开发者权限。

  2. 创建并发布企业内部应用机器人。具体操作,请参见企业内部应用机器人的创建和安装

  3. 打开需要接收事件通知的钉钉群,为其添加机器人。

    1. 单击钉钉群右上角的钉钉设置.png图标打开群设置面板,然后单击机器人

    2. 机器人管理面板添加机器人,然后在弹出的对话框中单击添加机器人

    3. 找到新创建的企业机器人,单击对应图标,按照页面提示完成机器人添加。

  4. 复制并保存机器人的Webhook地址。

    机器人管理面板单击新添加的机器人,即可获取Webhook地址。

步骤二:配置E-HPC事件规则

事件规则用于监控特定类型的事件,当发生与事件规则相匹配的事件时,事件会被路由到与事件规则关联的目标(如钉钉)。

  1. 登录事件总线控制台

  2. 在左侧导航栏选择事件总线

  3. 在顶部菜单栏选择地域。

    说明

    无法跨地域配置事件。

  4. 事件总线页面,单击default进入默认事件总线配置页面。

  5. 在左侧导航栏选择事件规则,然后单击创建规则

  6. 创建规则面板,完成规则配置。

    1. 配置基本信息页面,输入名称和描述,单击下一步

    2. 配置事件模式页面,参考参数说明完成配置,单击下一步

      参数说明如下:

      • 事件源类型:选择阿里云官方事件源

      • 事件源:选择acs.ehpc

      • 事件类型:选择事件,本文以ehpc:NodeOperation:NodeCreate为例。E-HPC支持的事件信息请参见弹性高性能计算E-HPC事件

    3. 配置事件目标页面,参考参数说明完成配置,单击创建

      首次操作时,需完成服务授权,允许阿里云事件总线访问审计日志。

      参数说明如下:

      • 服务类型:选择钉钉

      • 地址:填入钉钉机器人的Webhook地址。

      • 密钥:填入钉钉机器人的密钥。

      • 推送内容:本文以集群扩容节点为例进行配置,示例如下。更多信息,请参见事件内容转换

        • 变量

          {
           "requestId": "$.data.RequestId",
           "uid": "$.data.Uid",
           "subUid": "$.data.SubUid",
           "clusterId": "$.data.ClusterId",
           "clusterName": "$.data.ClusterName",
           "regionId": "$.data.RegionId",
           "zoneId": "$.data.ZoneId",
           "vSwitchId": "$.data.VSwitchId",
           "imageId": "$.data.ImageId",
           "instanceType": "$.data.InstanceType",
           "count": "$.data.Count",
           "jobQueue": "$.data.JobQueue",
           "createTime": "$.data.CreateTime"
          }
        • 模板

          {
           "msgtype": "text", 
           "text": {
           "content": "亲爱的阿里云客户 ${uid} ,您好!\n温馨提醒您的账户于 ${createTime} 在 ${regionId} 地域在弹性高性能计算集群 ${clusterName}(${clusterId}) 上进行节点扩容,操作信息如下:\n\t可用区ID: ${zoneId}\n\t交换机ID: ${vSwitchId}\n\t镜像ID: ${imageId}\n\t实例类型: ${instanceType}\n\t节点数量: ${count}\n\t作业队列: ${jobQueue}\n\t节点创建时间: ${createTime}\n\nPS: 本次的请求ID为 ${requestId} ,如果您在使用E-HPC过程有任何疑问请凭此请求ID发起工单提问,祝您生活愉快,再会!"
           }
          }

结果验证

本文步骤二配置的事件为ehpc:NodeOperation:NodeCreate,则集群如果扩容了节点,将触发钉钉消息通知。以下为集群扩容节点触发钉钉发送事件通知的验证步骤,您可以根据自身配置的事件规则进行相应验证。

  1. 对某个集群进行手动扩容节点。具体操作,请参见扩容集群

  2. 查看钉钉群的消息通知。钉钉通知新