Logy nejsou nuda: Vytěž si vlastní data a předběhni šéfa v KPIs
Syslogy, event logy, access logy, debug logy… Spousta textu, který běžně zapadá v ROT folderu na serveru. Přitom v nich leží odpověď na otázky, které se manažeři i admini ptají každé pondělí: „Kolik lidí použilo funknost X?“, „Co brzdí aplikaci?“, „Kolik peněz jsme ztratili kvůli chybě 500?“. V tomhle článku tě naučím, jak z nudných logů vyrobit jazyk čísel a grafů – a jak díky nim zazářit na poradě, dřív než vychladne káva.
1 · Proč logy nejsou jen „audit trail“
V logu je každé kliknutí, chyba, latence i cashflow. Když je začneš číst správně, získáš:
- Operativní přehled – error rate > 2 %? Víš to dřív, než začne helpdesk zvonit.
- Optimalizaci výkonu – pinpoint endpoint, který žere 80 % CPU.
- Business insight – tržby za hodinu, konverzní trychtýř přímo z access logu.
- Compliance & forenzní stopu – GDPR, ISO 27001, SOC2.
2 · Architektura ELK + Grafana v kostce
[Agents] → Filebeat / Winlogbeat
↓
Logstash (parse + enrich)
↓
Elasticsearch cluster
↓
Grafana ← → Alertmanager / ElastAlert
Filebeat posílá syrové logy, Logstash je čistí a přidává geoIP, Elasticsearch indexuje na SSD, Grafana vizualizuje. Alerty řeší buď Grafana Alerting, nebo ElastAlert.
3 · Sběr logů: Filebeat, Winlogbeat, syslog‑ng
3.1 Filebeat instalace (Linux)
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.13.0-amd64.deb
dpkg -i filebeat-8.13.0-amd64.deb
filebeat modules enable nginx system mysql
filebeat setup -e
systemctl enable --now filebeat
3.2 Winlogbeat instalace (Windows)
Invoke-WebRequest https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-8.13.0-windows-x86_64.zip -OutFile winlogbeat.zip
Expand-Archive winlogbeat.zip -DestinationPath 'C:\Program Files'
cd 'C:\Program Files\winlogbeat'
.\install-service-winlogbeat.ps1
Povolit kanály Application, System, Security, plus IIS.
3.3 Syslog‑ng pro switch/router
network(); destination("10.0.0.10" transport("tcp") port(514));
4 · Logstash pipeline: parsuj, obohacuj, filtruj
filter {
grok {
match => {"message" => "%{IP:client_ip} - - \[%{HTTPDATE:timestamp}\] \"%{WORD:method} %{URIPATH:uri}"}
}
geoip { source => "client_ip" }
useragent { source => "agent" target => "ua" }
mutate {
add_field => {"section" => "%{[uri][1]}"}
convert => {"response" => "integer" "bytes" => "integer"}
}
}
Výsledek: strukturovaný JSON místo textu, vhodný pro agregace.
5 · Indexace a lifecycle v Elasticsearch
- Index template s dynamic mapping
false– žádné neočekávané pole. - ILM policy: hot (7 dní SSD) → warm (30 dní HDD) → cold (S3 snapshot).
- Rollup pro year‑over‑year metriky (hodinové agregáty).
6 · Grafana dashboard: od error rate po revenue
6.1 Důležité panely
- Error Rate 4xx/5xx –
sum(response>=400)/sum(*) - P95 latency –
quantile(0.95, ms) - Registrace uživatelů/den – Filebeat → filter
POST /api/register - Tržby – pokud loguješ
order_total, udělej sum by day.
6.2 Public vs. internal folders
Management dostane „Executive“ složku (jen KPI), devops „Infra“ (detaily).
7 · Alerting: Prometheus alertmanager vs. ElastAlert
- alert: HighErrorRate
expr: sum(rate(log_errors_total[5m])) / sum(rate(log_requests_total[5m])) > 0.05
for: 2m
labels:
severity: critical
annotations:
summary: "Error rate >5 % posledních 5 min."
Alternativa v ElastAlert:
type: frequency
index: filebeat-*
num_events: 50
timeframe:
minutes: 1
filter:
- term:
response: 500
8 · Logy jako business KPI: case study e‑shopu
| KPI | Před (GA4) | Z logů (real‑time) | Benefit |
|---|---|---|---|
| Konverze košíku | 24 h delay | < 1 min | Rychlejší AB test |
| Prům. objednávka | N/A | Log parsing | Přesnější marže |
| Drop‑off body | Sampling | 100 % dat | Přesný funnel |
Díky tomu e‑shop optimalizoval banner a zvýšil konverzi o 12 % do dvou týdnů.
9 · Anomálie & ML jobs v Elastic ML
- Job high_mean_response_time – detekuje latency spike.
- Job low_unique_visitors – upozorní na SEO drop.
- Integruj s Watcher → Slack alert s grafem.
10 · Bezpečnost: GDPR, maskování, RBAC
- PII maskuj v Logstash (
mutate gsubna e‑maily, IP hash). - Elasticsearch — TLS + RBAC: readonly pro externí tým.
- Větve indexů:
logs-prod‑*vs.logs‑dev‑*. - Retention – max 90 dní pro PII, 365 pro agg.
11 · Náklady a optimalizace hot/cold storage
10 GB dat/den:
- Hot (SSD) 7 dní → 70 GB
- Warm (HDD) 30 dní → 300 GB
- Cold (S3) 335 dní → 3,3 TB (4 €/TB/m)
Shrnutí: < 40 €/m pro celý rok, výrazně méně než Splunk Cloud.
12 · FAQ
- Proč ne Graylog / Loki?
- Loki je super na text + Promtail, ale chybí full‑text bez regex. Elastic má silnější ML.
- Není Filebeat těžký?
- Spotřeba RAM < 30 MB, CPU mizivé. Pro ≥ 5 k EPS raději Fluent Bit.
- Můžu posílat Windows Eventy bez Winlogbeat?
- Ano, přes NXLog nebo Wevtutil + Syslog Forwarder, ale Winlogbeat je nejjednodušší.
13 · Závěr
Logy opravdu nejsou nuda. Jsou to spíše neotevřené dopisy, ve kterých se skrývají odpovědi na technické i byznysové otázky. Seber je, vyčisti, ulož, zobraz – a uvidíš, jak se z „šedého šumu“ stane palubní deska, která ti ukáže kudy k vyšší spokojenosti uživatelů i k větším tržbám.
Klíčová slova
log management, elk stack, filebeat, elasticsearch, grafana, kpi dashboards, logstash, observability, log analytics, time series, devops metrics, siem




