ELK Stack

Zestaw narzędzi do zbierania, przechowywania i wizualizacji logów. Logstash przetwarza dane, Elasticsearch je indeksuje, a Kibana wizualizuje.

ELK Stack to zestaw trzech otwartoźródłowych narzędzi od firmy Elastic, które razem tworzą kompletny pipeline do zbierania, przechowywania, przeszukiwania i wizualizacji logów oraz innych danych. Nazwa to akronim: Elasticsearch (silnik wyszukiwania i baza danych), Logstash (przetwarzanie i transformacja danych) oraz Kibana (interfejs do wizualizacji). Gdy dorzucisz do tego lekkie agenty Beats (np. Filebeat), zestaw bywa nazywany Elastic Stack — i to dziś oficjalna nazwa, bo „ELK” robiło się za ciasne.

Jak to działa

Wyobraź sobie, że masz dziesięć serwerów, a każdy pluje logami do osobnego pliku. Zamiast logować się po SSH na każdy z osobna i grepować, puszczasz dane przez wspólny przepływ. Filebeat albo Logstash czyta logi z plików lub strumieni, parsuje je (np. rozbija surową linię Apache na pola: IP, status, czas odpowiedzi), a potem wysyła do Elasticsearch. Tam dane są indeksowane — czyli zapisane w sposób, który pozwala je przeszukiwać w milisekundach, nawet przy miliardach rekordów.

Na końcu wchodzi Kibana: łączysz się przez przeglądarkę, budujesz dashboardy, wykresy i tabele, filtrujesz po czasie albo po dowolnym polu. Zamiast „coś nie działa od rana” masz konkretny wykres błędów 500 skaczący o 9:14. To właśnie dlatego ELK jest sercem wielu systemów observability i centralnego logowania.

Przykład z praktyki

Klasyczny scenariusz: zbierasz logi aplikacji webowej. Na serwerach stawiasz Filebeat, który śledzi pliki logów i wysyła nowe linie do Logstash. W konfiguracji Logstash używasz filtra grok, żeby z surowej linii wyciągnąć pola, np.:

filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } }

Sparsowane zdarzenia lądują w Elasticsearch w dziennym indeksie typu logs-2026.06.29. W Kibanie tworzysz data view na te indeksy i w kilka kliknięć masz dashboard pokazujący ruch, błędy i czasy odpowiedzi w czasie rzeczywistym.

Na co uważać

  • Logstash potrafi być żarłoczny. Parsowanie grok zżera CPU i RAM. Do prostego przesyłu często wystarczą same Beats albo ingest pipelines w Elasticsearch — Logstash dorzucaj, gdy faktycznie transformujesz dane.
  • Indeksy puchną. Bez retention policy (np. ILM — Index Lifecycle Management) dysk zapełni się logami szybciej, niż myślisz. Ustaw usuwanie starych indeksów od razu.
  • Domyślny brak zabezpieczeń to mit z przeszłości — dziś Elastic wymaga uwierzytelniania, ale i tak nie wystawiaj portu 9200 gołego do internetu. Klasyk wycieków danych.

Pojęcia powiązane

Warto kojarzyć: observability, centralne logowanie, Beats i Filebeat, OpenSearch (forkowany odpowiednik po zmianie licencji Elastica), Grafana Loki jako alternatywa, oraz format JSON, w którym dane krążą przez cały pipeline.