Tropic Host

Uptime Kuma VPS-en: webhelyek és szerverek monitorozásának beállítása

7 perc olvasás
Tropic
Uptime Kuma VPS-en: webhelyek és szerverek monitorozásának beállítása

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ő:

  1. Telepítse az Uptime Kumát a szükséges számítógépekre.
  2. Irányítsa rá az aldomaint, például a monitor.example.com címet.
  3. Telepítse a Dockert, és indítsa el az Uptime Kuma 2-t VPS-en.
  4. Nyissa meg a szerver kezelőfelületét SSH-alagúton keresztül.
  5. Zárja le a belső portot 3001, és kapcsolja be a HTTPS-t.
  6. Állítson be HTTP-, DNS-, TCP- vagy push-monitorokat.
  7. Á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 enable

Ne 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 version

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

A :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 caddy

Ha 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:

  1. Adja meg a nevet és a teljes URL-t.
  2. Állítson be egy időközt, például 60 másodpercet.
  3. Adjon hozzá két újrapróbálkozást a rövid hálózati kimaradások kezelésére.
  4. Válasszon értesítési csatornát.
  5. 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 -d

Helyezze á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-recreate

Az 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

HibaMiért probléma?Jobb megközelítés
A monitorozás a projekttel együtt futEgy közös hiba leállítja a szolgáltatást és az értesítéseket isHasználjon külön VPS-t vagy külön platformot
A 3001 port nyitva van az InternetenA kezelőfelület reverse proxy és HTTPS nélkül érhető elKösse a portot a 127.0.0.1 címhez
Csak a 200 státuszkódot ellenőrziAz alkalmazás hibája sikeres válasznak tűnhetAdjon hozzá Keyword- vagy JSON Query-ellenőrzést
A latest taget használjaAz elavult v1-es ágra mutatHasználja a louislam/uptime-kuma:2 taget
A biztonsági mentés ugyanazon a VPS-en maradA szerverrel együtt elveszikMá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.