全部產品
Search
文件中心

Application Real-Time Monitoring Service:事件處理流

更新時間:Jul 06, 2024

使用ARMS警示管理整合多個警示源後,您可以通過設定事件處理流將警示源產生的事件進行過濾和分類。本文介紹如何建立事件處理流。

建立事件處理流

  1. 登入ARMS控制台
  2. 在左側導覽列中選擇警示管理 > 事件處理流
  3. 事件處理流頁面單擊右上方的建立處理流
  4. 建立處理流頁面的基本資料地區輸入處理流名稱。
  5. 流動作配置地區設定事件處理流程。
    1. 可用流程動作地區的動作拖至事件處理流地區。
    2. 在最右側地區設定事件處理流中各動作的執行條件。
      說明 動作配置完成後可以在測試資料地區對警示欄位進行測試,驗證動作是否配置成功。
      動作說明樣本
      觸發條件滿足觸發條件的事件才會執行當前處理流。情境

      名稱為容器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)
      情境

      通過alertnamemessage欄位值識別事件的對象分類(Class)和事件類型(Type)。

      動作配置

      設定識別類別欄位alertnamemessage

      處理流識別欄位類型

      執行結果

      系統會將智能識別結果寫入classtype標籤。

      識別事件類型執行結果
      設定事件等級將執行當前處理流的事件等級設定為特定值。情境

      將核心服務網路類型的警示事件的等級設定為P1。

      動作配置

      1. 設定觸發條件動作為class等於network
      2. 設定事件等級動作設定為P1。處理流設定事件等級

      執行結果

      設定事件等級測試資料
      設定業務標籤為執行當前處理流的事件設定業務標籤(Label),用於事件和警示統計查詢。
      • 欄位:將事件中的欄位值作為label欄位值。
      • 值:為label欄位設定固定值。
      情境

      將警示等級作為警示標籤,以便之後統計各等級的事件。

      動作配置

      設定業務標籤為欄位:severity

      處理流設定業務標籤

      執行結果

      警示事件中將會新增label欄位,label欄位值為severity欄位值。

      刪除欄位刪除事件中的某些欄位。情境

      警示事件中存在locationregion欄位,location欄位中已包含Region資訊,需要刪除region欄位。

      動作配置

      設定刪除欄位為region

      處理流刪除欄位
      提取內容通過Regex,提取事件中某欄位的內容,填充到新的欄位中。情境
      警示欄位:
      "location":"cn-hangzhou-hz4"

      提取location欄位的地區和具體位置資訊填充到regiondatacenter欄位中。

      動作配置

      • 待提取欄位:location
      • 提取Regex:([a-zA-z]+-[a-zA-z]+)-(.*)
      • 填充的字元:regiondatacenter
      處理流提取內容

      執行結果

      提前內容測試資料
      匹配更新當系統檢測到事件的指定欄位中存在某段內容時,就將設定的欄位值填充到目標欄位中。情境
      警示欄位:
      "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欄位中的欄位值拆分為hostiduseridruleid並分別填充到新的欄位中。

      動作配置

      • 需要拆分的欄位:message
      • 分割字元:_
      • 拆分結果填充欄位:hostIduserIdruleId
        說明 拆分後的欄位將會按照順序填充。
      處理流分割內容

      執行結果

      分割內容測試資料
      填充模板填入一段模板內容(如:類型${class}的事件來源是${source}),變數名為事件整合後的欄位名,模板渲染後填充到目標欄位中。情境
      警示欄位:
      "source":"server",
      "class":"network"

      message欄位設定為類型${class}的事件來源是${source},其中需要引用classsource欄位值。

      動作配置

      • 填充的模板:類型${class}的事件來源是${source}
      • 填充到欄位:message
      處理流填充模板

      執行結果

      填充模板測試資料
      丟棄丟棄執行當前處理流的事件,丟棄動作只能作為當前事件處理流最後一個節點,且無需設定。
  6. 測試資料地區左側輸入測試欄位和欄位值,或者單擊從事件中選擇,從已有的警示事件中選擇測試事件,然後單擊點擊測試
  7. 設定完成後,單擊儲存
    處理流建立完成後,整合的警示源將會按處理流順序完成事件的過濾,過濾後的事件可以在警示事件歷史頁面查看。更多資訊,請參見查看警示事件歷史

管理事件處理流

事件流建立完成後,您可以在事件處理流頁面執行以下操作:

  • 調整處理流順序:在目標處理流右側操作列單擊上移下移
  • 啟動或禁用處理流:在目標處理流右側操作列單擊啟用停止
  • 更新處理流:在目標處理流右側操作列單擊編輯
  • 刪除處理流:在目標處理流右側操作列單擊刪除,在彈出的對話方塊中單擊確認

查看處理後的警示事件

在控制台左側導覽列選擇警示管理 > 警示事件歷史

警示事件歷史頁面可以查看所有警示事件,單擊事件名稱可以查看警示事件的詳細資料。更多資訊,請參見查看警示事件歷史