Przygoda omnibusa z ELK, Elasticsearch tutorial – Kibana, wizualizacje

27 October, 2017 12:00 5 min Administrator

Przygoda omnibusa z ELK, Elasticsearch tutorial – Kibana, wizualizacje

W poprzednim odcinku udało się okiełznać Kibanę na bardzo podstawowym poziomie. W tym natomiast będziemy męczyć różne typy wykresów, warianty i zastosowania. A to wszystko po to, żeby mieć w piórniku to, co każdy omnibus mieć powinien, czyli pełny zestaw argumentów, jeśli trzeba będzie zrobić konkretną robotę. I to wszystko na wczoraj.
Każdy lubi atrakcyjne rzeczy, choć nie dla każdego oznacza to dokładnie to samo. W dzisiejszym ćwiczeniu nauczysz się, jak uatrakcyjnić widgety. Oczywiście, na tyle, na ile pozwala Kibana.
Wykres słupkowy, a w zasadzie kolumnowy omawialiśmy w poprzednim odcinku, dziś czas na wykres kołowy (pie chart) i jego warianty oraz wisienkę na torcie – mapę świata!

Tworzymy nową wizualizację. Możesz użyć polecenia New z górnego menu, ale każda inna metoda też jest dobra.

Kibana tradycyjnie zapyta o źródło danych, więc wybieramy nowe wyszukiwanie z indeksu stworzonego przez Logstasha. Zachowanie Kibany jest podobne, jak dla wykresów kolumnowych, czyli domyślnie licznik dokumentów w indeksie zostanie umieszczony na osi OY. Jeśli zaś chodzi o oś OX, to takiej nie ma, za to są kubełki (buckets), czyli zakresy wartości interesującej nas zmiennej. Na pierwszy ogień pójdzie zmienna Response code z log Apache. W moim indeksie występuje ona pod nazwą response.keyword. Najpierw trzeba wybrać typ agregacji – w tym przypadku idealnie pasuje agregacja Terms. Ta agregacja pracuje, w wielkim skrócie, na wartościach tekstowych. Następnie wybieram pole response.keyword, a reszta opcji pozostaje bez zmian. W efekcie Kibana wymaluje ci obrazek podobny do mojego.


Szybko zapisuję definicję wizualizacji w przepastnych czeluściach Kibany pod nazwą Response_count.
Ponieważ obecnie wykresy kołowe są mało sexy, pomajstrujemy przy opcjach w nowej wizualizacji. Już wiesz, jak to zrobić, więc kombinuj, żeby narysować poniższe:

Tak, to nie było szczególnie skomplikowane. Kolory twojego wykresu mogą być inne, ale ważne jest, żeby z koła zrobić oponkę. Zajrzyj do Options, a potem naciśnij Apply changes i opona gotowa.


Niezwłocznie zapisz i tę wizualizację, np. pod nazwą Country_count, bo przyda się w ćwiczeniu, które zrealizujemy w następnym odcinku.


Powiesz, że to nie jest rocket science i ja się z tym zgadzam; jedna seria danych na wykresie nikogo nie wprawi w osłupienie. Dlatego też dołożymy trochę więcej do tego wykresu. Załóżmy, że interesuje mnie, jak w pięciu najważniejszych krajach (pod względem liczby wpisów w logach) rozkładają się kody odpowiedzi HTTP (response code). W tym celu dodamy do wizualizacji Country_count kolejny kubełek z danymi. Użyjemy tego samego typu agregacji (Terms), a agregacja zostanie wykonana na wartościach pola response.keyword. Robi się znacznie ciekawiej, prawda? Dodatkowo, nie interesują nas strony, które załadowały się poprawnie, tj. takie z kodem 200. Żeby je wykluczyć z wykresu, kliknij 200 w legendzie, następnie lupę z minusem.


Jeśli jedziesz ze mną, oczom twym ukaże się poniższy widok:


Wszelkie filtry, które wpływają na dane na wykresie są widoczne w polu filtrów. Każdy z filtrów można włączyć/wyłączyć, modyfikować lub trwale z pola filtrów usunąć.


Filtrowanie można przeprowadzić z poziomu samego wykresu, wystarczy kliknąć interesującą wartość i voilà. Mam teraz tylko dane z Brazylii.


Poeksperymentuj na własną rękę, żeby się przekonać, co jak działa. Ja tymczasem zdejmuję wszelkie filtry i zapisuję wizualizację pod nazwą CountryWithResponse_count.
W końcu przyszedł czas na deser, wizualizację z mapą. Zaczynamy, jak zwykle, od nowej wizualizacji, ale tym razem wybieramy Tile map.

Po wyborze indeksu musimy wskazać, jakie pole zostanie użyte do podstawienia współrzędnych geograficznych dla punktów na mapie. Na szczęście w naszym logu takie dane są, a podczas importu logów do Logstasha użyta została konwersja adresu IP klienta na współrzędne geograficzne. Sprawdź to w pliku apache-config.conf, który steruje zachowaniem Logstasha. Zatem, wybieramy agregację Geohash (wielkiego wyboru nie ma), a do kubełków z danymi automatycznie wchodzi jedyne pasujące pole, czyli geoip.location. Jedno kliknięcie w Appy changes i mapa gotowa!


Tę wizualizację też zapisz do późniejszego użytku. Ja zapisuję ją pod nazwą GeoMap_count.
Na dziś to tyle, a w następnym odcinku poznasz tajniki tworzenia dashboardów i wykorzystania zapisanych wizualizacji do tego celu.

Sprawdź także

Zadzwoń +48 22 657 0438

lub wypełnij formularz, a skontaktujemy się z Tobą!

Nazywam się
i jestem zainteresowany
Proszę o kontakt pod adresem
lub numerem tel.