Как оптимизировать следующий запрос Splunk? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть результаты, как показано ниже:

 1. DateTime=2019-07-02T16:17:20,913 Thread=[],  Message=[Message(userId=124, timestamp=2019-07-02T16:17:10.859Z, notificationType=CREATE, userAccount=UserAccount(firstName=S, lastName=K, emailAddress=abc@xyz.com, status=ACTIVE), originalValues=OriginalValue(emailAddress=null)) Toggle : true]


 2. DateTime=2019-07-02T16:18:20,913 Thread=[],  Message=[Message(userId=124, timestamp=2019-07-02T16:17:10.859Z, notificationType=CREATE, userAccount=UserAccount(firstName=S, lastName=K, emailAddress=abc@xyz.com, status=ACTIVE), originalValues=OriginalValue(emailAddress=new@xyz.com)) Toggle : true]


 3. DateTime=2019-07-02T16:19:20,913 Thread=[],  Message=[Message(userId=124, timestamp=2019-07-02T16:17:10.859Z, notificationType=CREATE, userAccount=UserAccount(firstName=S, lastName=K, emailAddress=abc@xyz.com, status=ACTIVE), originalValues=OriginalValue(emailAddress=new@xyz.com)) Toggle : true]

И я пытаюсь сгруппировать результаты, в которых содержимое всего поля "Message" совпадает, а "emailAddress=null" не содержится в сообщении.

So in the results above 2 and 3 should be the output.

Следующий запрос прекрасно работает для меня, но мне нужно оптимизировать его в соответствии со следующими условиями:

Рабочий запрос : index=app sourcetype=appname host=appname* splunk_server_group=us-east-2 | fields Message | search Message= "[Message*" | regex _raw!="emailAddress=null" | stats count(Message) as count by Message | where count > 1

Условия для оптимизации

  • Невозможно рекс против сырья
  • Пара ключ / значение сообщения должна находиться в основном поиске, а не в под-поиске

1 Ответ

0 голосов
/ 02 июля 2019

В вашем текущем запросе нет подпоисков. Подпоиском является запрос, заключенный в квадратные скобки.

Что не так с рексом против _raw?

Попробуйте это:

index=app sourcetype=appname host=appname* splunk_server_group=us-east-2 Message="[Message*" 
| fields Message 
| regex Message!="emailAddress=null" 
| stats count(Message) as count by Message | where count > 1
...