извлечь все вхождения одного и того же поля из splunk тела запроса

У меня есть одно и то же поле несколько раз в одном теле запроса, и мне нужно найти значение для каждого вхождения. как поданный subTypeCodeId. результат должен иметь subTypeCodeId = 2 subTypeCodeId = 3

{
  "Items": [
    {
      "emailId": "@stny.com",
      "item": {
        "subTypeCodeId": "2"
      }
    },
    {
      "emailId": "@comcast.com",
      "item": {
        "subTypeCodeId": "3"
      }
    }
  ]
}

splunk query: index = "gcp_prod_ecomm_cx_wallet" "1570081534220" "API_NAME: wallet.addItemsToWalletBulk" | rex "subTypeCodeId \ x5C \": \ x5C \ "(?. *) \" "


person mayank jain    schedule 03.10.2019    source источник


Ответы (1)


Используйте параметр max_match rex. Это сделает subTypeCodeId многозначным полем, содержащим все значения.

index="gcp_prod_ecomm_cx_wallet" "1570081534220" "API_NAME:wallet.addItemsToWalletBulk" 
| rex max_match=0 "subTypeCodeId\x5C\":\x5C\"(?<subTypeCodeId>.*)\""

Вы также можете изучить команду spath, которая может анализировать данные json.

person RichG    schedule 03.10.2019