Wybierz region
pl
  • PL
  • EN
Wydrukuj

Elastic Search dla .NET Developerów w przykładach dla .NET Core – część 2

W poprzednim odcinku skupiliśmy się na opisie rozwiązania Elastic Search. Omówiliśmy historię tego rozwiązania oraz omówiliśmy części składowe całego stosu technologicznego Elastic Stack. W dużym uproszczeniu omówiliśmy również dwa algorytmy, które stoją za tym rozwiązaniem czyli indeks odwrócony oraz odległość Levenshteina. W obecnym skupimy się na uruchomieniu rozwiązania Elastic Search.

Wykonamy również pierwsze zapytania do serwera Elastic Search oraz przyjrzymy się interfejsowi użytkownika Kibana.

 

Konfiguracja stosu Elastic Stack

Do konfiguracji naszego środowiska Elastic Stack użyjemy dockera a w szczególności możliwości jakie daje rozszerzenie docker-compose. Uruchomimy środowisko złożone z następujących elementów:

  • Elastic Search
  • Kibana
  • APM

Plik dla docker-compose odnajdziemy w repozytorium na github:

https://github.com/mrozim78/DotnetForElasticSearch

w katalogu docker

Z pliku wdrożenia na docker-compose odczytać możemy również jak nasz schemat wdrożenia wygląda

Z powyższego schematu wynika , że  Elastic Search stanowi nasz centralny serwer. Do niego podpięty jest interfejs użytkownika Kibana oraz APM do zbierania metryk z aplikacji. Nasz  klaster Elastic Search składa się tylko z jednego węzła.

Po uruchomieniu naszego środowiska przy użyciu polecenia docker-compose możemy sprawdzić czy wszystko działa prawidłowo. W tym celu wydajmy pierwsze zapytanie do serwera Elastic Search. Nasze zapytania wykonamy za pomocą wyświetlenia odpowiedniego linka w przeglądarce:

http://localhost:9200/_cat/indices

Praca z interfejsem użytkownika Kibana

Interfejs użytkownika Kibana dostępny jest pod adresem

http://localhost:5601

Najważniejszą częścią interfejsu, który sobie omówimy na początku jest  opcja  Discover. Za jej pomocą możemy wykonywać zapytania do Elastic Search do odpowiednio założonego indeksu. Zapytanie zwraca nam listę dopasowanych dokumentów. Możliwość wpisywania zapytania znajduje się w interfejsie na górze strony. Po lewej stronie interfejsu odnajdziemy listę pól dokumentów zawartych pod danym indeksem. Po najechaniu na dane pole zobaczymy statystyki wartości danego pola. Na środku odnajdziemy listę dokumentów, które zostały wyszukane.

Zapytania w tej opcji wykonujemy za pomocą specjalnego języka zapytań KQL (Kibana Query Language)

Inną interesującą nas opcją jest możliwość tworzenia odpowiednich tablic z wykresami. Funkcja ta w menu nazywa się Dashboard. Za pomocą tej opcji tworzymy odpowiedni panel oraz wybieramy rodzaj wykresu, który będziemy tworzyć na podstawie danych.

Ostatnią opcją, którą omówimy jest Dev Tools. Za jej pomocą możemy wysyłać zapytania bezpośrednio do Elastic Search. Wpisujemy w lewy panel nasze zapytanie testowe i go uruchamiamy. Wykonajmy przykładowe zapytanie:

GET /_cat/health

Po uruchomieniu tego zapytania otrzymamy stan poszczególnych węzłów naszego klastra.

I tym sposobem doszliśmy do końca tego wpisu. Zauważmy, że uruchomienie prostego środowiska Elastic Stack nie jest trudne. Wystarczy do tego docker oraz jego rozszerzenie czyli docker-compose. Obsługa przygotowanego interfejsu graficznego Kibana jest także prosta i intuicyjna. W następnym wpisie pokażemy jedno z przypadków użycia naszego środowiska Elastic Search a jest nim, zbieranie logów oraz metryk.


Remigiusz Mrozek

Architekt w Pionie Energetyki i Gazownictwa. Na co dzień koduje w C#, prywatnie pasjonat nowych technologii ze szczególnym ukłonem w odmęty Big Data i Machine Learningu. Mistrz Gry, zawsze z najbardziej psychodeliczną fabułą. Można go spotkać na Coperniconie i Pyrkonie!


Wydrukuj