Language: ro
Uptime Kuma: configurează propria monitorizare a site-ului pe un VPS
Un site se poate defecta și poate continua să returneze 200 OK. Un backup poate înceta să ruleze fără o eroare evidentă. Uptime Kuma detectează ambele situații: verifică site-uri, API-uri, porturi și joburi de fundal, apoi trimite o notificare când ceva nu funcționează.
Vom analiza unde să găzduiești sistemul de monitorizare, de ce fel de 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
- Alocă un VPS mic, separat de proiectele monitorizate.
- Direcționează către acesta o subdomeniu precum
monitor.example.com. - Instalează Docker și pornește Uptime Kuma 2.
- Închide portul intern
3001și activează HTTPS. - Creează monitoare HTTP, DNS, TCP sau push.
- Configurează Telegram și, când este necesar, o pagină de status.
- Configurează actualizările și un backup extern al directorului de date.
Ce este Uptime Kuma
Uptime Kuma este un instrument gratuit, open-source și self-hosted. Panoul și istoricul verificărilor sunt stocate pe propriul server.
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. Oferă și zeci de canale de notificare, 2FA, grafice de latență, monitorizarea certificatelor TLS și mai multe pagini de status.
Cum detectezi o defecțiune ascunsă în spatele lui 200 OK
O verificare HTTP de bază vede doar codul răspunsului. Totuși, un server web poate afișa o pagină goală sau un ecran de eroare al aplicației și să returneze în continuare un status de succes.
Pentru o monitorizare mai precisă, folosește:
- Keyword — caută o expresie așteptată, precum numele site-ului sau textul „Account dashboard”;
- JSON Query — verifică o valoare din răspunsul API, de exemplu
status: healthy.
Astfel, monitorul confirmă nu doar că portul este accesibil, ci și că aplicația afișează cel puțin un semn așteptat al funcționării corecte.
Monitor push pentru backupuri și joburi cron
Un monitor push nu interoghează un serviciu. În schimb, așteaptă un semnal periodic de la acel serviciu. Un script de backup sau un job cron apelează un URL unic după finalizarea cu succes. Dacă semnalul nu ajunge la timp, Uptime Kuma raportează o defecțiune.
Acest lucru ajută la detectarea unei probleme „tăcute”: site-ul încă funcționează, dar backupul zilnic nu a fost creat de câteva zile.
Ce nu înlocuiește Uptime Kuma
Uptime Kuma urmărește în principal disponibilitatea și timpul de răspuns. Pentru CPU, RAM, disc, loguri și metrici ale containerelor, completează-l cu Prometheus, Netdata, Zabbix sau un alt sistem de monitorizare: Kuma observă problema din exterior, în timp ce metricile ajută la identificarea cauzei.
De ce monitorizarea ar trebui să ruleze pe un VPS separat
Dacă Uptime Kuma este instalat lângă site, o defecțiune a VPS-ului, a rețelei sau a centrului de date poate opri atât proiectul, cât și sistemul de monitorizare. Notificarea poate să nu mai fie trimisă.
Găzduiește panoul pe un VPS separat și, pentru proiectele importante, într-o altă locație sau la un alt furnizor. Este util să monitorizezi și Kuma cu un serviciu extern: cineva trebuie să supravegheze și sistemul de monitorizare.
Cerințele serverului pentru Uptime Kuma
Proiectul nu definește un minim oficial strict pentru CPU și RAM. O configurație inițială practică pentru o instalare mică este:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD;
- Ubuntu 24.04 LTS;
- IPv4;
- un domeniu sau o subdomeniu pentru HTTPS.
Această configurație este de obicei suficientă pentru câteva zeci de verificări simple. Pentru sute de monitoare, păstrarea unui istoric lung sau verificări bazate pe browser, alege cel puțin 2 GB RAM.
Cum instalezi Uptime Kuma pe un VPS
Acest exemplu folosește Ubuntu 24.04 și subdomeniul monitor.example.com.
1. Configurează DNS-ul și firewall-ul
Creează un înregistrare DNS 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 enableNu închide sesiunea SSH curentă până când nu ai testat o conexiune nouă.
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 version3. 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 psFolosește eticheta :2: latest este încă atribuită ramurii învechite v1. Directorul /app/data trebuie stocat pe un disc local sau într-un volum Docker obișnuit. NFS și sistemele de stocare fără blocare corectă a fișierelor pot corupe baza de date.
Portul 3001 este accesibil doar pe 127.0.0.1. Un reverse proxy 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 caddyDacă DNS-ul indică VPS-ul, Caddy va solicita automat un certificat TLS și va proxy-ui conexiunile WebSocket. Găzduiește panoul la rădăcina unui domeniu sau a unei subdomenii: 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 selectează HTTP(s):
- Introdu un nume și URL-ul complet.
- Setează un interval, de exemplu 60 de secunde.
- Adaugă două reîncercări pentru a gestiona erorile ocazionale de rețea.
- Selectează un canal de notificare.
- Salvează monitorul și confirmă că apar verificări reușite.
Pentru site-ul principal sunt utile verificările HTTP și Keyword. Pentru un API, folosește un endpoint de health ș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 un backup
După ce creezi un monitor Push, adaugă URL-ul său unic la sfârșitul scriptului:
backup-command && \
curl -fsS "https://monitor.example.com/api/push/SECRET_TOKEN?status=up&msg=backup-ok"Cerererea rulează numai după un backup reușit. 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, precum e-mailul.
Cum creezi o pagină de status
În Status Pages, poți grupa monitoarele, afișa statusul actual și istoricul disponibilității, atribui un domeniu și raporta lucrările planificate prin Maintenance. Nu publica adrese IP interne sau URL-uri tehnice: clienții au nevoie doar de componente precum „Website”, „API”, „Account dashboard” și „Payments”.
Actualizarea și backupul Uptime Kuma
Înaintea unei actualizări majore, oprește containerul și salvează directorul de date:
cd /opt/uptime-kuma
docker compose down
tar -czf /root/uptime-kuma-$(date +%F).tar.gz \
data compose.yaml
docker compose up -dMută arhiva pe un alt dispozitiv sau într-o stocare externă. O copie 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-recreateDupă 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 doar de un VPS Linux cu 1 vCPU și 1 GB RAM. Independența contează mai mult decât performanța brută: monitorul trebuie să ruleze atunci când proiectul principal nu este disponibil.
Poți găzdui Uptime Kuma pe un VPS de la tropic.host atunci când serviciile monitorizate rulează pe o altă platformă sau pe un nod independent. Ubuntu, Docker și un IP static fac rapidă lansarea panoului, iar resursele pot fi mărite pe măsură ce crește numărul verificărilor.
Dacă producția rulează deja în aceeași infrastructură, alege un alt nod sau adaugă un monitor extern de backup. Separarea domeniilor de defecțiune este mai utilă decât adăugarea unui nucleu CPU.
Greșeli frecvente
| Greșeală | De ce este o problemă | Abordare mai bună |
|---|---|---|
| Monitorizarea rulează lângă proiect | O întrerupere comună oprește atât serviciul, cât și notificările | Folosește un VPS sau o locație separată |
Portul 3001 este expus public | Panoul este accesibil fără reverse proxy sau HTTPS | Leagă portul de 127.0.0.1 |
Este verificat doar statusul 200 | O eroare a aplicației poate arăta ca un succes | Adaugă Keyword sau JSON Query |
Este folosit tagul latest | Indică ramura învechită v1 | Folosește louislam/uptime-kuma:2 |
| Backupul este stocat pe același VPS | Va dispărea împreună cu serverul | Copiază directorul data în altă parte |
Rezumat
Uptime Kuma transformă un VPS mic într-un centru propriu de monitorizare pentru site-uri, API-uri, DNS, porturi, certificate și joburi de fundal. Keyword ajută la detectarea unei pagini defecte, JSON Query identifică un răspuns API incorect, iar Push arată că un backup sau un job cron s-a oprit.
Pentru o configurație fiabilă, găzduiește sistemul de monitorizare separat de producție, închide portul 3001, activează HTTPS și 2FA și configurează două canale de notificare. Apoi creează un backup extern al directorului de date și o verificare independentă a Uptime Kuma.
FAQ
Uptime Kuma este gratuit?
Da. Proiectul este open-source și distribuit sub licența MIT. Plătești doar infrastructura, domeniul și backupurile externe.
De câtă memorie RAM are nevoie Uptime Kuma?
Pentru o instalare mică, 1 GB RAM este un punct de pornire rezonabil. Pentru sute de verificări, păstrarea unui istoric lung sau Browser Engine, alocă cel puțin 2 GB.
Poate fi instalat Uptime Kuma fără Docker?
Da, folosind Node.js și PM2. Totuși, Docker Compose este de obicei mai ușor de actualizat, migrat și restaurat pe un VPS.
Poate fi folosit Uptime Kuma fără domeniu?
Tehnic, da — prin adresa IP sau un tunel SSH. Pentru acces permanent de pe internet, o subdomeniu cu HTTPS este mai sigură.
Afișează Uptime Kuma utilizarea CPU, RAM și discul?
Nu ca un sistem complet de metrici pentru server. Pentru monitorizarea resurselor serverului, completează-l cu Prometheus, Netdata, Zabbix sau un alt instrument specializat.
