Language: hu
Uptime Kuma: saját webhelymonitorozás beállítása VPS-en
Egy webhely úgy is meghibásodhat, hogy közben 200 OK választ ad. A biztonsági mentés is leállhat látható hiba nélkül. Az Uptime Kuma mindkét problémát felismeri: webhelyeket, API-kat, portokat és háttérfeladatokat ellenőriz, majd értesítést küld, ha valami nem működik.
Megnézzük, hol érdemes elhelyezni a monitorozórendszert, milyen VPS-re van szükség, és hogyan telepíthető az Uptime Kuma 2, hogyan kapcsolható be a HTTPS, a Telegram, valamint a státuszoldal.
Uptime Kuma hét lépésben
Az alapbeállítás röviden a következő:
- Telepítse az Uptime Kumát a szükséges számítógépekre.
- Irányítsa rá az aldomaint, például a
monitor.example.comcímet. - Telepítse a Dockert, és indítsa el az Uptime Kuma 2-t VPS-en.
- Nyissa meg a szerver kezelőfelületét SSH-alagúton keresztül.
- Zárja le a belső portot
3001, és kapcsolja be a HTTPS-t. - Állítson be HTTP-, DNS-, TCP- vagy push-monitorokat.
- Állítsa be a Telegramot, a státuszoldalt, a frissítéseket és az adatokat tartalmazó könyvtár külső biztonsági mentését.
Mi az Uptime Kuma?
Az Uptime Kuma ingyenes, nyílt forráskódú, saját üzemeltetésű eszköz. A kezelőfelület és az ellenőrzések előzményei az Ön szerverén maradnak.
Képes HTTP(S)-t, TCP-portokat, pinget, DNS-t, WebSocketet, a válaszokban található szöveget és JSON-t, push-jelzéseket, valamint Docker-konténereket figyelni. A legkisebb ellenőrzési időköz 20 másodperc. Több tucat értesítési csatorna, kétfaktoros hitelesítés, késleltetési grafikonok, TLS-tanúsítvány-ellenőrzés és több státuszoldal is rendelkezésre áll.
Hogyan ismerhető fel a 200 OK mögött rejtőző hiba?
A szokásos HTTP-ellenőrzés csak a válaszkódot látja. A webszerver azonban üres oldalt vagy alkalmazáshibát jelző képernyőt is megjeleníthet úgy, hogy közben sikeres státuszt küld.
A pontosabb monitorozáshoz használja a következőket:
- Keyword — egy elvárt kifejezést keres, például a webhely nevét vagy a „Fiók kezelőfelülete” szöveget;
- JSON Query — egy API-válasz értékét ellenőrzi, például a
status: healthyértéket.
Így a monitor nemcsak azt igazolja, hogy a port elérhető, hanem azt is, hogy az alkalmazás legalább egy várt jelet ad a helyes működésről.
Push-monitor biztonsági mentésekhez és cron-feladatokhoz
A push-monitor nem kérdezi le a szolgáltatást. Ehelyett magától a szolgáltatástól vár rendszeres jelzést. A biztonsági mentést végző szkript vagy cron-feladat sikeres befejezés után meghív egy egyedi URL-t. Ha a jelzés nem érkezik meg időben, az Uptime Kuma hibát jelez.
Ez a „csendes” problémák felismerésében segít: a webhely továbbra is működik, a napi biztonsági mentés azonban már napok óta nem készül el.
Mit nem helyettesít az Uptime Kuma?
Az Uptime Kuma elsősorban az elérhetőséget és a válaszidőt figyeli. A CPU, a RAM, a lemez, a naplók és a konténerek metrikáinak monitorozásához egészítse ki Prometheusszal, Netdata-val, Zabbixszal vagy más rendszerrel: a Kuma kívülről észleli a problémát, a metrikák pedig segítenek megtalálni az okát.
Miért külön VPS-en fusson a monitorozás?
Ha az Uptime Kumát a webhely mellé telepíti, a VPS, a hálózat vagy az adatközpont meghibásodása egyszerre kapcsolja le a projektet és a monitorozórendszert. Az értesítés sem biztos, hogy elküldhető.
A kezelőfelületet külön VPS-en helyezze el, a fontos projekteket pedig lehetőleg másik helyen vagy másik szolgáltatónál futtassa. Hasznos lehet magát a Kumát is külső szolgáltatással figyelni: valakinek a monitorozórendszert is ellenőriznie kell.
Az Uptime Kuma szerverkövetelményei
A projekt nem határoz meg szigorú hivatalos minimumot a CPU-ra és a RAM-ra. Egy kisebb telepítés praktikus kezdőkonfigurációja:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD;
- Ubuntu 24.04 LTS;
- IPv4;
- domain vagy aldomain HTTPS-hez.
Ez a konfiguráció általában elegendő néhány tucat egyszerű ellenőrzéshez. Több száz monitor, hosszú előzménymegőrzés vagy böngészőn keresztüli ellenőrzés esetén válasszon legalább 2 GB RAM-ot.
Az Uptime Kuma telepítése VPS-en
A példában Ubuntu 24.04-et és a monitor.example.com aldomaint használjuk.
1. DNS és tűzfal beállítása
Hozzon létre egy A DNS-rekordot, amely a VPS IPv4-címére mutat. Csatlakozzon SSH-n keresztül, majd nyissa meg a szükséges portokat:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enableNe zárja be a jelenlegi SSH-munkamenetet, amíg nem ellenőrizte az új kapcsolatot.
2. Docker és Docker Compose telepítése
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. Uptime Kuma 2 indítása
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 psA :2 taget használja: a latest továbbra is az elavult v1-es ágra mutat. Az /app/data könyvtárat helyi lemezen vagy hagyományos Docker volume-ban kell tárolni. Az NFS és a helyes fájlzárolást nem biztosító tárolórendszerek károsíthatják az adatbázist.
A 3001 port csak a 127.0.0.1 címen érhető el. Egy HTTPS-t használó reverse proxy kívülről is elérhetővé teszi a kezelőfelületet.
4. HTTPS bekapcsolása Caddyvel
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 caddyHa a DNS a VPS-re mutat, a Caddy automatikusan TLS-tanúsítványt kér, és továbbítja a WebSocket-kapcsolatokat. A kezelőfelületet a domain vagy az aldomain gyökerében helyezze el: az olyan cím, mint az example.com/kuma, nem támogatott.
5. Rendszergazdai fiók létrehozása
Nyissa meg a https://monitor.example.com címet, hozzon létre hosszú, egyedi jelszót használó fiókot, majd kapcsolja be a kétfaktoros hitelesítést.
Az első monitor hozzáadása
Kattintson az Add New Monitor gombra, és válassza a HTTP(s) típust:
- Adja meg a nevet és a teljes URL-t.
- Állítson be egy időközt, például 60 másodpercet.
- Adjon hozzá két újrapróbálkozást a rövid hálózati kimaradások kezelésére.
- Válasszon értesítési csatornát.
- Mentse a monitort, és ellenőrizze, hogy megjelennek-e a sikeres ellenőrzések.
A fő webhelyhez hasznos a HTTP- és Keyword-ellenőrzés. API esetén használjon health-endpointot és JSON Query-t. Ne tegye közzé az adatbázisokat vagy az adminisztrációs portokat az Interneten csak a monitorozás miatt; használjon megbízható hálózatot vagy VPN-t.
Példa push-monitorra biztonsági mentéshez
Miután létrehozta a Push-monitort, adja hozzá az egyedi URL-jét a szkript végéhez:
backup-command && \
curl -fsS "https://monitor.example.com/api/push/SECRET_TOKEN?status=up&msg=backup-ok"A kérés csak sikeres biztonsági mentés után fut le. A push-tokent kezelje jelszóként: bárki, aki ismeri az URL-t, hamis jelzést küldhet.
Telegram csatlakoztatása
Hozzon létre botot a @BotFather segítségével, küldjön neki üzenetet, majd nyissa meg a Settings → Notifications → Telegram menüt. Adja meg a Bot Tokent és a Chat ID-t, kattintson a Test gombra, végül rendelje a csatornát a monitorokhoz. Kritikus szolgáltatásokhoz adjon hozzá második csatornát, például e-mailt.
Státuszoldal létrehozása
A Status Pages részben csoportosíthatja a monitorokat, megjelenítheti az aktuális állapotot és az elérhetőség előzményeit, domaint rendelhet hozzá, illetve a Maintenance segítségével tájékoztathat a tervezett munkákról. Ne tegye közzé a belső IP-címeket vagy technikai URL-eket: az ügyfeleknek csak olyan elemekre van szükségük, mint a „Webhely”, az „API”, a „Fiók kezelőfelülete” és a „Fizetés”.
Az Uptime Kuma frissítése és biztonsági mentése
Nagyobb frissítés előtt állítsa le a containert, és mentse el az adatokat tartalmazó könyvtárat:
cd /opt/uptime-kuma
docker compose down
tar -czf /root/uptime-kuma-$(date +%F).tar.gz \
data compose.yaml
docker compose up -dHelyezze át az archívumot másik eszközre vagy külső tárhelyre. Az ugyanazon a VPS-en lévő másolat nem véd a szerver törlése vagy a lemez meghibásodása ellen.
Normál frissítéshez:
cd /opt/uptime-kuma
docker compose pull
docker compose up -d --force-recreateAz indítás után ellenőrizze a docker compose ps kimenetét, nyissa meg a kezelőfelületet, és küldjön tesztértesítést.
Milyen VPS-t válasszon az Uptime Kumához?
Egy kisebb telepítéshez 1 vCPU-val és 1 GB RAM-mal rendelkező Linux VPS is elegendő. A függetlenség fontosabb a maximális teljesítménynél: a monitornak akkor is működnie kell, amikor a fő projekt nem érhető el.
Az Uptime Kuma a tropic.host VPS-én is elhelyezhető, ha a figyelt szolgáltatások másik platformon vagy független csomóponton működnek. Az Ubuntu, a Docker és a statikus IP-cím gyorsan elindítható kezelőfelületet biztosít, az erőforrások pedig a monitorok számának növekedésével bővíthetők.
Ha a production ugyanabban az infrastruktúrában fut, válasszon másik csomópontot, vagy adjon hozzá külső monitorozást. A hibadomainek szétválasztása többet ér, mint egy újabb CPU-mag hozzáadása.
Gyakori hibák
| Hiba | Miért probléma? | Jobb megközelítés |
|---|---|---|
| A monitorozás a projekttel együtt fut | Egy közös hiba leállítja a szolgáltatást és az értesítéseket is | Használjon külön VPS-t vagy külön platformot |
A 3001 port nyitva van az Interneten | A kezelőfelület reverse proxy és HTTPS nélkül érhető el | Kösse a portot a 127.0.0.1 címhez |
Csak a 200 státuszkódot ellenőrzi | Az alkalmazás hibája sikeres válasznak tűnhet | Adjon hozzá Keyword- vagy JSON Query-ellenőrzést |
A latest taget használja | Az elavult v1-es ágra mutat | Használja a louislam/uptime-kuma:2 taget |
| A biztonsági mentés ugyanazon a VPS-en marad | A szerverrel együtt elveszik | Másolja a data könyvtárat másik helyre |
Összegzés
Az Uptime Kuma egy kisebb VPS-t saját monitorozóközponttá alakít webhelyek, API-k, DNS, portok, tanúsítványok és háttérfeladatok számára. A Keyword felismeri a hibás oldalt, a JSON Query a hibás API-választ, a Push pedig a leállt biztonsági mentést vagy cron-feladatot.
Megbízható konfigurációhoz a monitorozórendszert a productiontől külön helyen futtassa, zárja le a 3001 portot, kapcsolja be a HTTPS-t és a 2FA-t, majd állítson be két értesítési csatornát. Ezután szervezze meg az adatokat tartalmazó könyvtár külső biztonsági mentését és magának az Uptime Kumának a független ellenőrzését.
FAQ
Ingyenes az Uptime Kuma?
Igen. A projekt nyílt forráskódú, és MIT-licenc alatt terjesztik. Csak az infrastruktúráért, a domainért és a külső biztonsági mentésekért kell fizetni.
Mennyi RAM-ra van szüksége az Uptime Kumának?
Kisebb telepítéshez érdemes 1 GB RAM-mal kezdeni. Több száz ellenőrzéshez, hosszú előzménymegőrzéshez vagy a Browser Engine használatához legalább 2 GB-ot biztosítson.
Telepíthető az Uptime Kuma Docker nélkül?
Igen, Node.js és PM2 segítségével. A Docker Compose azonban általában egyszerűbben frissíthető, költöztethető és állítható helyre VPS-en.
Használható az Uptime Kuma domain nélkül?
Technikailag igen, IP-címen vagy SSH-alagúton keresztül. Állandó internetes hozzáféréshez biztonságosabb HTTPS-t használó aldomaint beállítani.
Megjeleníti az Uptime Kuma a CPU, a RAM és a lemez terhelését?
Nem teljes értékű szervermetrika-rendszerként. A szervererőforrások monitorozásához egészítse ki az Uptime Kumát Prometheusszal, Netdata-val, Zabbixszal vagy más erre szolgáló eszközzel.
