Monitoring Serwerów - Forum o monitoringu infrastruktury IT
Wyszukiwanie w Splunku - Printable Version

+- Monitoring Serwerów - Forum o monitoringu infrastruktury IT (https://monitoringserwerow.pl)
+-- Forum: MONITORING INFRASTRUKTURY IT (https://monitoringserwerow.pl/forumdisplay.php?fid=1)
+--- Forum: Splunk (https://monitoringserwerow.pl/forumdisplay.php?fid=15)
+--- Thread: Wyszukiwanie w Splunku (/showthread.php?tid=21)



Wyszukiwanie w Splunku - ArturB - 07-30-2019

Splunk na pierwszy rzut oka onieśmiela i większość osób zgodzi się z tą tezą. Bardzo silną i domyślnie zainstalowaną aplikacją jest
"Search and Reporting"
[attachment=12]
Aby ją uruchomić wystarczy kliknąć w zaznaczony button
Naszym oczom powinien ukazać się taki o to widok
[attachment=14]

Omawiając pola i przyciski od góry zwrócimy uwagę na pasek wyszukiwania, gdzie po prostu możemy wpisać poszukiwaną przez nas frazę.
Warto w tym miejscu powiedzieć, że Splunk szuka całego wyrazu, dlatego zapytanie "fail" nie znajdzie dopasowania ani w "failed" ani w "failure". Oczywiście istnieje wildcard (znak "dzika karta") *, który dopasuje się do dowolnego ciągu znaków. Przykład zastosowania w powyższym przypadku to "fail*".

Obok znajdziemy przyciski który pomoże nam ustalić ramy czasowe zdarzeń, np ostatnie 15 min, wczoraj, ostatnie 7dni, a także istnieje możliwość zdefiniowania własnego okresu czasu.

Na stronie pojawiają się dodatkowo dwa boksy, jeden z dwoma przyciskami do Dokumentacji wyszukiwania i Tutoriali producenta, a drugi podsumowanie zebranych danych. Na potrzeby dalszej części artykułu założymy że mamy w systemie conajmniej "access log" z apache'a.

Wyszukiwanie może odbywać się poprzez wpisanie słowa które ma być znalezione w dowolnym miejscu loga (np "auth* fail*) albo poprzez wskazanie konkretnego pola (w późniejszym czasie omówię również tworzenie własnych pól w logach.

Idea jest taka, że szukamy kolejnych słów ze spójnikiem "i" - w powyższym przypadku znajdziemy zdarzenia w których występuje "auth*" i "fail*", albo, ujęcie w cudzysłów spowoduje dodatkowo, że to będą musiały być dwa słowa występujące po sobie, pierwsze zaczynające się od "auth", a drugie od "fail".
W komentarzu pod artykułem kolegi z pracy zawarłem przykład
Code:
"auth* fail*" psciegienny OR mmarczak

co jest równoznaczne z nawiasowaniem (z którego również możemy korzystać):
Code:
"auth* fail*" (psciegienny OR mmarczak)

Jednym słowem, szukamy błędów autoryzacji, bądź autentyfikacji dla użytkownika psciegienny lub mmarczak.

[attachment=11]
Co sprawniejsze oko czytelnika zauważy poza wynikami wyświetlenia i wykresem ilości zdarzeń w czasie, po lewej stronie box z "polami".
Pozwoli nam to np. do ograniczenia naszego wyniku w obrębie jednego hosta (host), typu logów (sourcetype). Dla konkretnego typu logów możemy zdefiniować nasze własne pola - jeśli Splunk ich oczywiście nie wykryje. Celem demonstracji posłużyłem się przykładem z wideotutoriala.
Otóż wiem, że mam "sourcetype" o nazwie apache2
Wpisuję w wyszukiwarkę
Code:
sourcetype=apache2

I ograniczam czas do wczoraj (żeby ograniczyć ilość wyników)
[attachment=13]


Zauważam, że pośród pól nie ma ani kodu HTTP (200, 404, 500...), ani np metody (POST/GET/OPTIONS).
Co zrobić?
Możemy rozwinąć nasz log, a następnie "wyodrębnić pole".

[attachment=8]


Żeby było łatwiej, splunk pozwala nam intuicyjnie podać przykład wartości pola, które postara się dopasować. Wpiszmy np. 200, a później (już bez screenów) GET
[attachment=10]


Splunk podkreślił nam wyniki, podał inne wyszukane wartości. Możemy ręcznie zmienić wyrażenie regularne, ale ja nie chcę tego zrobić więc zapisuję.
[attachment=9]
Po wciśnięciu buttonu Save wyświetli nam się takie okno


Poza tym, że możemy teraz wydać zapytanie:
Code:
sourcetype=apache2 http_code=404

Wygenerujmy sobie pierwszy raport - wciąż korzystając z wyszukiwarki (!)
Code:
sourcetype=apache2|chart count by http_code

[attachment=7]

Zauważmy jeszcze zakładkę visualisation.
[attachment=15]

gdzie dodatkowo możemy wybrać rodzaj wykresu.

Prawda, że proste?
PS Za drugim razem już robi się to znacznie szybciej - sami się przekonajcie próbując robić statystykę metody GET / POST na waszej stronie.