Я новичок ie со Splunk, и я пытаюсь сделать запрос, чтобы подсчитать, сколько запросов имеет определенное значение, но этот счетчик должен быть увеличен, если в запросе указан атрибут c.
Пример:
2020-01-09 13:51:28,802 INFO [http-nio-8080-exec-8] class:ControllerV1, UA=[tokyo], GW=[api-gateway-id]
2020-01-09 13:51:31,865 INFO [http-nio-8080-exec-9] class:ControllerV1, UA=[tokyo], GW=[api-gateway-id]
2020-01-09 13:51:32,922 INFO [http-nio-8080-exec-10] class:ControllerV1, UA=[tokyo], GW=[api-gateway-id]
2020-01-09 13:51:36,939 INFO [http-nio-8080-exec-2] class:ControllerV1, UA=[tokyo], GW=null
2020-01-09 13:51:48,614 INFO [http-nio-8080-exec-1] class:ControllerV1, UA=[new-york], GW=[api-gateway-id]
2020-01-09 13:51:49,266 INFO [http-nio-8080-exec-3] class:ControllerV1, UA=[new-york], GW=[api-gateway-id]
2020-01-09 13:51:57,533 INFO [http-nio-8080-exec-4] class:ControllerV1, UA=[helsing], GW=[api-gateway-id]
Для приведенного выше примера я должен увеличить счетчик, если GW != null
, поэтому у меня есть три счетчика, для Токио , new -york и helsing . Результаты должны выглядеть примерно так:
tokyo | new-york | helsing
3 | 2 | 1
Пробовал:
source="/logfiles.log" | rex "UA=(?<user-agent>\w+)" | stats count(eval(user-agent="[tokyo]")) as TOKYO
Но возвращает ошибку: Error in 'rex' command: Encountered the following error while compiling the regex 'UA=(?<user-agent>\w+)': Regex: syntax error in subpattern name (missing terminator).
Я знаю, что не могу использовать -
, но я должен сделать это, и когда я его удаляю, результаты остаются равными нулю (0 результатов).