ARMS警示管理提供了可靠的警示收斂、通知、自動升級等功能,協助您快速檢測和修複業務警示。本文主要介紹了警示管理的實現原理和優勢。
功能架構
警示管理組件含整合管理、警示事件管理、通知策略管理、警示協同處理和警示處理分析五個功能模組。
整合管理
整合管理分為預設警示整合和三方產品整合兩部分。
預設警示整合
預設警示整合預設整合了ARMS各子產品的警示,如應用監控警示、前端監控警示、Prometheus警示、雲撥測警示等。ARMS預設警示通常通過周期性的觸發任務來檢查監控資料是否存在異常,檢測到異常後會通過預設的通道將警示事件上報到事件管理中心。
ARMS各子產品建立警示規則的操作,請參見:
三方產品整合
三方產品整合支援通過簡單配置接入任意警示源產生的警示,從而在ARMS上一站式處理分布在各個雲上雲下IDC系統產生的警示,實現統一處理警示的目的。任意警示源產生的警示上報到ARMS警示管理後統稱為警示事件,警示事件有如下約束:
警示事件的資料結構
ARMS警示事件的資料結構參考開源AlertManager的資料結構,資料結構包括:
Labels(標籤):警示中繼資料,一組標籤唯一標識一個事件,標籤相同的事件為同一個事件,重複上報會進行合并,例如:
“alertname: 警示名稱 ”
。Annotations(注釋):注釋是警示事件的附加描述,注釋不屬於中繼資料。例如:
“message: 警示內容”
。StartsAt(警示開始時間):警示事件開始時間。
EndsAt(警示結束時間):警示事件結束時間。
GeneratorUrl(事件URL地址):警示事件URL地址。
標籤(Labels)和注釋(Annotations)的區別
一組標籤共同決定了一個警示事件,當其中的一個標籤發生變化時,將產生新的警示事件。
樣本:
{ "hostname":"線上生產主機", "alertname":"CPU使用率過高","ip":"192.168.0.3"}
這一組標籤代表一個警示(主機192.168.0.3的CPU使用率過高)。當標籤IP發生變化後,如{ "hostname":"線上生產主機", "alertname":"CPU使用率過高","ip":"192.168.0.4"}
,就會產生一個新的警示(主機192.168.0.4的CPU使用率過高)。注釋的變化不會改變警示事件,一組標籤相同注釋不同的多條事件會被認為是一條事件多次上報。
樣本:
注釋
{"value":"85","message":"主機192.168.0.3 CPU使用率85%,超過閾值80%"}
改變其中的內容不會產生新的警示,例如改變CPU使用率後{"value":"86","message":"主機192.168.0.3 CPU使用率86%,超過閾值80%"}
,兩次事件上報的警示為同一條警示。
整合中可以配置去重欄位,配置去重欄位後這個整合上報的警示都會按照配置的去重欄位作為標籤來唯一確定一個警示事件。如果不配置去重欄位預設會按照所有的標籤來唯一確定一個警示事件。
警示事件管理
警示事件管理支援通過以下兩種方式對警示源再加工:
通過事件處理流編排簡單的處理流程,對任意警示源上報的警示事件進行再加工,以滿足差異化的事件數目據處理需求。
事件管理支援對任意警示源上報的警示事件去重、壓縮、降噪、靜默,從而收斂警示,減少警示風暴的產生。
事件壓縮原理
警示事件管理預設會對事件進行2個層面的壓縮,基於標籤壓縮和基於時間壓縮,下面分別闡述壓縮實現的原理。
基於標籤壓縮
滿足條件的警示事件在通知時會按照通知策略中設定的分組策略進行壓縮。根據分組策略中設定的標籤,當滿足條件的多條事件包含相同的標籤時,將會自動壓縮成一條警示進行通知。下圖展示3個不同的事件,根據兩種不同的壓縮標籤進行壓縮的效果:
基於時間壓縮
每個警示事件都包含警示開始時間和警示結束時間,標籤相同的警示如果開始時間和結束時間有交集,則會合并為一個警示事件,且合并後的警示事件的開始時間和結束時間取這兩個警示事件的並集。
通知策略管理
通知策略本質上是一種訂閱規則,通過配置匹配規則,當滿足條件的警示事件產生時會根據通知策略的配置進行通知。
事件處理流、事件管理和通知策略的關係如下圖所示。
警示協同處理
警示協同處理模組支援多種協作策略的配置,您可以在阿里雲控制台、DingTalk、企業微信、飛書等工具中直接對警示進行處理。同時也支援群訊息同步、排班管理、升級策略等功能,滿足團隊協同處理警示的需求。警示處理流程如下所示,具體操作,請參見在警示通知群中處理警示。
警示管理優勢
當業務部署到阿里雲並使用ARMS產品監控業務後,如果使用警示管理功能處理業務警示,ARMS警示管理能從以下幾點來提升您的營運效率。
全球化。
警示規則模板全球化,一站式為全球事件配置警示。
連絡人、通知策略全球化,一次配置全球生效。
說明國際站暫不支援通過電話方式發送通知。
整合事件後管理更高效。
警示管理預設支援一鍵化整合阿里雲常見的監控工具,並支援更多的監控工具手動接入,方便統一維護。
事件接入模組穩定,能提供7×24小時的無間斷事件處理服務。
處理海量事件數目據時可以保證低延時。
及時準確地將警示通知給連絡人。
配置通知規則,對事件彙總後再發送警示通知,減少營運人員出現通知疲勞的情況。
根據警示的緊急程度選擇郵件、簡訊、電話、DingTalk等不同的通知方式,來提醒連絡人處理警示。
通過升級通知對長時間沒有處理的警示進行多次提醒,保證警示及時解決。
協助您快速便捷地管理警示。
連絡人能通過DingTalk隨時處理警示。
使用通用警示格式,連絡人能更好地分析警示。
多個連絡人通過DingTalk協同處理。
統計警示資料,即時分析處理情況,改進警示處理效率。