使用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

      處理流刪除字段
      提取內容通過正則表達式,提取事件中某字段的內容,填充到新的字段中。場景
      告警字段:
      "location":"cn-hangzhou-hz4"

      提取location字段的地域和具體位置信息填充到regiondatacenter字段中。

      動作配置

      • 待提取字段:location
      • 提取正則表達式:([a-zA-z]+-[a-zA-z]+)-(.*)
      • 填充的字符:regiondatacenter
      處理流提取內容

      執行結果

      提前內容測試數據
      匹配更新當系統檢測到事件的指定字段中存在某段內容時,就將設置的字段值填充到目標字段中。場景
      告警字段:
      "message":"ping to i-bp1e42d0ydxf7pstuepz > 100ms"

      message中包含ping時表示當前事件為網絡事件,則需要將當前事件標記為網絡類型。

      動作配置

      • 匹配字段:message
      • 滿足下面條件時更新字段值:包含ping輸出network
        說明 包含的值可以使用實際字段值或正則表達式。
      • 填充到字段:class
      處理流匹配更新

      執行結果

      匹配更新測試數據
      字段豐富通過調用API或者查詢本地Excel數據源的方式,將得到的結果填充到目標字段中。
      說明 目前數據源功能仍在灰度中,請聯系告警釘釘答疑號(d9j_rg9e4062f)協助添加。
      場景

      根據告警事件中的IP字段,通過查詢上傳的Excel數據源,將得到的主機名填充到事件的hostname字段中。

      動作配置

      • 選擇數據源:獲取Host數據源-excel
      • 匹配更新模式:ip(匹配Excel中列名)等于ip(對應Excel中列值)
      • 填充到字段:$.hostName(Excel查詢返回結果得到的列名) 填充到hostname
      字段豐富
      替換內容查找并替換指定字段中的字段內容,可以正則表達式查找對指定字段內容。場景

      將告警事件中的d.b.字符串替換為database字符串。

      動作配置

      • 需要替換的內容片段:message
      • 將內容片段:d\.b\.
        說明 可以使用實際字段值或正則表達式。
      • 替換為:database
      處理流替換內容

      執行結果

      內容替換測試數據
      分割內容通過分割字符對字段進行拆分,拆分結果填充到多個目標字段中。場景
      告警字段:
      "message":"myhostid_myuserid_myruleid"

      message字段中的字段值拆分為hostiduseridruleid并分別填充到新的字段中。

      動作配置

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

      執行結果

      分割內容測試數據
      填充模板填入一段模板內容(如:類型${class}的事件來源是${source}),變量名為事件集成后的字段名,模板渲染后填充到目標字段中。場景
      告警字段:
      "source":"server",
      "class":"network"

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

      動作配置

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

      執行結果

      填充模板測試數據
      丟棄丟棄執行當前處理流的事件,丟棄動作只能作為當前事件處理流最后一個節點,且無需設置。
  6. 測試數據區域左側輸入測試字段和字段值,或者單擊從事件中選擇,從已有的告警事件中選擇測試事件,然后單擊點擊測試
  7. 設置完成后,單擊保存
    處理流新建完成后,集成的告警源將會按處理流順序完成事件的過濾,過濾后的事件可以在告警事件歷史頁面查看。更多信息,請參見查看告警事件歷史

管理事件處理流

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

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

查看處理后的告警事件

在控制臺左側導航欄選擇告警管理 > 告警事件歷史

告警事件歷史頁面可以查看所有告警事件,單擊事件名稱可以查看告警事件的詳細信息。更多信息,請參見查看告警事件歷史