本方案旨在满足您将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
方案优势
触发云产品任务执行的可靠数据通道:轻量消息队列(原 MNS)的核心优势诸如异步解耦、可靠传输及削峰填谷能力,能确保通知内容能够被稳定且高效地传递,实现应用和云产品服务的松散耦合,保障在高并发请求下系统的平稳运行。
多元化的告警通知渠道:支持通过电话、短信、电子邮件以及即时通讯平台(如钉钉、飞书和企业微信)中的群聊或机器人发送告警信息。
灵活的内容格式支持:对于告警内容的格式没有限制,支持普通文本内容、JSON等格式。
可定制的通知策略:您可以根据自身需求定义不同的通知规则,包括但不限于告警级别、时间窗口、重复次数等参数设置,从而实现更加精准有效地传递信息。
方案架构
方案效果
例如,将以下内容同时发送到邮箱、短信、钉钉三个渠道。
通知内容:欢迎使用<a href="">轻量消息队列(原 MNS)</a>产品作为云产品间消息通信的首选通道。
三个渠道收到的内容效果如下所示:
前提条件
在ARMS告警管理中创建钉钉机器人,详情请参见钉钉机器人。
在ARMS告警管理中创建联系人,设置姓名、手机号、邮箱等信息。详细步骤,请参见创建告警通知对象联系人。
说明手机号、邮箱需要经过验证后才可使用,详情请参见验证手机号。
操作步骤
步骤一:创建轻量消息队列(原MNS)主题
在左侧导航栏,选择 。
在顶部菜单栏,选择地域。
在主题列表页面,单击创建主题,然后在创建主题面板,配置以下参数,单击确定。
步骤二:将主题中的消息推送到ARMS
- 登录ARMS控制台,在左侧导航栏选择 。
在告警集成页签,单击自定义集成。
在新建自定义事件集成对话框中输入集成名称和描述,然后单击保存并配置。在集成详情页面的接口配置区域复制其URL地址。
返回轻量消息队列(原 MNS)控制台,在左侧导航栏,选择 。
在订阅列表页面,单击创建订阅,然后在创建订阅面板设置以下参数,其他参数保持默认即可。
参数
说明
示例
主题名称
选择上文步骤一:创建轻量消息队列(原MNS)主题中已创建的主题。
test
订阅名称
填写订阅名称。
testsubscription
订阅类型
选择HTTP。
HTTP
接收端地址
填写上文复制的集成地址。
https://alerts.aliyuncs.com/api/v1/integrations/custom/J3aaq2qQza****
消息格式
如果消息体内容为非JSON格式,则选择JSON;如果消息体内容为JSON格式,则选择SIMPLIFIED。这样可以保障推送到ARMS的完整内容为JSON格式。
JSON
在主题列表中找到步骤一:创建轻量消息队列(原MNS)主题中已创建的主题,单击其右侧操作列的发布消息,执行以下操作。
重要本文以控制台方式发送消息为例,您也可以通过客户端SDK方式发送消息,详情请参见客户端SDK。
使用控制台发送消息时默认不对消息体进行编码,当使用客户端SDK发送消息时,编码方式请选择“非Base64编码”。
消息推送到ARMS后,您可以在ARMS控制台上根据收到的消息字段配置事件映射,详情请参见步骤三:使用ARMS告警管理功能,解析消息体内容并配置通知策略。
步骤三:使用ARMS告警管理功能,解析消息体内容并配置通知策略
在ARMS控制台的告警集成列表中,找到步骤二:将主题中的消息推送到ARMS中创建的自定义事件集成,单击其右侧操作列的编辑。
在集成详情页面的事件映射区域配置映射。本例中将订阅名称(SubscriptionName)映射为告警名称(alertname),告警级别设置为MAX(P1级别),消息体(Message)内容映射为告警描述(message)。然后单击保存。
在自定义集成右侧操作列,选择
,为集成创建通知策略。在通知对象页签配置以下内容并保存,其他页签保持默认配置即可。
通知对象:在①处设置前提条件中创建的钉钉机器人作为告警通知对象,②处设置前提条件中创建的联系人作为告警通知对象,通知方式选择短信、邮箱。
告警恢复后是否发送恢复通知:选择不发送恢复通知。
通知模板:在通知内容变量填写
{{ for .alerts }} {{ .annotations.message }} {{ end }}
。邮件
短信
钉钉
步骤四:结果验证
返回轻量消息队列(原 MNS)控制台,在主题列表中找到步骤一:创建轻量消息队列(原MNS)主题中已创建的主题,单击其右侧操作列的发布消息,执行以下操作。
查看联系人邮箱、短信及钉钉机器人是否接收到告警。