Obsah
ELK Stack (Elastic Stack)
ELK Stack je zkratka pro spojení tří open-source projektů: Elasticsearch, Logstash a Kibana. Společně tvoří platformu, která umožňuje sbírat logy ze všech systémů, ukládat je na jedno místo a v reálném čase je analyzovat.
V posledních letech byl stack rozšířen o čtvrtou komponentu – Beats, proto se dnes častěji používá oficiální název Elastic Stack.
Komponenty stacku
Proces zpracování dat probíhá jako v potrubí (pipeline):
1. Beats (Sběr dat)
Lehcí agenti instalovaní přímo na serverech nebo koncových zařízeních. Sbírají data (logy, metriky, síťový provoz) a posílají je dál.
- Filebeat: Sleduje a odesílá soubory s logy.
- Metricbeat: Sbírá metriky (CPU, RAM) ze systému a služeb.
2. Logstash (Zpracování a transformace)
Nástroj pro transformaci dat. Logy z různých zdrojů (nejen z Beats) vyčistí, sjednotí jejich formát a obohatí je (např. o geolokalizaci podle IP adresy). * K parsování nestrukturovaného textu používá filtry jako Grok.
3. Elasticsearch (Ukládání a vyhledávání)
Srdce celého stacku. Jde o distribuovaný vyhledávací a analytický engine postavený na Apache Lucene. Ukládá data ve formátu JSON a umožňuje v nich extrémně rychle vyhledávat.
4. Kibana (Vizualizace)
Webové rozhraní pro Elasticsearch. Umožňuje uživatelům vytvářet grafy, mapy, dashboardy a provádět vizuální analýzu dat bez nutnosti psát složité dotazy.
Architektura a tok dat
Typický tok dat vypadá následovně: `Uzel (Beats) –> Transformace (Logstash) –> Indexace (Elasticsearch) –> Dashboard (Kibana)`
V jednodušších architekturách mohou Beats posílat data přímo do Elasticsearch, čímž se vynechá Logstash (pokud není potřeba složitá transformace dat).
Hlavní využití v praxi
- Log Management: Centralizované ukládání logů z webových serverů, aplikací a síťových prvků.
- Monitoring infrastruktury: Sledování vytížení serverů a chybových stavů v reálném čase.
- Bezpečnost (SIEM): Identifikace útoků (např. Brute Force) díky analýze neobvyklých vzorců v logách.
- Business Intelligence: Sledování nákupního chování uživatelů v e-shopech.
Výhody a nevýhody
| Výhody | Nevýhody |
|---|---|
| Škálovatelnost: Lze snadno rozšířit na stovky serverů. | Náročnost na paměť: Elasticsearch vyžaduje hodně RAM. |
| Open-source: Základní verze je zdarma. | Komplexita: Správa velkých clusterů vyžaduje zkušenosti. |
| Rychlost: Výsledky vyhledávání jsou téměř okamžité. | Indexace: Vyšší režie na disk při ukládání velkého objemu dat. |
Zajímavost: ELK Stack používají giganti jako Netflix, LinkedIn nebo GitHub k monitorování svých miliardových toků událostí každý den.
— Viz také: Grok, JSON, SIEM, Cloud Monitoring
