Я новичок ie со Splunk. Моя цель - взять два или более полей из журналов. Я должен проверить, является ли одно поле true
и поэтому использовать другое поле, чтобы сделать счетчик. Счетчик показывает, сколько запросов было сделано клиентом с использованием атрибута user-agent
.
Мой логин c желаемый:
int count1, count2;
count1 = 0;
count2 = 0;
if (GW == true) {
if (UA == "user-agent1") count1++;
if (UA == "user-agent2") count2++;
}
На данный момент я могу получить только одно поле и сделать счетчик без if-condition
.
Этот запрос работает нормально и верните правильный счетчик запросов:
source="logfile.log" | rex "UA=(?<ua>\w+)" | stats count(eval(ua="user-agent1")) as USER-AGENT1
Но, когда я пытаюсь получить второе поле (GW
), чтобы сделать лог c, запрос возвращает 0
.
source="logsfile.log" | rex "UA=(?<ua>\w+) GW=(?<gw>\w+)" |stats count(eval(ua="user-agent1")) as USER-AGENT1
Итак, как мне получить больше полей и как сделать if-condition
по запросу?
Пример журнала:
2020-01-10 14:38:44,539 INFO [http-nio-8080-exec-8] class:ControllerV1, UA=user-agent1, GW=true
2020-01-10 14:23:51,818 INFO [http-nio-8080-exec-3] class:ControllerV1, UA=user-agent2, GW=true