Splunk-запрос для извлечения значения из события журнала json и получения его в таблице

У меня есть событие журнала, полученное в формате json, подобном этому

{
   "level":"level  name",
   "exception":"exception message",
   "logger":"com.log",
   "thread":"thread name",
   "message":"exception message",
   "properties":{
      "id":"1234",
      "process":"Process name,
      "host":"host name",
      "type":"type name"
   }
}

Мне нужен splunk-запрос, чтобы получить хост внутри свойств в качестве значения, чтобы получить его в таблице. Пожалуйста, помогите мне.

2 ответа

Что вы уже пробовали?

Я подозреваю, что это (или подобное) сработает, если предположить, что Splunk идентифицировал эти данные как уже находящиеся в формате JSON:

index=ndx sourcetype=srctp properties{}.host=*
| rename properties{}.host as hostname
| stats count by hostname

Было бы полезно увидеть, что вы уже пробовали, поэтому мы не предлагаем то, что не работает.
Вероятно, есть несколько способов сделать это, но вот один из них.

... | rex "host\":\"(?<hostName>[^\"]+)"
| table hostName

Обратите внимание, что я специально не называл поле host, чтобы избежать конфликта со встроенным полем с таким же именем.

Другие вопросы по тегам