Wyślij zapytanie Dołącz do Sii

Wpis poświęcony jest magicznej trójce: elastic-search, logstash, kibana co w sieci można znaleźć pod skrótem ELK. Opisuje w prosty sposób jak uruchomić i skonfigurować narzędzie wspomagające pracę z plikami logów. Ideą tego rozwiązania jest wykorzystanie istniejących narzędzi jako centrum indeksującego i prezentującego logi. Narzędzie to jest bardzo przydatne w przypadku, gdy monitorujemy kilka środowisk, czy też jedno środowisko, które jest rozproszone. Opisywane zastosowanie dotyczy monitorowania logów w ramach jednej maszyny.

Wymagania

Przechodząc do sedna. Wiemy co chcemy zrobić, pojawia się pytanie jak? Otóż w pierwszej kolejności należy pobrać trzy moduły ze strony dostawcy https://www.elastic.co/:

Do ich uruchomienia niezbędna będzie java w wersji co najmniej 7, aczkolwiek jako że jest narzędziem ciągle rozwijanym, sugeruję użyć najnowszej stabilnej wersji.

Instalacja

  • instalacja javy
  • rozpakowanie archiwów z powyższymi paczkami

Konfiguracja

  • Elasticsearch – konfiguracja znajduje się w pliku:
    • <ELASTIC_SEARCH_HOME> /config/elasticsearch.yml – istnieje mozliwość zmiany podstawowych parametrów, domyślnymi są: 9200 oraz 9300, a zmiana ich nie jest konieczna.
  • Kibana – konfiguracja znajduje sie w pliku:
    • <KIBANA_HOME>/config/kibana.yml – należy zdefiniować źródło danych, w tym przypadku zmienna: elasticsearch.url: „http://localhost:9200
    • Logstash – plik konfiguracyjny podaje się w parametrach startowych. Zawartość tego pliku może wyglądać następująco:
input {
  file {
    type => "nazwa środowiska|węzła"
    path => "/*"
    codec => multiline { →sekcja odpowiedzialna za złożenie stacktrace’a w jeden wpis
      pattern => "^%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{TIME}.*"
      negate => "true"
      what => "previous"
    }
  }
}
output {
  elasticsearch { hosts => [":9200"] }
  stdout { codec => rubydebug } → linnia opcjonalna, wypisuje na wyjściu standardowym publikowane wpisy, przydatne podczas debugowania
}

Uruchamianie

Aby wszystko działało, należy w pierwszej kolejności uruchomić elasticsearch skryptem:

/bin/elasticsearch

następnie w dowolnej kolejności należy uruchomić:

/bin/kibana
/bin/logstash -f logstash.conf

Dla przykładu filtrowanie logów za pomocą komendy grep Exception:

1 1 - Zapanuj nad logami, czyli przykład użycia narzędzi: Elasticsearch, Logstash, Kibana

A tu ten sam log wyszukany komendą kibana *Exception* (stack trace ucięty przez rozmiar okna przeglądarki):

2 1 1024x573 - Zapanuj nad logami, czyli przykład użycia narzędzi: Elasticsearch, Logstash, Kibana

Oczywiście da się to zrobić prościej np. poprzez uruchomienie gotowego obrazu docker’a. Warto pamiętać, że ścieżka ta nie zawsze jest dostępna ze względu na różnego rodzaju polityki bezpieczeństwa. Narzędziem, które warto dopisać to tego zestawu, jest pakiet filebeat dostępny w stajni elastic, będący sugerowanym narzędziem do przesyłania logów wewnątrz sieci.

1.5/5 ( głosy: 8)
Ocena:
1.5/5 ( głosy: 8)
Autor
Avatar
Emil Murawski

Jestem developerem Java od ok. 3 lat, w międzyczasie miałem okazję sprawdzić się jako programista aplikacji mobilnych. Obecnie zajmuję się czysto backendowymi zagadnieniami. Projekt który prowadzę to pionierski plan uporządkowania podbiurkowego systemu.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?