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:
- Beats/Filebeat zbiera logy z aplikácií a serverov
- Logstash ich parsuje, filtruje a obohacuje
- Elasticsearch indexuje a ukladá spracované dáta
- 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.