Tropic Host

Uptime Kuma pe VPS: cum configurezi monitorizarea site-urilor și serverelor

7 min citire
Tropic
Uptime Kuma pe VPS: cum configurezi monitorizarea site-urilor și serverelor

Language: ro

Uptime Kuma: configurează propria monitorizare a site-ului pe VPS

Un site se poate defecta și totuși să returneze 200 OK. Și backupul se poate opri fără o eroare evidentă. Uptime Kuma detectează ambele probleme: verifică site-uri, API-uri, porturi și sarcini de fundal, apoi trimite o notificare când ceva nu funcționează corect.

În continuare vom vedea unde trebuie găzduit sistemul de monitorizare, de ce VPS are nevoie și cum instalezi Uptime Kuma 2, activezi HTTPS, conectezi Telegram și creezi o pagină de status.

Uptime Kuma în șapte pași

  1. Alocă un VPS mic, separat de proiectele care vor fi monitorizate.
  2. Direcționează către el un subdomeniu, de exemplu monitor.example.com.
  3. Instalează Docker și pornește Uptime Kuma 2.
  4. Închide portul intern 3001 și activează HTTPS.
  5. Creează monitoare HTTP, DNS, TCP sau push.
  6. Configurează Telegram și, dacă este necesar, o pagină de status.
  7. Configurează actualizările și backupul extern al directorului cu date.

Ce este Uptime Kuma?

Uptime Kuma este un instrument gratuit, open-source, care poate fi găzduit pe propriul server. Panoul și istoricul verificărilor sunt păstrate pe serverul tău.

Poate monitoriza HTTP(S), porturi TCP, ping, DNS, WebSocket, text și JSON din răspunsuri, semnale push și containere Docker. Intervalul minim de verificare este de 20 de secunde. Sunt disponibile și zeci de canale de notificare, autentificare cu doi factori, grafice de latență, controlul certificatelor TLS și mai multe pagini de status.

Cum detectezi o eroare ascunsă în spatele lui 200 OK?

O verificare HTTP obișnuită vede doar codul răspunsului. Un server web poate afișa însă o pagină goală sau un ecran cu eroarea aplicației și, în același timp, să returneze un status de succes.

Pentru o monitorizare mai precisă, folosește:

  • Keyword — caută expresia așteptată, de exemplu numele site-ului sau textul „Panoul contului”;
  • JSON Query — verifică o valoare din răspunsul API, de exemplu status: healthy.

Astfel, monitorul confirmă nu doar disponibilitatea portului, ci și existența cel puțin a unui indiciu așteptat că aplicația funcționează corect.

Monitor push pentru backupuri și sarcini cron

Un monitor push nu interoghează serviciul. În schimb, așteaptă un semnal regulat trimis chiar de serviciu. Scriptul de backup sau sarcina cron apelează un URL unic după finalizarea cu succes. Dacă semnalul nu ajunge la timp, Uptime Kuma raportează o eroare.

Acest lucru ajută la detectarea unei probleme „tăcute”: site-ul funcționează în continuare, dar backupul zilnic nu a mai fost creat de câteva zile.

Ce nu înlocuiește Uptime Kuma?

Uptime Kuma urmărește în primul rând disponibilitatea și timpul de răspuns. Pentru monitorizarea CPU, RAM, discului, logurilor și metricilor containerelor, completează-l cu Prometheus, Netdata, Zabbix sau un alt sistem de monitorizare: Kuma observă problema din exterior, iar metricile ajută la identificarea cauzei.

De ce monitorizarea trebuie să ruleze pe un VPS separat?

Dacă instalezi Uptime Kuma lângă site, o defecțiune a VPS-ului, a rețelei sau a centrului de date va dezactiva atât proiectul, cât și sistemul de monitorizare. Notificarea poate să nu mai fie trimisă.

Plasează panoul pe un VPS separat, iar pentru proiectele importante alege un alt loc sau un alt furnizor. Este util să monitorizezi extern și Kuma: cineva trebuie să controleze și sistemul de monitorizare.

Cerințele Uptime Kuma pentru server

Proiectul nu stabilește un minim oficial strict pentru CPU și RAM. O configurație practică de pornire pentru o instalare mică este:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • IPv4;
  • domeniu sau subdomeniu pentru HTTPS.

De obicei, această configurație este suficientă pentru câteva zeci de verificări simple. Pentru sute de monitoare, păstrarea pe termen lung a istoricului sau verificări prin browser, alege 2 GB RAM sau mai mult.

Cum instalezi Uptime Kuma pe VPS

În exemplu sunt folosite Ubuntu 24.04 și subdomeniul monitor.example.com.

1. Configurează DNS și firewallul

Creează o înregistrare DNS de tip A care indică adresa IPv4 a VPS-ului. Conectează-te prin SSH și deschide porturile necesare:

ssh root@SERVER_IP
apt update && apt upgrade -y

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable

Nu închide sesiunea SSH curentă până nu verifici noua conexiune.

2. Instalează Docker și 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. Porneș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

Folosește tagul :2: latest indică în continuare ramura veche v1. Directorul /app/data trebuie păstrat pe discul local sau într-un Docker volume obișnuit. NFS și sistemele de stocare fără blocare corectă a fișierelor pot deteriora baza de date.

Portul 3001 este disponibil doar pe 127.0.0.1. Un proxy invers cu HTTPS va publica panoul în exterior.

4. Activează HTTPS cu 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

Dacă DNS indică VPS-ul, Caddy va solicita automat un certificat TLS și va proxia conexiunile WebSocket. Plasează panoul în rădăcina domeniului sau a subdomeniului: o adresă precum example.com/kuma nu este acceptată.

5. Creează contul de administrator

Deschide https://monitor.example.com, creează un cont cu o parolă lungă și unică și activează autentificarea cu doi factori.

