SLS告警管理
AlertManager作為Prometheus生态系統的一員,提供了包括靜默、抑制、通知在内的多種告警管理服務。同時AlertManager在實際使用中還存在着或多或少的不足,例如通知管道過少,規則配置過程繁瑣。
阿裡雲日志服務為了解決告警的通知、管理等問題,推出了日志服務告警中心,為客戶提供了一站式的告警解決方案。下圖中的功能對比給出了SLS告警和AlertManager+Prometheus生态的功能對比,可以看出SLS告警提供了企業級的服務,能夠極大的友善使用者的工作。

SLS開放告警
SLS告警提供的開放告警功能,能夠很友善的将三方系統的告警消息接入到SLS告警中心,而且不需要對現有系統做任何改造。AlertManager接入SLS告警後的告警消息流如下圖所示:
下面介紹将AlertManager接入到SLS告警的詳細流程,包括SLS告警配置和AlertManager配置兩部分。
SLS告警配置
1. 建立行動政策
行動政策将決定了SLS在接收Alert Manager告警消息後,以何種方式及何種管道通知您。為此,您需要首先打開告警中心,點選告警管理,在下拉菜單中選擇行動政策:
然後點選頁面左上角的添加按鈕,在彈出的對話框中配置新的行動政策,然後點選确認。目前,系統支援語音,短信,郵箱,釘釘和企業微信等通知管道,有關行動政策的具體配置方法,可參閱官方文檔
建立行動政策。
2. 建立開放告警服務
首先打開告警中心,點選告警管理,在下拉菜單中選擇開放告警:
點選頁面左上角的建立按鈕,在彈出的對話框中配置新的開放告警服務,包括服務ID和服務名稱,然後點選儲存:
3. 建立開放告警應用
選擇上一步驟中建立的服務,在操作欄中點選該服務的應用按鈕:
在彈出的對話框中點選建立,添加新的應用,點選儲存。這裡的協定請選擇AlertManager,行動政策選擇在第一步中配置的政策,其餘選項可選擇預設值。
4. 擷取開放告警應用接口
現在,您在第二步建立的開放告警服務中已經存在一個新的告警應用了。點選該應用操作欄的接口按鈕,擷取接口資訊:
接口位址由兩部分構成:
- 域名部分:SLS的接入位址,和地域相關,每個地域都有各自不同的接入位址;
- 子路徑部分:包括用于發送消息的Access Key Id和開放告警應用Id。需要注意的是,使用者需要将子路徑部分中的{ACCESS_KEY_ID}替換為具體阿裡雲RAM賬戶的Access Key Id,并且将權限政策AliyunLogOpenEventWrite賦予該賬戶。
Alert Manager接入配置
在Alert Manager配置檔案中,您首先需要建立一個告警消息的接收者。為此,您需要在receivers配置項下添加一個Webhook接收者,在url字段中填寫上一步驟中擷取的接口位址。然後,您需要在route配置項下添加前面建立的接收者。典型的配置檔案如下圖所示:
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}為使用者為接收者自定義的名稱。
效果展示
告警消息檢視
在告警中心的事務視圖界面,可以檢視接收到的告警消息清單,以及該告警消息的詳情。
告警接入概覽
在開放告警大盤,可以檢視告警消息過濾、發送情況。
告警通知概覽
告警大盤展示了所有告警消息的概覽視圖,可以檢視通過不同通知管道發送的消息量。