-
Notifications
You must be signed in to change notification settings - Fork 0
Monitoring
Cílem není mít hezké grafy, ale dozvědět se o problému dřív než od uživatele. Tahle stránka jde od nejjednoduššího k nejsložitějšímu — ber to jako pořadí, ve kterém to zavádět.
Začni tady. Instalace na pět minut, řekne ti, když něco spadne, a víc na začátku nepotřebuješ.
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
volumes:
- kuma:/app/data
ports:
- "127.0.0.1:3001:3001"
volumes:
kuma:Umí sledovat HTTP, TCP porty, ping, DNS, platnost certifikátů a docker kontejnery. Upozornění posílá do Telegramu, na e-mail, do Discordu a dalších padesáti míst.
Nejdůležitější věc: nesleduj sám sebe. Uptime Kuma běžící na stejném stroji jako sledované služby ti neřekne nic ve chvíli, kdy spadne stroj. Dej ho jinam — na Raspberry Pi, na VPS za dvě eura, kamkoliv mimo.
Co nastavit hned:
- dostupnost každé veřejné služby
- platnost TLS certifikátů (upozornění 14 dní předem)
- ping na bránu a na 8.8.8.8, ať poznáš výpadek linky
- kontrola zvenku, ne zevnitř
Když chceš vidět, proč je něco pomalé. Jeden kontejner, nulová konfigurace, okamžitě máš stovky metrik s vteřinovým rozlišením.
services:
netdata:
image: netdata/netdata
hostname: server
cap_add: [SYS_PTRACE]
security_opt: [apparmor:unconfined]
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- "127.0.0.1:19999:19999"Skvělé na akutní ladění („teď je to pomalé, co se děje"), horší na dlouhodobé trendy, protože data ve výchozím nastavení dlouho nedrží.
Pozor na Docker socket, viz poznámka v Traefiku.
Až když ti předchozí nestačí. Je to výrazně víc práce a dává smysl u víc strojů nebo když chceš historii v řádu měsíců.
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prom_data:/prometheus
ports:
- "127.0.0.1:9090:9090"
grafana:
image: grafana/grafana
volumes:
- grafana_data:/var/lib/grafana
ports:
- "127.0.0.1:3000:3000"
node-exporter:
image: prom/node-exporter
pid: host
volumes:
- /:/host:ro,rslave
command: ['--path.rootfs=/host']prometheus.yml:
global:
scrape_interval: 30s
scrape_configs:
- job_name: node
static_configs:
- targets: ['node-exporter:9100']
- job_name: traefik
static_configs:
- targets: ['traefik:8082']Do Grafany naimportuj hotový dashboard číslo 1860 (Node Exporter Full) — nemá cenu si to kreslit ručně.
Většina lidí sleduje vytížení procesoru, což je nejméně užitečná metrika z celé sady. Tohle je užitečnější:
| Metrika | Proč | Prahová hodnota |
|---|---|---|
| Volné místo na disku | nejčastější příčina pádu služby | upozornit na 80 % |
| Zaplnění inodů | disk má místo, ale soubory nejdou vytvořit | 80 % |
| Volná paměť a swap | swapování zabíjí výkon | swap nad nulou = pozor |
| Load average | vytížení včetně čekání na IO | nad počet jader |
| Teplota | u domácího hardwaru reálný problém | podle výrobce |
| SMART stavy disků | předchází ztrátě dat | jakákoliv změna |
| Platnost certifikátů | tichá časovaná bomba | 14 dní |
| Dostupnost zvenku | to jediné, co uživatele zajímá | okamžitě |
Ta zaplněnost inodů je záludná — df -h ukáže volné místo a přesto nejde nic zapsat. Zkontroluj df -i. Typicky u strojů s milionem malých souborů.
Když máš víc strojů, hodí se logy sbírat na jedno místo. Loki s Promtail je nejjednodušší cesta, protože se integruje do Grafany.
Pro jeden stroj to nepotřebuješ — journalctl stačí:
journalctl -u sluzba -f
journalctl --since "1 hour ago" -p err
journalctl --disk-usage
journalctl --vacuum-time=30dTen poslední příkaz stojí za pozornost. Journal umí vyrůst do desítek gigabajtů a pak se divíš, kde je místo.
Příliš mnoho. Když chodí deset upozornění denně, přestaneš je číst. Pak přijde to důležité a taky ho nepřečteš.
Bez prahové hodnoty pro trvání. Krátký výpadek při restartu služby není incident. Nastav si, že se hlásí až po dvou nebo třech neúspěšných kontrolách.
Jen e-mailem. Když ti spadne server, na kterém běží pošta, upozornění nedorazí. Použij něco nezávislého — Telegram, Pushover, SMS.
Ze stejného stroje. Zopakuji to, protože je to nejčastější chyba: monitoring musí běžet jinde než to, co sleduje.
Když nechceš stavět observabilitu, ale chceš spát:
- Uptime Kuma na jiném stroji nebo na levném VPS
- Kontroly na všechny veřejné služby, na certifikáty a na ping brány
- Upozornění do Telegramu
- Netdata na hlavním stroji pro případ, že něco ladíš
- Hlídač volného místa
To je odpoledne práce a pokryje devadesát procent situací, kdy se něco pokazí.
Našel jsi chybu nebo něco chybí? Založ issue nebo pošli pull request. — Psáno 2026, licence CC BY-SA 4.0
Základy
- Cesta paketu
- Vrstvy a zapouzdření
- MAC, ARP a přepínání
- Prefixy a masky
- Směrování
- DHCP a DNS
- Porty a spojení
- NAT a port forwarding
Domácí síť
IPv6
Linux firewall
TLS a reverse proxy
- TLS a HTTPS
- HTTP, QUIC a WebSocket
- Reverse proxy
- Caddy
- Nginx
- Traefik
- Certifikáty a Let's Encrypt
- Vlastní certifikační autorita
Kryptografie
- Stavební kameny
- Veřejný a soukromý klíč
- Diffie-Hellman
- Hashe, HMAC a podpisy
- Náhodnost a entropie
- TLS handshake
- Postkvantová kryptografie
- Šifrování disků a souborů
Virtualizace a kontejnery
Diagnostika
Vzdálený přístup
Provoz a bezpečnost
Praxe