Tropic Host

Uptime Kuma na VPS: jak nastavit monitoring webů a serverů

7 min čtení
Tropic
Uptime Kuma na VPS: jak nastavit monitoring webů a serverů

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

  1. Vyhraďte malý VPS odděleně od projektů, které budou monitorovány.
  2. Nasměrujte na něj subdoménu, například monitor.example.com.
  3. Nainstalujte Docker a spusťte Uptime Kuma 2.
  4. Uzavřete interní port 3001 a zapněte HTTPS.
  5. Vytvořte HTTP, DNS, TCP nebo push monitory.
  6. Nastavte Telegram a podle potřeby stavovou stránku.
  7. 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 enable

Aktuá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 version

3. 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 ps

Použ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 caddy

Pokud 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):

  1. Zadejte název a úplnou URL.
  2. Nastavte interval, například 60 sekund.
  3. Přidejte dva opakované pokusy, aby krátké výpadky sítě nevyvolaly falešný poplach.
  4. Vyberte kanál upozornění.
  5. 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 -d

Archiv 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-recreate

Po 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

ChybaProč je to problémLepší přístup
Monitoring běží vedle projektuSpolečný výpadek vyřadí službu i upozorněníPoužít samostatný VPS nebo platformu
Port 3001 je otevřený do internetuPanel je dostupný bez reverzní proxy nebo HTTPSNavázat port na 127.0.0.1
Kontroluje se pouze stavový kód 200Chyba aplikace může vypadat jako úspěšná odpověďPřidat Keyword nebo JSON Query
Používá se tag latestOdkazuje na zastaralou větev v1Použít louislam/uptime-kuma:2
Záloha je uložena na stejném VPSZmizí spolu se serveremKopí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.