Language: cs
Uptime Kuma: nastavte vlastní monitoring webu na VPS
Web může přestat fungovat, a přesto stále vracet 200 OK. Zálohování se může zastavit bez zjevné chyby. Uptime Kuma odhalí oba problémy: kontroluje weby, API, porty i úlohy na pozadí a při potížích odešle upozornění.
Vysvětlíme, kam monitorovací systém umístit, jaký VPS potřebuje a jak nainstalovat Uptime Kuma 2, zapnout HTTPS, připojit Telegram a vytvořit stavovou stránku.
Uptime Kuma v sedmi krocích
- Vyhraďte malý VPS odděleně od projektů, které budou monitorovány.
- Nasměrujte na něj subdoménu, například
monitor.example.com. - Nainstalujte Docker a spusťte Uptime Kuma 2.
- Uzavřete interní port
3001a zapněte HTTPS. - Vytvořte HTTP, DNS, TCP nebo push monitory.
- Nastavte Telegram a podle potřeby stavovou stránku.
- Nastavte aktualizace a externí zálohování adresáře s daty.
Co je Uptime Kuma?
Uptime Kuma je bezplatný nástroj s otevřeným zdrojovým kódem pro vlastní hosting. Jeho panel a historie kontrol se ukládají na vašem serveru.
Dokáže sledovat HTTP(S), TCP porty, ping, DNS, WebSocket, text a JSON v odpovědích, push signály a Docker kontejnery. Minimální interval kontroly je 20 sekund. K dispozici jsou také desítky kanálů upozornění, dvoufaktorové ověřování, grafy latence, kontrola TLS certifikátů a několik stavových stránek.
Jak odhalit chybu skrytou za 200 OK?
Běžná HTTP kontrola vidí pouze kód odpovědi. Webový server však může zobrazit prázdnou stránku nebo chybovou obrazovku aplikace a přitom vrátit úspěšný stav.
Pro přesnější monitoring použijte:
- Keyword — hledá očekávanou frázi, například název webu nebo text „Panel účtu“;
- JSON Query — kontroluje hodnotu v odpovědi API, například
status: healthy.
Monitor tak nepotvrzuje pouze dostupnost portu, ale také přítomnost alespoň jednoho očekávaného znaku správného fungování aplikace.
Push monitor pro zálohy a cron úlohy
Push monitor službu neprohledává. Místo toho čeká na pravidelný signál přímo od služby. Skript zálohování nebo cron úloha po úspěšném dokončení zavolá jedinečnou URL. Pokud signál nedorazí včas, Uptime Kuma oznámí chybu.
To pomáhá odhalit „tichý“ problém: web stále funguje, ale několik dní už se nevytvořila denní záloha.
Co Uptime Kuma nenahrazuje?
Uptime Kuma sleduje především dostupnost a dobu odezvy. Pro monitoring CPU, RAM, disku, logů a metrik kontejnerů ho doplňte Prometheem, Netdatou, Zabbixem nebo jiným monitorovacím systémem: Kuma si problému všimne zvenku, zatímco metriky pomohou určit jeho příčinu.
Proč má monitoring běžet na samostatném VPS?
Pokud Uptime Kuma nainstalujete vedle webu, výpadek VPS, sítě nebo datacentra vyřadí projekt i monitorovací systém. Upozornění se nemusí odeslat.
Panel umístěte na samostatný VPS a u důležitých projektů zvolte jiné místo nebo jiného poskytovatele. Užitečné je také externě sledovat samotné Kuma: někdo musí kontrolovat i monitorovací systém.
Požadavky Uptime Kuma na server
Projekt nestanovuje přísné oficiální minimum CPU a RAM. Praktická výchozí konfigurace pro malou instalaci:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD;
- Ubuntu 24.04 LTS;
- IPv4;
- doména nebo subdoména pro HTTPS.
Tato konfigurace obvykle stačí na několik desítek jednoduchých kontrol. Pro stovky monitorů, dlouhodobé uchovávání historie nebo kontroly přes prohlížeč zvolte 2 GB RAM nebo více.
Jak nainstalovat Uptime Kuma na VPS
V příkladu používáme Ubuntu 24.04 a subdoménu monitor.example.com.
1. Nastavte DNS a firewall
Vytvořte DNS záznam typu A, který ukazuje na IPv4 adresu VPS. Připojte se přes SSH a otevřete potřebné porty:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enableAktuální SSH relaci nezavírejte, dokud neověříte nové připojení.
2. Nainstalujte Docker a Docker Compose
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Spusťte Uptime Kuma 2
mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma
cat > compose.yaml <<'EOF'
services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
docker compose psPoužijte tag :2: latest stále odkazuje na zastaralou větev v1. Adresář /app/data musí být uložen na lokálním disku nebo v běžném Docker volume. NFS a úložné systémy bez správného zamykání souborů mohou poškodit databázi.
Port 3001 je dostupný pouze na 127.0.0.1. Reverzní proxy s HTTPS zpřístupní panel zvenku.
4. Zapněte HTTPS pomocí Caddy
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
monitor.example.com {
reverse_proxy 127.0.0.1:3001
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyPokud DNS ukazuje na VPS, Caddy automaticky vyžádá TLS certifikát a bude proxyovat WebSocket připojení. Panel umístěte do kořene domény nebo subdomény: adresa typu example.com/kuma není podporována.
5. Vytvořte účet administrátora
Otevřete https://monitor.example.com, vytvořte účet s dlouhým jedinečným heslem a zapněte dvoufaktorové ověřování.
Jak přidat první monitor?
Klikněte na Add New Monitor a vyberte HTTP(s):
- Zadejte název a úplnou URL.
- Nastavte interval, například 60 sekund.
- Přidejte dva opakované pokusy, aby krátké výpadky sítě nevyvolaly falešný poplach.
- Vyberte kanál upozornění.
- Uložte monitor a ověřte, že se zobrazují úspěšné kontroly.
Pro hlavní web jsou užitečné HTTP kontroly a Keyword. Pro API použijte health-endpoint a JSON Query. Neotevírejte databáze nebo administrativní porty do internetu jen kvůli monitoringu; použijte důvěryhodnou síť nebo VPN.
Příklad Push monitoru pro zálohu
Po vytvoření monitoru Push přidejte jeho jedinečnou URL na konec skriptu:
backup-command && \
curl -fsS "https://monitor.example.com/api/push/SECRET_TOKEN?status=up&msg=backup-ok"Požadavek se provede pouze po úspěšném dokončení zálohy. S tokenem push zacházejte jako s heslem: kdokoli, kdo zná URL, může odeslat falešný signál.
Jak připojit Telegram?
Vytvořte bota přes @BotFather, pošlete mu zprávu a potom otevřete Settings → Notifications → Telegram. Zadejte Bot Token a Chat ID, klikněte na Test a přiřaďte kanál svým monitorům. U kritických služeb přidejte druhý kanál, například e-mail.
Jak vytvořit stavovou stránku?
V části Status Pages můžete monitory seskupit, zobrazit aktuální stav a historii dostupnosti, přiřadit doménu a prostřednictvím Maintenance informovat o plánovaných pracích. Nezveřejňujte interní IP adresy ani technické URL: zákazníci potřebují pouze komponenty jako „Web“, „API“, „Panel účtu“ a „Platby“.
Aktualizace a zálohování Uptime Kuma
Před větší aktualizací zastavte kontejner a uložte adresář s daty:
cd /opt/uptime-kuma
docker compose down
tar -czf /root/uptime-kuma-$(date +%F).tar.gz \
data compose.yaml
docker compose up -dArchiv přesuňte na jiné zařízení nebo do externího úložiště. Kopie na stejném VPS neochrání před smazáním serveru ani poruchou disku.
Pro běžnou aktualizaci:
cd /opt/uptime-kuma
docker compose pull
docker compose up -d --force-recreatePo spuštění zkontrolujte docker compose ps, otevřete panel a odešlete testovací upozornění.
Jaký VPS zvolit pro Uptime Kuma?
Malá instalace potřebuje Linux VPS s 1 vCPU a 1 GB RAM. Nezávislost je důležitější než maximální výkon: monitor musí fungovat i ve chvíli, kdy hlavní projekt není dostupný.
Uptime Kuma můžete umístit na VPS od tropic.host, pokud jsou sledované služby na jiné platformě nebo nezávislém uzlu. Ubuntu, Docker a statická IP umožní panel rychle spustit a zdroje lze navyšovat podle růstu počtu kontrol.
Pokud production už běží ve stejné infrastruktuře, zvolte jiný uzel nebo přidejte externí monitoring. Oddělení domén selhání je užitečnější než přidání dalšího CPU jádra.
Časté chyby
| Chyba | Proč je to problém | Lepší přístup |
|---|---|---|
| Monitoring běží vedle projektu | Společný výpadek vyřadí službu i upozornění | Použít samostatný VPS nebo platformu |
Port 3001 je otevřený do internetu | Panel je dostupný bez reverzní proxy nebo HTTPS | Navázat port na 127.0.0.1 |
Kontroluje se pouze stavový kód 200 | Chyba aplikace může vypadat jako úspěšná odpověď | Přidat Keyword nebo JSON Query |
Používá se tag latest | Odkazuje na zastaralou větev v1 | Použít louislam/uptime-kuma:2 |
| Záloha je uložena na stejném VPS | Zmizí spolu se serverem | Kopírovat adresář data jinam |
Shrnutí
Uptime Kuma promění malý VPS ve vlastní centrum monitoringu webů, API, DNS, portů, certifikátů a úloh na pozadí. Keyword pomůže odhalit rozbitou stránku, JSON Query nesprávnou odpověď API a Push zastavené zálohování nebo cron úlohu.
Pro spolehlivou konfiguraci umístěte monitorovací systém odděleně od production, uzavřete port 3001, zapněte HTTPS a 2FA a nastavte dva kanály upozornění. Poté organizujte externí zálohování adresáře s daty a nezávisle kontrolujte i samotné Uptime Kuma.
FAQ
Je Uptime Kuma zdarma?
Ano. Projekt má otevřený zdrojový kód a je distribuován pod licencí MIT. Platíte pouze za infrastrukturu, doménu a externí zálohy.
Kolik RAM Uptime Kuma potřebuje?
Pro malou instalaci je rozumné začít s 1 GB RAM. Pro stovky kontrol, dlouhé uchovávání historie nebo Browser Engine vyčleňte 2 GB či více.
Lze Uptime Kuma nainstalovat bez Dockeru?
Ano, pomocí Node.js a PM2. Docker Compose se však obvykle snáze aktualizuje, přenáší a obnovuje na VPS.
Lze Uptime Kuma používat bez domény?
Technicky ano — přes IP adresu nebo SSH tunel. Pro trvalý přístup z internetu je bezpečnější použít subdoménu s HTTPS.
Zobrazuje Uptime Kuma využití CPU, RAM a disku?
Ne jako plnohodnotný systém serverových metrik. Pro monitoring zdrojů serveru doplňte Uptime Kuma Prometheem, Netdatou, Zabbixem nebo jiným specializovaným nástrojem.