Cum adaugi primul monitor?

Apasă Add New Monitor și alege HTTP(s):

  1. Introdu numele și URL-ul complet.
  2. Setează intervalul, de exemplu 60 de secunde.
  3. Adaugă două încercări repetate pentru a ține cont de întreruperile scurte ale rețelei.
  4. Alege canalul de notificare.
  5. Salvează monitorul și verifică dacă apar verificări reușite.

Pentru site-ul principal sunt utile verificările HTTP și Keyword. Pentru API, folosește health-endpoint și JSON Query. Nu expune baze de date sau porturi administrative pe internet doar pentru monitorizare; folosește o rețea de încredere sau un VPN.

Exemplu de monitor push pentru backup

După crearea monitorului Push, adaugă URL-ul său unic la finalul scriptului:

backup-command && \
  curl -fsS "https://monitor.example.com/api/push/SECRET_TOKEN?status=up&msg=backup-ok"

Cererea se execută numai după finalizarea cu succes a backupului. Tratează tokenul push ca pe o parolă: oricine cunoaște URL-ul poate trimite un semnal fals.

Cum conectezi Telegram?

Creează un bot prin @BotFather, trimite-i un mesaj, apoi deschide Settings → Notifications → Telegram. Introdu Bot Token și Chat ID, apasă Test și atribuie canalul monitoarelor. Pentru serviciile critice adaugă un al doilea canal, de exemplu e-mailul.

Cum creezi o pagină de status?

În secțiunea Status Pages poți grupa monitoarele, afișa statusul curent și istoricul disponibilității, atribui un domeniu și anunța lucrările planificate prin Maintenance. Nu publica adrese IP interne sau URL-uri tehnice: clienții au nevoie doar de componente precum „Site”, „API”, „Panoul contului” și „Plăți”.

Actualizarea și backupul Uptime Kuma

Înainte de o actualizare majoră, oprește containerul și salvează directorul cu date:

cd /opt/uptime-kuma
docker compose down

tar -czf /root/uptime-kuma-$(date +%F).tar.gz \
  data compose.yaml

docker compose up -d

Mută arhiva pe un alt dispozitiv sau într-un spațiu de stocare extern. O copie păstrată pe același VPS nu te protejează de ștergerea serverului sau de defectarea discului.

Pentru o actualizare obișnuită:

cd /opt/uptime-kuma
docker compose pull
docker compose up -d --force-recreate

După pornire verifică docker compose ps, deschide panoul și trimite o notificare de test.

Ce VPS să alegi pentru Uptime Kuma?

O instalare mică are nevoie de un Linux VPS cu 1 vCPU și 1 GB RAM. Independența este mai importantă decât performanța maximă: monitorul trebuie să continue să funcționeze atunci când proiectul principal nu este disponibil.

Poți găzdui Uptime Kuma pe un VPS de la tropic.host dacă serviciile monitorizate sunt pe o altă platformă sau pe un nod independent. Ubuntu, Docker și un IP static permit pornirea rapidă a panoului, iar resursele pot fi mărite pe măsură ce crește numărul de verificări.

Dacă production rulează deja în aceeași infrastructură, alege un alt nod sau adaugă monitorizare externă. Separarea domeniilor de defectare este mai utilă decât adăugarea unui alt nucleu CPU.

Greșeli frecvente

GreșealăDe ce este o problemăAbordarea recomandată
Monitorizarea rulează lângă proiectO defecțiune comună va opri atât serviciul, cât și notificărileFolosește un VPS sau o platformă separată
Portul 3001 este deschis pe internetPanoul este accesibil fără proxy invers sau HTTPSLeagă portul de 127.0.0.1
Se verifică doar codul de status 200O eroare a aplicației poate arăta ca un răspuns reușitAdaugă Keyword sau JSON Query
Este folosit tagul latestAcesta indică ramura veche v1Folosește louislam/uptime-kuma:2
Backupul este păstrat pe același VPSVa dispărea odată cu serverulCopiază directorul data în alt loc

Concluzie

Uptime Kuma transformă un VPS mic într-un centru propriu de monitorizare pentru site-uri, API-uri, DNS, porturi, certificate și sarcini de fundal. Keyword ajută la detectarea unei pagini defecte, JSON Query identifică un răspuns API incorect, iar Push arată că backupul sau sarcina cron s-a oprit.

Pentru o configurație fiabilă, plasează sistemul de monitorizare separat de production, închide portul 3001, activează HTTPS și 2FA și configurează două canale de notificare. Apoi organizează un backup extern al directorului cu date și verifică independent chiar și Uptime Kuma.

FAQ

Este Uptime Kuma gratuit?

Da. Proiectul este open-source și este distribuit sub licența MIT. Plătești doar infrastructura, domeniul și backupurile externe.

De cât RAM are nevoie Uptime Kuma?

Pentru o instalare mică, este rezonabil să începi cu 1 GB RAM. Pentru sute de verificări, păstrarea îndelungată a istoricului sau Browser Engine, alocă 2 GB sau mai mult.

Se poate instala Uptime Kuma fără Docker?

Da, folosind Node.js și PM2. Totuși, Docker Compose este de obicei mai ușor de actualizat, mutat și restaurat pe VPS.

Se poate folosi Uptime Kuma fără domeniu?

Tehnic, da — printr-o adresă IP sau un tunel SSH. Pentru acces permanent din internet este mai sigur să folosești un subdomeniu cu HTTPS.

Afișează Uptime Kuma încărcarea CPU, RAM și a discului?

Nu ca sistem complet de metrici pentru server. Pentru monitorizarea resurselor serverului, completează Uptime Kuma cu Prometheus, Netdata, Zabbix sau un alt instrument specializat.