本方案旨在滿足您將自定義告警信息同時分發至多個通知渠道的需求,例如短信、電子郵件及釘釘群組等。通過采用輕量消息隊列(原 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)主題中已創建的主題,單擊其右側操作列的發布消息,執行以下操作。
查看聯系人郵箱、短信及釘釘機器人是否接收到告警。