告警管理概述
ARMS告警管理提供了可靠的告警收斂、通知、自動升級等功能,幫助您快速檢測和修復業(yè)務告警。本文介紹告警管理的實現(xiàn)原理和優(yōu)勢。
背景信息
SAE集成了ARMS告警管理功能。ARMS新版告警管理功能僅對2021年04月30日0點之后開通SAE的阿里云賬戶開放。
功能架構(gòu)
告警管理包含集成管理、告警事件管理、通知策略管理、告警協(xié)同處理和告警處理分析五個功能模塊。
集成管理
集成管理分為默認告警集成和三方產(chǎn)品集成兩部分。
默認告警集成
默認告警集成默認集成了ARMS各子產(chǎn)品的告警,如應用監(jiān)控告警、前端監(jiān)控告警、Prometheus告警、云撥測告警等。ARMS默認告警通常通過周期性的觸發(fā)任務來檢查監(jiān)控數(shù)據(jù)是否存在異常,檢測到異常后會通過默認的通道將告警事件上報到事件管理中心。
三方產(chǎn)品集成
三方產(chǎn)品集成支持通過簡單配置接入任意告警源產(chǎn)生的告警,從而在ARMS上一站式處理分布在各個云上云下IDC系統(tǒng)產(chǎn)生的告警,實現(xiàn)統(tǒng)一處理告警的目的。任意告警源產(chǎn)生的告警上報到ARMS告警管理后統(tǒng)稱為告警事件,告警事件有如下約束:
告警事件的數(shù)據(jù)結(jié)構(gòu)ARMS告警事件的數(shù)據(jù)結(jié)構(gòu)參考開源AlertManager的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)包括:
Labels(標簽):告警元數(shù)據(jù),一組標簽唯一標識一個事件,標簽相同的事件為同一個事件,重復上報會進行合并,例如:
“alertname: 告警名稱 ”
。Annotations(注釋):注釋是告警事件的附加描述,注釋不屬于元數(shù)據(jù)。例如:
“message: 告警內(nèi)容”
。StartsAt(告警開始時間):告警事件開始時間。
EndsAt(告警結(jié)束時間):告警事件結(jié)束時間。
GeneratorUrl(事件URL地址):告警事件URL地址。
一組標簽共同決定了一個告警事件,當其中的一個標簽發(fā)生變化時,將產(chǎn)生新的告警事件。
示例:
{ "hostname":"線上生產(chǎn)主機", "alertname":"CPU使用率過高","ip":"192.168.0.3"}
這一組標簽代表一個告警(主機192.168.0.3的CPU使用率過高)。當標簽IP發(fā)生變化后,如{ "hostname":"線上生產(chǎn)主機", "alertname":"CPU使用率過高","ip":"192.168.0.4"}
,就會生成一個新的告警(主機192.168.0.4的CPU使用率過高)。注釋的變化不會改變告警事件,一組標簽相同注釋不同的多條事件會被認為是一條事件多次上報。
示例:
注釋
{"value":"85","message":"主機192.168.0.3 CPU使用率85%,超過閾值80%"}
改變其中的內(nèi)容不會產(chǎn)生新的告警,例如改變CPU使用率后{"value":"86","message":"主機192.168.0.3 CPU使用率86%,超過閾值80%"}
,兩次事件上報的告警為同一條告警。
集成中可以配置去重字段,配置去重字段后這個集成上報的告警都會按照配置的去重字段作為標簽來唯一確定一個告警事件。如果不配置去重字段默認會按照所有的標簽來唯一確定一個告警事件。
告警事件管理
告警事件管理支持通過以下兩種方式對告警源再加工:
通過事件處理流編排簡單的處理流程,對任意告警源上報的告警事件進行再加工,以滿足差異化的事件數(shù)據(jù)處理需求。
事件管理支持對任意告警源上報的告警事件去重、壓縮、降噪、靜默,從而收斂告警,減少告警風暴的產(chǎn)生。
事件壓縮原理
告警事件管理默認會對事件進行2個層面的壓縮,基于標簽壓縮和基于時間壓縮,下面分別闡述壓縮實現(xiàn)的原理。
基于標簽壓縮
滿足條件的告警事件在通知時會按照通知策略中設置的分組策略進行壓縮。根據(jù)分組策略中設置的標簽,當滿足條件的多條事件包含相同的標簽時,將會自動壓縮成一條告警進行通知。下圖展示3個不同的事件,根據(jù)兩種不同的壓縮標簽進行壓縮的效果:
基于時間壓縮
每個告警事件都包含告警開始時間和告警結(jié)束時間,標簽相同的告警如果開始時間和結(jié)束時間有交集,則會合并為一個告警事件,且合并后的告警事件的開始時間和結(jié)束時間取這兩個告警事件的并集。
通知策略管理
通知策略本質(zhì)上是一種訂閱規(guī)則,通過配置匹配規(guī)則,當滿足條件的告警事件產(chǎn)生時會根據(jù)通知策略的配置進行通知。
事件處理流、事件管理和通知策略的關(guān)系如下圖所示。
告警協(xié)同處理
告警處理分析
告警處理分析模塊通過記錄和分析告警處理的過程,可以對單個告警進行復盤或者對過去一段時間內(nèi)的告警進行處理分析,找出告警處理過程中的薄弱點,優(yōu)化告警處理流程,提高處理效率。 與Grafana、Loki、Prometheus結(jié)合可以通過Grafana大盤實時查看已處理和未處理的告警,實現(xiàn)通過一個大盤全盤掌握系統(tǒng)告警處理狀態(tài)。
默認支持豐富的SLO指標統(tǒng)計,通過告警接手率、平均接手時長、平均處理時長等指標來管理團隊。通過豐富的標簽能力多維度分析(如團隊、應用、服務、環(huán)境)告警處理情況,滿足大規(guī)模團隊使用。更多信息,請參見通過ARMS告警大盤提高告警處理效率。
告警管理優(yōu)勢
當業(yè)務部署到阿里云并使用ARMS產(chǎn)品監(jiān)控業(yè)務后,如果使用告警管理功能處理業(yè)務告警,ARMS告警管理能從以下幾點來提升您的運維效率。
全球化。
告警規(guī)則模板全球化,一站式為全球事件配置告警。
聯(lián)系人、通知策略全球化,一次配置全球生效。
集成事件后管理更高效。
告警管理默認支持一鍵化集成阿里云常見的監(jiān)控工具,并支持更多的監(jiān)控工具手動接入,方便統(tǒng)一維護。
事件接入模塊穩(wěn)定,能提供7×24小時的無間斷事件處理服務。
處理海量事件數(shù)據(jù)時可以保證低延時。
及時準確地將告警通知給聯(lián)系人。
配置通知規(guī)則,對事件合并后再發(fā)送告警通知,減少運維人員出現(xiàn)通知疲勞的情況。
根據(jù)告警的緊急程度選擇郵件、短信、電話、釘釘?shù)炔煌耐ㄖ绞剑瑏硖嵝崖?lián)系人處理告警。
通過升級通知對長時間沒有處理的告警進行多次提醒,保證告警及時解決。
幫助您快速便捷地管理告警。
聯(lián)系人能通過釘釘隨時處理告警。
使用通用告警格式,聯(lián)系人能更好地分析告警。
多個聯(lián)系人通過釘釘協(xié)同處理。
統(tǒng)計告警數(shù)據(jù),實時分析處理情況,改進告警處理效率。