兩招玩轉阿里云系統事件監控
背景介紹
具體來說,作為阿里云監控系統中的重要組成部分,與監控指標不同,監控指標一般指一種數值型的監控緯度,一般需要配合設置閾值來進行監控來表達某一個監控含義,比如 CPU 使用率超過 60%。但是系統事件一般情況下具有完備的上下文信息,在阿里云體系中常用以描述服務的狀態或者狀態變化,常見如以下場景:
1. 系統運行中的一些關鍵狀態事件,比如 ECS 系統錯誤重啟、彈性伸縮失敗、IOT QPS 達到上限。
2. 記錄和審計,比如投遞 OSS 失敗。
3. 系統連續性問題,比如 DDos 黑洞進行中。
4. 重要安全事件,比如 安全告警:異常網絡連接(提醒)。
目前大部分的云服務服務已經完成接入云監控,具體詳情可以參加下面文檔:https://help.aliyun.com/zh/cms/user-guide/appendix-2-system-events?spm=5176.2020520111.console-base_help.dexternal.3d6d6610UEXzUw#concept-2500373
監控好這些系統事件對于用戶是一件非常重要的事情。
云監控事件訂閱設計初衷
通過對之前的用戶需求分析,我們設計了新的云監控事件訂閱用來以實現以下功能:
1. 通過靈活的訂閱配置,支持系統事件或閾值事件,支持從產品、事件級別、事件名稱、事件資源,事件內容的篩選;支持篩選的黑白名單操作等等;
2. 通過分組合并降噪,可以實現產品級,事件級,資源級等等級別的報警合并,然后通過條件降噪(固定時長內發生超過某個閾值事件數量)來控制報警的有效性,避免大量重復報警造成報警風暴;
3. 對于合并降噪后的有效報警通知,云監控可以直接推送到郵件、電話、短信、釘釘、企業微信等
4. 支持通過靈活定制通知模版來滿足用戶自身的業務需求,用戶可以通過配置自己的模版,來實現個性化的通知格式定制;
5. 定制了自定義的通知模版,可以在訂閱規則上通過自定義通知方式,給具體的通知渠道指定通知的級別和模板;
6. 還可以通過通知模板自定義推送的數據格式,通過我們在集成與推送,直接講報警數據轉換為用戶需要的格式,推送到消息服務 MNS、日志服務 SLS、函數計算 FC 和 Webhook。
典型云監控場景介紹
場景 1:多運維團隊場景
1. 用戶使用了阿里云 ECS RDS REDIS SLB 等云服務;
2. 用戶有兩個獨立運維團隊,分別運維 ECS SLB 和 RDS REDIS;
3. 用戶希望監控每個團隊監控團隊自己獨立的服務;
4. 對于緊急的電話報警,兩個團隊需要相互 backup,當一個團隊電話打不通的時候,通知另外一個團隊;
5. 需要排除掉一些預發和測試環境的實例。
具體的操作步驟如下:
1. 進入事件中心界面,點擊創建訂閱策略。
圖片
2. 在彈出的窗口中,按照需求設置我們的訂閱配置。
圖片
我們這里設置了訂閱的說明如下:
1 ) 范圍是 ECS 和 RDS 的所有 CRTICAL 級別事件,再排除掉其中的測試和預發的相關資源(根據資源名稱排除);
2) 訂閱好的報警,我們希望按照不同的產品來進行合并通知,這樣 RDS 的事件和 ECS 的事件會被作為獨立的報警發送通知給用戶;
3) 設置了 5 分鐘內,每個產品(我們選擇的合并字段)下需要連續收到 5 個事件才會通知,通知一次之后 5 分鐘內不再重復通知。
3. 設置好了訂閱配置,下面我們來配置通知。
圖片
在下面的通知配置中,我們可以選擇已經有的通知配置,也可以選擇創建一個新的通知配置,這里我們以創建新的通知配置為例,點擊創建通知配置之后,彈出如下對話框:
圖片
最簡單的情況,我們可以直接選擇通知到某一個組。
對于一些非常關鍵的報警,為了防止電話撥打沒有接通的情況,我們還可以配置電話報警備選通知組,當上面配置的所有電話報警聯系人都沒有接通電話的情況下,將按照定義的備份電話報警聯系組順序,每三分鐘逐個通知備份電話聯系組,直到電話接通或者所有備份聯系組都通知完成。
如果用戶需要按照不同嚴重級別發送給不同的人,也可以選擇按照嚴重級別獨立通知聯系組,如下圖:
圖片
4. 設置好了通知接受對象后,我們還可以繼續對通知方式進行定制。
如果用戶希望對于報警方式進行進一步的定制,可以通過自定義通知方式來實現。
圖片
這里,我們可以對報警通知的消息模版進行選擇,可以定義每個報警級別通知的渠道,來實現用戶定制化報警的需求。
5. 設置好了通知后,如果對于一些報警,我們希望推送到我們自己的系統中,我們可以使用推送和集成來進行配置。
圖片
點擊添加渠道,在彈出的對話框中選擇我們對應的渠道進行推送,我們這里以 webhook 為例。
圖片
通過設置具體的推送目標和方式,可以實現數據推送到用戶服務的需求。
6. 到這里訂閱和通知的配置基本就完成了,但是用戶如果有需要自定義通知模板的情況,來滿足自定義的通知需求,配置通知模版的方式如下:
進入通知模版界面,點擊創建通知模版。
圖片
模板配置相對比較復雜,建議參考我們預先提供的模板,在基礎上修改,然后通過我們的預覽功能來驗證配置模版是否符合預期,預覽完成后,還可以用右上角的小飛機按鈕來發送一次測試通知,最終效果發送到用戶的真實接收方來驗證最終效果。
模版修改好后,可以在訂閱界面的自定義通知方式的位置,修改通知方式,然后選擇通知模版即可。
圖片
場景 2:使用應用分組實現靈活訂閱能力
應用分組是云監控里面的一個重要監控概念,用來描述一組有關聯的云資源,比如 ECS 實例、RDS 實例、SLB 實例等。應用分組可以監控應用組中資源的狀態,當資源狀態發生變化時,應用組會收到通知。我們就以應用組為例,介紹如何使用應用組監控阿里云系統事件。
進入云資源監控 -> 應用分組
然后點擊你需要進行監控的分組,出現如下界面:
圖片
1. 先設置這個分組的聯系人組;
2. 點擊開啟系統事件訂閱;
兩步操作,非常簡單。至此,一個最簡單的應用分組訂閱已經完成,它會監控當前分組下資源上報的所有 CRTICAL 和 WARNING 的資源,并通知設置的聯系組。
3. 如果我們還需要把事件推送到用戶服務,通過點擊事件訂閱后的通知詳情,然后在彈出窗口中添加渠道即可把已經定義好的推送渠道引用進來。
圖片
寫在最后
上面是兩種典型的訂閱系統事件的場景介紹,在這個場景的基礎上,用戶可以擴展到自己的場景中,來實現靈活的訂閱通知能力,通過我們的模版,訂閱來滿足自己的監控需求。