🟡 Intermediate

ELK Stack — Elasticsearch, Logstash a Kibana

ELK Stack je trojica open-source nástrojov na zber, spracovanie, ukladanie a vizualizáciu logov. Patrí medzi najpoužívanejšie riešenia pre centralizované logovanie a log analytics.


Čo je ELK Stack?

ELK je skratka pre tri komponenty:

  • Elasticsearch — distribuovaný vyhľadávací a analytický engine postavený na Apache Lucene. Ukladá dáta v JSON dokumentoch a umožňuje full-text vyhľadávanie v reálnom čase.
  • Logstash — pipeline na spracovanie dát. Prijíma logy z rôznych zdrojov, transformuje ich a posiela do Elasticsearch.
  • Kibana — webové rozhranie na vizualizáciu a exploráciu dát uložených v Elasticsearch.

Moderná verzia sa často nazýva Elastic Stack, pretože zahŕňa aj Beats — ľahké agenty na zber dát.

Ako funguje

Typická log pipeline:

  1. Beats/Filebeat zbiera logy z aplikácií a serverov
  2. Logstash ich parsuje, filtruje a obohacuje
  3. Elasticsearch indexuje a ukladá spracované dáta
  4. Kibana zobrazuje výsledky v dashboardoch

Logstash konfigurácia:

input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "%{HTTPD_COMMONLOG}" }
  }
  date {
    match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]
  }
}

output {
  elasticsearch {
    hosts => ["http://elasticsearch:9200"]
    index => "logs-%{+YYYY.MM.dd}"
  }
}

Indexy v Elasticsearch sú organizované podľa dátumu. Index Lifecycle Management (ILM) automaticky spravuje fázy: hot → warm → cold → delete.

Praktické použitie

  • Centralizované logovanie — všetky servery a aplikácie posielajú logy na jedno miesto
  • Troubleshooting — rýchle vyhľadávanie chýb naprieč celou infraštruktúrou
  • Security analytics (SIEM) — detekcia bezpečnostných incidentov
  • APM — Elastic APM monitoruje výkon aplikácií s distribuovaným tracingom
  • Business analytics — analýza prístupových logov, konverzií a používateľského správania

Kibana Discover umožňuje interaktívne prehľadávanie logov s filtrami a KQL (Kibana Query Language).

Best Practices

  • Používajte ILM politiky — automatická rotácia a mazanie starých indexov
  • Nastavte mapping templates — definujte typy polí vopred pre lepší výkon
  • Beats namiesto Logstash kde je to možné — sú ľahšie a efektívnejšie
  • Sizing clustra — minimálne 3 master nody pre produkciu
  • Monitoring samotného ELK — Elasticsearch má vlastné metriky na sledovanie zdravia clustra
  • Bezpečnosť — zapnite TLS a autentifikáciu (Elastic Security)

ELK Stack je výkonné riešenie pre log management, ale vyžaduje starostlivé plánovanie kapacity a správu indexov.