5分鐘搞定 AlertManager 接入短信、語音等10+種通知渠道
SLS告警管理
AlertManager作為Prometheus生態(tài)系統(tǒng)的一員,提供了包括靜默、抑制、通知在內的多種告警管理服務。同時AlertManager在實際使用中還存在著或多或少的不足,例如通知渠道過少,規(guī)則配置過程繁瑣。
阿里云日志服務為了解決告警的通知、管理等問題,推出了日志服務告警中心,為客戶提供了一站式的告警解決方案。下圖中的功能對比給出了SLS告警和AlertManager+Prometheus生態(tài)的功能對比,可以看出SLS告警提供了企業(yè)級的服務,能夠極大的方便用戶的工作。
SLS開放告警
SLS告警提供的開放告警功能,能夠很方便的將三方系統(tǒng)的告警消息接入到SLS告警中心,而且不需要對現(xiàn)有系統(tǒng)做任何改造。AlertManager接入SLS告警后的告警消息流如下圖所示:
下面介紹將AlertManager接入到SLS告警的詳細流程,包括SLS告警配置和AlertManager配置兩部分。
SLS告警配置
1. 創(chuàng)建行動策略
行動策略將決定了SLS在接收Alert Manager告警消息后,以何種方式及何種渠道通知您。為此,您需要首先打開告警中心,點擊告警管理,在下拉菜單中選擇行動策略:
然后點擊頁面左上角的添加按鈕,在彈出的對話框中配置新的行動策略,然后點擊確認。目前,系統(tǒng)支持語音,短信,郵箱,釘釘和企業(yè)微信等通知渠道,有關行動策略的具體配置方法,可參閱官方文檔創(chuàng)建行動策略。
2. 創(chuàng)建開放告警服務
首先打開告警中心,點擊告警管理,在下拉菜單中選擇開放告警:
點擊頁面左上角的創(chuàng)建按鈕,在彈出的對話框中配置新的開放告警服務,包括服務ID和服務名稱,然后點擊保存:
3. 創(chuàng)建開放告警應用
選擇上一步驟中創(chuàng)建的服務,在操作欄中點擊該服務的應用按鈕:
在彈出的對話框中點擊創(chuàng)建,添加新的應用,點擊保存。這里的協(xié)議請選擇AlertManager,行動策略選擇在第一步中配置的策略,其余選項可選擇默認值。
4. 獲取開放告警應用接口
現(xiàn)在,您在第二步創(chuàng)建的開放告警服務中已經(jīng)存在一個新的告警應用了。點擊該應用操作欄的接口按鈕,獲取接口信息:
接口地址由兩部分構成:
域名部分:SLS的接入地址,和地域相關,每個地域都有各自不同的接入地址;
子路徑部分:包括用于發(fā)送消息的Access Key Id和開放告警應用Id。需要注意的是,用戶需要將子路徑部分中的{ACCESS_KEY_ID}替換為具體阿里云RAM賬戶的Access Key Id,并且將權限策略AliyunLogOpenEventWrite賦予該賬戶。
Alert Manager接入配置
在Alert Manager配置文件中,您首先需要創(chuàng)建一個告警消息的接收者。為此,您需要在receivers配置項下添加一個Webhook接收者,在url字段中填寫上一步驟中獲取的接口地址。然后,您需要在route配置項下添加前面創(chuàng)建的接收者。典型的配置文件如下圖所示:
route:
receiver: '{RECIEVER_NAME}'
...
...
receivers:
- name: '{RECIEVER_NAME}'
webhook_configs:
- url:
- 'http://{ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID}'
- name: ...
其中{RECIVER_NAME}為用戶為接收者自定義的名稱。
效果展示
告警消息查看
在告警中心的事務視圖界面,可以查看接收到的告警消息列表,以及該告警消息的詳情。
告警接入概覽
在開放告警大盤,可以查看告警消息過濾、發(fā)送情況。
告警通知概覽
告警大盤展示了所有告警消息的概覽視圖,可以查看通過不同通知渠道發(fā)送的消息量。