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"
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
co jest równoznaczne z nawiasowaniem (z którego również możemy korzystać):
Jednym słowem, szukamy błędów autoryzacji, bądź autentyfikacji dla użytkownika psciegienny lub mmarczak.
Otóż wiem, że mam "sourcetype" o nazwie apache2
Wpisuję w wyszukiwarkę
I ograniczam czas do wczoraj (żeby ograniczyć ilość wyników)
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".
Ż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
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ę.
Poza tym, że możemy teraz wydać zapytanie:
Wygenerujmy sobie pierwszy raport - wciąż korzystając z wyszukiwarki (!)
Zauważmy jeszcze zakładkę visualisation.
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.
"Search and Reporting"
Aby ją uruchomić wystarczy kliknąć w zaznaczony button
Naszym oczom powinien ukazać się taki o to widokOmawiają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
KOD: ZAZNACZ CAŁY
Code:
"auth* fail*" psciegienny OR mmarczak
co jest równoznaczne z nawiasowaniem (z którego również możemy korzystać):
KOD: ZAZNACZ CAŁY
Code:
"auth* fail*" (psciegienny OR mmarczak)
Jednym słowem, szukamy błędów autoryzacji, bądź autentyfikacji dla użytkownika psciegienny lub mmarczak.
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ę
KOD: ZAZNACZ CAŁY
Code:
sourcetype=apache2
I ograniczam czas do wczoraj (żeby ograniczyć ilość wyników)
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".
Ż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
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ę.
Po wciśnięciu buttonu Save wyświetli nam się takie okno
Poza tym, że możemy teraz wydać zapytanie:
KOD: ZAZNACZ CAŁY
Code:
sourcetype=apache2 http_code=404
Wygenerujmy sobie pierwszy raport - wciąż korzystając z wyszukiwarki (!)
KOD: ZAZNACZ CAŁY
Code:
sourcetype=apache2|chart count by http_code
Zauważmy jeszcze zakładkę visualisation.
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.