使用ARMS警示管理整合多個警示源後,您可以通過設定事件處理流將警示源產生的事件進行過濾和分類。本文介紹如何建立事件處理流。
建立事件處理流
- 登入ARMS控制台。
- 在左側導覽列中選擇 。
- 在事件處理流頁面單擊右上方的建立處理流。
- 在建立處理流頁面的基本資料地區輸入處理流名稱。
- 在流動作配置地區設定事件處理流程。
- 將可用流程動作地區的動作拖至事件處理流地區。
- 在最右側地區設定事件處理流中各動作的執行條件。說明 動作配置完成後可以在測試資料地區對警示欄位進行測試,驗證動作是否配置成功。
動作 說明 樣本 觸發條件 滿足觸發條件的事件才會執行當前處理流。 情境 名稱為容器CPU使用率警示的整合執行當前處理流。
動作配置
設定條件為
_aliyun_arms_integration_name等於容器CPU使用率警示
。過濾事件 滿足過濾條件的事件將會跳過當前事件流,執行下一個事件流,未過濾的事件將會繼續執行當前處理流。 說明 如果您的警示規則還未產生事件,此時只能選擇到ARMS預置的_aliyun_arms_integration_id
和_aliyun_arms_integration_name
欄位進行配置。如果您需要使用severity、alertname等事件欄位,可以通過以下兩種方式配置:- 手動輸入欄位。
- 添加警示規則,使其產生警示事件。產生事件後,即可以在此選擇事件欄位值。
情境 P4等級的警示事件不執行當前處理流。
動作配置
設定條件為
severity等於P4
。識別事件類型 根據選擇的事件欄位值,通過演算法識別出事件對象分類(Class)和事件類型(Type),用於事件和警示查詢統計。 支援識別的事件對象分類(Class)如下:- 網路(Network)
- 儲存(Storage)
- 計算(Compute)
- 作業系統(OS)
- 應用(Application)
- 資料庫(Database)
- 變更(Change)
支援識別的事件類型(Type)如下:- 可用性(Availability)
- 時延
- 容量(Capacity)
- 錯誤
- 未知(Unknown)
情境 通過
alertname
和message
欄位值識別事件的對象分類(Class)和事件類型(Type)。動作配置
設定識別類別欄位為
alertname
和message
。執行結果
系統會將智能識別結果寫入
class
和type
標籤。設定事件等級 將執行當前處理流的事件等級設定為特定值。 情境 將核心服務網路類型的警示事件的等級設定為P1。
動作配置
- 設定觸發條件動作為
class等於network
。 - 將設定事件等級動作設定為P1。
執行結果
設定業務標籤 為執行當前處理流的事件設定業務標籤(Label),用於事件和警示統計查詢。 - 欄位:將事件中的欄位值作為
label
欄位值。 - 值:為
label
欄位設定固定值。
情境 將警示等級作為警示標籤,以便之後統計各等級的事件。
動作配置
設定業務標籤為
欄位:severity
。執行結果
警示事件中將會新增
label
欄位,label
欄位值為severity
欄位值。刪除欄位 刪除事件中的某些欄位。 情境 警示事件中存在
location
和region
欄位,location
欄位中已包含Region資訊,需要刪除region
欄位。動作配置
設定刪除欄位為
region
。提取內容 通過Regex,提取事件中某欄位的內容,填充到新的欄位中。 情境 警示欄位:"location":"cn-hangzhou-hz4"
提取
location
欄位的地區和具體位置資訊填充到region
和datacenter
欄位中。動作配置
- 待提取欄位:
location
- 提取Regex:
([a-zA-z]+-[a-zA-z]+)-(.*)
- 填充的字元:
region
、datacenter
執行結果
匹配更新 當系統檢測到事件的指定欄位中存在某段內容時,就將設定的欄位值填充到目標欄位中。 情境 警示欄位:"message":"ping to i-bp1e42d0ydxf7pstuepz > 100ms"
當
message
中包含ping
時表示當前事件為網路事件,則需要將當前事件標記為網路類型。動作配置
- 匹配欄位:
message
- 滿足下麵條件時更新欄位值:包含
ping
輸出network
說明 包含的值可以使用實際欄位值或Regex。 - 填充到欄位:
class
執行結果
欄位豐富 通過調用API或者查詢本地Excel資料來源的方式,將得到的結果填充到目標欄位中。 說明 目前資料來源功能仍在灰階中,請聯絡警示DingTalk答疑號(d9j_rg9e4062f
)協助添加。情境 根據警示事件中的IP欄位,通過查詢上傳的Excel資料來源,將得到的主機名稱填充到事件的
hostname
欄位中。動作配置
- 選擇資料來源:擷取Host資料來源-excel
- 匹配更新模式:
ip
(匹配Excel中列名)等於ip
(對應Excel中列值) - 填充到欄位:
$.hostName
(Excel查詢返回結果得到的列名) 填充到hostname
替換內容 尋找並替換指定欄位中的欄位內容,可以Regex尋找對指定欄位內容。 情境 將警示事件中的
d.b.
字串替換為database
字串。動作配置
- 需要替換的內容片段:
message
- 將內容片段:
d\.b\.
說明 可以使用實際欄位值或Regex。 - 替換為:
database
執行結果
分割內容 通過分割字元對欄位進行拆分,拆分結果填充到多個目標欄位中。 情境 警示欄位:"message":"myhostid_myuserid_myruleid"
將
message
欄位中的欄位值拆分為hostid
、userid
、ruleid
並分別填充到新的欄位中。動作配置
- 需要拆分的欄位:
message
- 分割字元:
_
- 拆分結果填充欄位:
hostId
、userId
、ruleId
說明 拆分後的欄位將會按照順序填充。
執行結果
填充模板 填入一段模板內容(如:類型 ${class}
的事件來源是${source}
),變數名為事件整合後的欄位名,模板渲染後填充到目標欄位中。情境 警示欄位:"source":"server", "class":"network"
將
message
欄位設定為類型${class}的事件來源是${source}
,其中需要引用class
和source
欄位值。動作配置
- 填充的模板:
類型${class}的事件來源是${source}
- 填充到欄位:
message
執行結果
丟棄 丟棄執行當前處理流的事件,丟棄動作只能作為當前事件處理流最後一個節點,且無需設定。 無
- 在測試資料地區左側輸入測試欄位和欄位值,或者單擊從事件中選擇,從已有的警示事件中選擇測試事件,然後單擊點擊測試。
- 設定完成後,單擊儲存。處理流建立完成後,整合的警示源將會按處理流順序完成事件的過濾,過濾後的事件可以在警示事件歷史頁面查看。更多資訊,請參見查看警示事件歷史。
管理事件處理流
事件流建立完成後,您可以在事件處理流頁面執行以下操作:
- 調整處理流順序:在目標處理流右側操作列單擊上移或下移。
- 啟動或禁用處理流:在目標處理流右側操作列單擊啟用或停止。
- 更新處理流:在目標處理流右側操作列單擊編輯。
- 刪除處理流:在目標處理流右側操作列單擊刪除,在彈出的對話方塊中單擊確認。
查看處理後的警示事件
在控制台左側導覽列選擇
。在警示事件歷史頁面可以查看所有警示事件,單擊事件名稱可以查看警示事件的詳細資料。更多資訊,請參見查看警示事件歷史。