擷取特定值作為 JSON 索引鍵

在 IBM® Cloud Logs中,您可以使用 擷取 規則來擷取您需要的特定值作為 JSON 索引鍵,而無需剖析整個日誌。

與剖析規則不同,擷取規則會保持原始日誌完整,並將欄位新增至根目錄。

開始之前

剖析規則組織在 規則群組內。 每一個群組都有一個名稱及一組規則,它們之間具有邏輯關係。 會根據規則群組的順序 (從開始到結束) 來處理日誌。 然後由規則群組內的規則順序,並根據它們之間的邏輯運算子 (AND/OR) 來處理它們。規則可協助您處理、剖析及重組日誌資料,以準備監視及分析。 如需相關資訊,請參閱 使用規則群組。

使用具名擷取群組來定義新欄位

提取規則使用RegEx-named捕獲組來定義新欄位。

  • 擷取的群組會變成剖析的日誌欄位。
  • 與每一個群組相關聯的值會變成欄位的值。
  • RegEx 不需要符合整個日誌。
  • 只有 RegEx 具名擷取群組 ( < > 內的值) 及其擷取的值是重新建構日誌的一部分。

配置擷取規則

請完成下列步驟:

  1. 按一下 資料管線 圖示 資料管線圖示 > 剖析規則,然後按一下 新建規則群組。

  2. 在 詳細資料 區段中,輸入 規則群組名稱 和 規則群組說明。

  3. 在 規則比對器 區段中,配置應用程式、子系統及嚴重性,以定義要套用規則群組所包含之規則的日誌。

  4. 在 規則 區段中,選取 擷取 「擷取剖析規則」圖示。

    1. 輸入名稱。

    2. 選擇性地輸入說明。

    3. 選擇來源字段。 這是套用 RegEx 的欄位。

    4. 輸入 正規表示式 (RegEx)。

    5. 如果您想要啟用規則,請將狀態切換為 ACTIVE。

  5. 按一下 新增規則 並選取所需的規則類型,以新增其他規則群組。 切換 AND/OR 以選取您要如何處理其他規則。

  6. 按一下建立規則組。

範例: 建立兩個新欄位

下列範例會從欄位訊息中擷取資訊,並建立兩個可查詢及視覺化的新欄位: 'bytes '及' status '。

原始日誌為:

{"level":"INFO", "message": "200 bytes sent status is OK"}

RegEx 為:

message"\s*:\s*"(?P<bytes>\d+)\s*.*?status\sis\s(?P<status>[^"]+)

格式化日誌為:

{
    "level": "INFO",
    "message": "200 bytes sent status is OK",
    "Bytes": "200",
    "status": "OK"
}

如果原始日誌未結構化,則會根據具名擷取群組來新增欄位,且原始日誌會儲存在稱為 text 的欄位內。 使用前一個範例,它會將原始日誌變更為非結構化。

原始日誌:

"level":"INFO", "message": "200 bytes sent status is OK",

產生的日誌:

{
    "bytes": "200",
    "text": "\"level\":\"INFO\", \"message\": \"200 bytes sent status is OK\"",
    "status": "OK"
}