擷取特定值作為 JSON 索引鍵
在 IBM® Cloud Logs中,您可以使用 擷取 規則來擷取您需要的特定值作為 JSON 索引鍵,而無需剖析整個日誌。
與剖析規則不同,擷取規則會保持原始日誌完整,並將欄位新增至根目錄。
開始之前
剖析規則組織在 規則群組內。 每一個群組都有一個名稱及一組規則,它們之間具有邏輯關係。 會根據規則群組的順序 (從開始到結束) 來處理日誌。 然後由規則群組內的規則順序,並根據它們之間的邏輯運算子 (AND/OR) 來處理它們。規則可協助您處理、剖析及重組日誌資料,以準備監視及分析。 如需相關資訊,請參閱 使用規則群組。
使用具名擷取群組來定義新欄位
提取規則使用RegEx-named捕獲組來定義新欄位。
- 擷取的群組會變成剖析的日誌欄位。
- 與每一個群組相關聯的值會變成欄位的值。
- RegEx 不需要符合整個日誌。
- 只有 RegEx 具名擷取群組 (
< >內的值) 及其擷取的值是重新建構日誌的一部分。
配置擷取規則
請完成下列步驟:
-
按一下 資料管線 圖示
> 剖析規則,然後按一下 新建規則群組。
-
在 詳細資料 區段中,輸入 規則群組名稱 和 規則群組說明。
-
在 規則比對器 區段中,配置應用程式、子系統及嚴重性,以定義要套用規則群組所包含之規則的日誌。
-
在 規則 區段中,選取 擷取
。
-
輸入名稱。
-
選擇性地輸入說明。
-
選擇來源字段。 這是套用 RegEx 的欄位。
-
輸入 正規表示式 (RegEx)。
-
如果您想要啟用規則,請將狀態切換為 ACTIVE。
-
-
按一下 新增規則 並選取所需的規則類型,以新增其他規則群組。 切換 AND/OR 以選取您要如何處理其他規則。
-
按一下建立規則組。
範例: 建立兩個新欄位
下列範例會從欄位訊息中擷取資訊,並建立兩個可查詢及視覺化的新欄位: '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"
}