Splunk - Стойности за търсене + статичен низ за търсене = изход с брой

Искам да извърша търсене, където трябва да използвам статичен низ за търсене + въвеждане от csv файл с потребителски имена:

  1. Заявка за търсене- index=someindex host=host*p* "STATIC_SEARCH_STRING"

  2. Стойност от users.csv, където списъкът е като този- Моля, обърнете внимание, че User/UserList НЕ е поле в моя Splunk: **UserList** User1 User2 User3 . . UserN

Опитах да използвам няколко един от тях като- | inputlookup users.csv | join [search index=someindex host=host*p* "STATIC_SEARCH_STRING"] | lookup users.csv UserList OUTPUT UserList as User| stats count by User

Горният просто извежда списъка с потребители с брой като "1" - което предполагам, че получава от самата таблица.

Когато се опитвам да търся събития за един потребител като- index=someindex host=host*p* "User1" "STATIC_SEARCH_STRING". Получавам 100 събития за този потребител.

Може ли някой да ми помогне с това? Съжалявам, ако това е въпрос за нуб, опитвах се да науча splunk, за да намаля работното си натоварване, и останах тук.

Благодаря предварително!


person messi.torres28    schedule 17.04.2020    source източник
comment
Какъв проблем се опитвате да разрешите с тази заявка? Може би има и друг начин.   -  person RichG    schedule 17.04.2020
comment
@RichG Искам да се уверя, че никой от потребителите няма проблеми с достъпа до приложението. Така че моята заявка ще търси статичен низ за търсене + потребителско име. [има около 10 хиляди потребители] След като имам това, мога да настроя предупреждение за него, ако някой потребител има по-малко от да кажем 10 събития, генерирани в определено време.   -  person messi.torres28    schedule 17.04.2020
comment
Ако нямате поле „потребител“ във вашия индекс, какво свързва индексираните събития със записите във файла за търсене?   -  person RichG    schedule 17.04.2020


Отговори (2)


index=someindex host=host*p* "STATIC_SEARCH_STRING" [ | inputlookup users.csv | fields UserList | rename UserList as query]

Това, което се случва тук, е, че има подтърсене, което прави inputlookup на файла users.csv. След това използваме fields, за да гарантираме, че има само едно поле (UserList) в данните. След това преименуваме това поле на query. Това е специално поле в подтърсенията; когато подтърсенето върне полето query, то се разширява в израза (field_value_1) OR (field_value_2) OR ....

След това този израз се добавя към оригиналния низ за търсене, така че окончателното търсене, което Splunk изпълнява, е index=someindex host=host*p* "STATIC_SEARCH_STRING" ("alice") OR ("bob") OR ("charlie")

Този подход е описан на адрес https://docs.splunk.com/Documentation/Splunk/8.0.3/Search/Changetheformatofsubsearchresults

Можете също да разгледате командата за формат на Splunk, https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Format, ако трябва да промените формата на израза за подтърсене, като например добавите * около всеки върнат израз.

person Simon Duff    schedule 18.04.2020
comment
Това работи перфектно. Благодаря много! Също така, благодаря на всички останали, че отделихте време да ми помогнете тук с множество мои проблеми! - person messi.torres28; 18.04.2020

Мисля, че търсите отвътре навън

Това, което мисля, че може да искате е следното:

index=ndx sourcetype=srctp host=host*p* User=*
| search 
    [| inputlookup users.csv ]
| stats count by User

Ако разбирам правилно въпроса ви, искате да използвате стойностите в търсенето си като филтър на данните (т.е. само където User е в този списък)

Ако случаят е такъв, горното ще направи точно това

Ако трябва да накарате имената на полетата да съвпадат, защото справочната таблица има различно име, променете подтърсенето на следното:

    [| inputlookup users.csv
     | rename lookup_field_name as User ]
person warren    schedule 17.04.2020
comment
Благодаря ти. Горната заявка, публикувана от вас, дава 0 резултата. Отново проверих, за да потвърдя дали това е така, но както казах, всеки от потребителите има 100 събития, генерирани за тях. - person messi.torres28; 17.04.2020
comment
@messi.torres28 - наистина се нуждая от примерни данни за събития, за да мога да ви помогна по-добре от просто гадаене :) - person warren; 17.04.2020