背景介紹
監控告警系統作為最為常用的服務,能夠讓開發運維人員時刻了解服務的目前狀态,并及時得知服務的異常,進而快速定位問題,降低服務異常帶來的損失。 Sass公司、開源界也針對這個領域提供了各自的方案,較為常用的系統包括zabbix、prometheus、grafana、open-falcon、pagerduty等。衆多的解決方案為開發運維人員帶來選擇性的同時,也帶來了監控資料、告警消息統一查詢的問題,開發人員需要到各個孤立的系統中檢索。SLS為了解決告警消息統一管理的問題,推出了開放告警,友善開發運維人員将多個不同監控告警系統發出的告警消息采集到SLS中。

開放告警
三方系統接入SLS開放告警大緻分為下圖所示的6個步驟,下面分别詳細介紹下每個步驟:
接入流程
進入新版SLS告警
首先進入SLS的任意一個Project,點選左側的告警按鈕圖表,随後點選"打開告警中心按鈕",即可進入新版SLS告警管理界面。其中"規則和事物"用于檢視和管理告警規則和告警事件,"告警管理"菜單用于管理客戶在新版SLS告警中的資産。
配置SLS告警
開放告警依賴于新版SLS告警中的部配置設定置項:
配置項 | 是否必須 | 說明 | 文檔連結 |
使用者 | 是 | 接收告警通知的使用者,包括多種不同的通知管道,比如手機/釘釘/郵箱 | 建立使用者和使用者組 |
使用者組 | 否 | 接收告警通知的使用者組,可以在使用者組中配置多個使用者 | |
内容模闆 | 告警消息顯示内容以及顯示格式,可以給不同的通知管道配置不同的内容模闆 | 建立内容模闆 | |
行動政策 | 開放告警服務收到告警消息後的通知行為,比如發給哪個使用者或者使用者組,使用哪個内容模闆展示告警消息的内容 | 建立行動政策 | |
告警政策 | 開放告警接收到告警消息後的通知政策,包括告警消息合并政策以及行動政策等 | 建立告警政策 |
在上述配置項中,使用者和行動政策屬于必填項,其餘三項配置為可選配置。
點選使用者管理按鈕,打開告警中心的使用者管理界面,就可以建立新的告警使用者。使用者資訊主要包括手機号碼以及郵箱,此處需注意保證手機号碼以及郵箱的正确性。
點選使用者組管理按鈕,打開告警中心的使用者組管理界面,就可以建立新的告警使用者組。在選擇框中選擇之前建立的部分或者全部使用者,即可完成使用者組配置,最後點選确認完成建立。
新版SLS告警通過内容模闆定義發送給使用者的消息,而且支援給每個通知管道配置各自的告警内容,使用者可以通過在内容模闆中添加模闆變量來定制化告警消息的内容。剛開始使用的時候,使用者可能不太清楚如何配置所有管道的内容模闆,這時留白即可,SLS會替換為預設的内容,減輕了開始的配置負擔。
行動政策較為重要,雖然SLS有預設的行動政策供使用者選擇。但是在使用開放告警的時候,建議使用者建立新的行動政策。右鍵點選開始按鈕,選擇添加行動組,在出現的行動組配置框中選擇合适的資訊即可。詳情請參考
擷取更多資訊。
告警政策不是必須的,使用者在使用開放告警的時候可以省略。同樣是在告警政策建立視窗中,右鍵點選開始按鈕,選擇添加分組合并,在出現的分組合并配置框中選擇合适的資訊即可。詳情請參考
建立開放告警服務
配置完開放告警依賴的基本配置,就可以開始建立開放告警服務。開放告警服務主要用來對開放告警應用進行管理,配置簡單,隻有ID和名稱兩項。
建立開放告警應用
在建立好的開放告警服務中,點選應用按鈕,即可看到開放告警應用管理界面。開放告警應用的配置項比較多,下面逐一介紹下。
協定認證
協定認證用于配置接入的告警消息格式,目前支援Prometheus和grafana兩種協定,後面會添加更多的協定支援。
行動政策規定了開放告警服務收到告警消息後的通知行為,比如發給哪個使用者或者使用者組,使用哪個内容模闆展示告警消息的内容。使用者可以選擇内置的行動政策(不建議),也可以選擇自定義行動政策(推薦)。
密鑰ID白名單
預設是禁用狀态,開啟之後,隻有配置了的access key id才能夠向該開放告警應用發送告警消息。
請求過濾
請求過濾用于配置一組關鍵字,隻有告警消息中包含其中任一個關鍵字,該消息才能發送出去,不然會被丢棄,預設為空;
資訊加工
資訊加工用于為告警消息添加額外的資訊,包括标簽和标注兩項,這兩項都是健值對;其中标簽同告警分組邏輯相關;預設為空。
額度
額度限制了該開放告警應能每分鐘能夠接收的告警消息數量,預設為100,最大值為10000。
注意:在最簡單的情況下,使用者隻需要配置協定認證和行動政策兩項,其餘保留預設值即可。
擷取開放告警連結
配置完開放告警應用,就可以在通過點選接口按鈕,擷取開放告警回掉連結。首先選取要接入告警消息的地區,目前支援的地區有河源。回調連結連結包含兩部分:域名部分和子路徑部分。其中子路徑部分包含變量{ACCESS_KEY_ID}。ACCESS_KEY_ID是阿裡雲的賬戶辨別,在ram控制台中可以建立,建立的時候注意選取程式設計通路。需要注意的是,在建立之後,還需要給該ACCESS_KEY_ID需要賦予系統權限政策AliyunLogPutOpenEventPolicy,才能通過該{ACCESS_KEY_ID}向開放告警應用發送告警消息。
配置三方服務
在擷取開放告警應用連結之後,就可以将該告警連結通過不同的方式配置到三方服務中。例如在prometheus中,可以通過在prometheus的配置檔案prometheus.yml添加新的alertmanager的方式加入sls開放告警應用連結;在grafana中,通過添加新的通知管道,并選擇類型為webhook。
協定 | 接入文檔 |
Prometheus | 接入Prometheus告警 |
Grafana | 接入Grafana告警 |
總結
SLS開放告警為開發運維人員提供了統一的告警消息接入方法,進而實作告警消息的統一檢視和管理,極大的友善了使用者。SLS開放告警後續會推出更多的接入方式,敬請期待。