Sii Polska

SII UKRAINE

SII SWEDEN

  • Szkolenia
  • Kariera
Dołącz do nas Kontakt
Wstecz

Sii Polska

SII UKRAINE

SII SWEDEN

Wstecz

11.05.2016

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

11.05.2016

technology logi sii blogersii

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
Ocena
1.5/5
Avatar

O autorze

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.

Wszystkie artykuły autora

Zostaw komentarz

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

Może Cię również zainteresować

Pokaż wyniki
Dołącz do nas Kontakt

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?