Tropic Host

VPS-də Uptime Kuma: saytları və serverləri necə izləmək olar

8 dəqiqə oxu
Tropic
VPS-də Uptime Kuma: saytları və serverləri necə izləmək olar

Language: az

Uptime Kuma: VPS-də öz sayt monitorinqinizi qurun

Sayt hələ də 200 OK cavabı qaytardığı halda işləməyə bilər. Ehtiyat nüsxəsinin yaradılması prosesi də aydın xəta göstərmədən dayana bilər. Uptime Kuma hər iki problemi aşkarlayır: saytları, API-ləri, portları və fon tapşırıqlarını yoxlayır, nəsə səhv olduqda bildiriş göndərir.

Bu təlimatda monitorinq sistemini harada yerləşdirməyi, onun üçün hansı VPS-in lazım olduğunu, Uptime Kuma 2-ni necə quraşdırmağı, HTTPS-i aktivləşdirməyi, Telegram-a qoşulmağı və status səhifəsi yaratmağı izah edirik.

Uptime Kuma yeddi addımda

  1. İzləmək istədiyiniz layihələrdən ayrıca kiçik VPS qurun.
  2. monitor.example.com kimi bir subdomeni həmin VPS-ə yönəldin.
  3. Docker quraşdırın və Uptime Kuma 2-ni başladın.
  4. Daxili 3001 portunu bağlayın və HTTPS-i aktivləşdirin.
  5. HTTP, DNS, TCP və ya push monitorları yaradın.
  6. Telegram-ı və ehtiyac varsa status səhifəsini konfiqurasiya edin.
  7. Yeniləmələri və məlumat kataloqunun xarici ehtiyat nüsxəsini qurun.

Xidməti işə salmaq üçün AI açarı tələb olunmur. Açar olmadan da səhifələrin, API-lərin və digər yoxlamaların işləməsi davam edir. Yalnız AI əsaslı məzmun və ya funksiyalar əlçatan olmayacaq.

Uptime Kuma nədir?

Uptime Kuma pulsuz, açıq mənbəli və öz serverinizdə yerləşdirilən monitorinq alətidir. Onun idarə paneli və yoxlama tarixçəsi sizin serverinizdə saxlanılır.

Alət HTTP(S), TCP portlarını, ping-i, DNS-i, WebSocket-i, cavablardakı mətn və JSON-u, push siqnallarını və Docker konteynerlərini izləyə bilər. Minimum yoxlama intervalı 20 saniyədir. Onlarla bildiriş kanalı, iki faktorlu autentifikasiya, gecikmə qrafikləri, TLS sertifikatı yoxlamaları və bir neçə status səhifəsi də mövcuddur.

200 OK arxasında gizlənən xətanı necə aşkarlamaq olar

Adi HTTP yoxlaması yalnız cavab kodunu görür. Lakin veb-server uğurlu status qaytarmağa davam etdiyi halda boş səhifə və ya tətbiq xətası ekranı göstərə bilər.

Daha dəqiq monitorinq üçün bunlardan istifadə edin:

  • Keyword — saytın adı və ya “Account dashboard” mətni kimi gözlənilən ifadəni axtarır;
  • JSON Query — API cavabındakı status: healthy kimi dəyəri yoxlayır.

Beləliklə monitor yalnız porta çatmağın mümkün olduğunu deyil, tətbiqdə düzgün işləmənin ən azı bir gözlənilən əlamətinin olduğunu da təsdiqləyir.

Ehtiyat nüsxələri və cron tapşırıqları üçün push monitoru

Push monitoru xidməti sorğulamır. Bunun əvəzinə xidmətdən özü gələn müntəzəm siqnalı gözləyir. Ehtiyat nüsxəsi skripti və ya cron tapşırığı uğurla tamamlandıqdan sonra unikal URL-i çağırır. Siqnal vaxtında gəlməsə, Uptime Kuma xəta bildirir.

Bu, “səssiz” problemi aşkarlamağa kömək edir: sayt işləyir, amma gündəlik ehtiyat nüsxəsi bir neçə gündür yaradılmır.

Uptime Kuma nəyi əvəz etmir

Uptime Kuma əsasən əlçatanlığı və cavab müddətini izləyir. CPU, RAM, disk, jurnallar və konteyner metriklərini izləmək üçün onu Prometheus, Netdata, Zabbix və ya başqa monitorinq sistemi ilə tamamlayın: Kuma problemi kənardan görür, metriklər isə səbəbi müəyyən etməyə kömək edir.

Monitorinq niyə ayrıca VPS-də işləməlidir

Uptime Kuma-nı saytın yanında quraşdırsanız, VPS, şəbəkə və ya məlumat mərkəzində baş verən nasazlıq həm layihəni, həm də monitorinq sistemini sıradan çıxaracaq. Bildiriş heç vaxt göndərilməyə bilər.

İdarə panelini ayrıca VPS-də yerləşdirin, vacib layihələr üçün isə başqa məkan və ya provayder seçin. Kuma-nın özünü xarici xidmətlə izləmək də faydalıdır: monitorinq sisteminə də nəzarət edən bir sistem olmalıdır.

Uptime Kuma üçün server tələbləri

Layihə CPU və RAM üçün sərt rəsmi minimum göstərmir. Kiçik quraşdırma üçün praktik başlanğıc konfiqurasiyası belədir:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • IPv4;
  • HTTPS üçün domen və ya subdomen.

Bu konfiqurasiya adətən bir neçə on sadə yoxlama üçün kifayətdir. Yüzlərlə monitor, uzunmüddətli tarixçə və ya brauzer əsaslı yoxlamalar üçün 2 GB RAM və ya daha çox seçin.

VPS-də Uptime Kuma necə quraşdırılır

Nümunədə Ubuntu 24.04 və monitor.example.com subdomenindən istifadə olunur.

1. DNS və firewall-u konfiqurasiya edin

VPS-in IPv4 ünvanına yönələn A DNS qeydi yaradın. SSH ilə qoşulun və tələb olunan portları açın:

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

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

Yeni bağlantını yoxlamadan cari SSH sessiyasını bağlamayın.

2. Docker və Docker Compose quraşdırın

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-ni başladın

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

:2 teqindən istifadə edin: latest hələ köhnəlmiş v1 budağına işarə edir. /app/data kataloqu lokal diskdə və ya adi Docker volume-da saxlanmalıdır. Düzgün fayl kilidləməsi olmayan NFS və saxlama sistemləri verilənlər bazasını korlaya bilər.

3001 portu yalnız 127.0.0.1 ünvanında əlçatandır. HTTPS reverse proxy idarə panelini xaricdən yayımlayacaq.

4. Caddy ilə HTTPS-i aktivləşdirin

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

DNS VPS-ə yönəlirsə, Caddy avtomatik olaraq TLS sertifikatı tələb edəcək və WebSocket bağlantılarını proxy edəcək. İdarə panelini domenin və ya subdomenin kökündə yerləşdirin: example.com/kuma kimi ünvan dəstəklənmir.

5. Administrator hesabı yaradın

https://monitor.example.com ünvanını açın, uzun və unikal parolla hesab yaradın və iki faktorlu autentifikasiyanı aktivləşdirin.

İlk monitoru necə əlavə etmək olar

Add New Monitor düyməsinə klikləyin və HTTP(s) seçin:

  1. Adı və tam URL-i daxil edin.
  2. İntervalı, məsələn 60 saniyəni təyin edin.
  3. Qısa şəbəkə nasazlıqları üçün iki təkrar cəhd əlavə edin.
  4. Bildiriş kanalını seçin.
  5. Monitoru yadda saxlayın və uğurlu yoxlamaların göründüyünə əmin olun.

HTTP və Keyword yoxlamaları əsas sayt üçün faydalıdır. API üçün health endpoint və JSON Query istifadə edin. Yalnız monitorinq məqsədilə verilənlər bazalarını və inzibati portları internetə açmayın; etibarlı şəbəkə və ya VPN istifadə edin.

Ehtiyat nüsxəsi üçün push monitor nümunəsi

Push monitoru yaratdıqdan sonra onun unikal URL-ini skriptin sonuna əlavə edin:

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

Sorğu yalnız ehtiyat nüsxəsi uğurla tamamlandıqdan sonra icra edilir. Push tokenini parol kimi qoruyun: URL-i bilən hər kəs saxta siqnal göndərə bilər.

Telegram-a necə qoşulmaq olar

@BotFather vasitəsilə bot yaradın, ona mesaj göndərin və sonra Settings → Notifications → Telegram bölməsini açın. Bot Token və Chat ID-ni daxil edin, Test düyməsinə klikləyin və kanalı monitorlarınıza təyin edin. Kritik xidmətlər üçün e-poçt kimi ikinci kanal əlavə edin.

Status səhifəsi necə yaradılır

Status Pages bölməsində monitorları qruplaşdıra, cari statusu və əlçatanlıq tarixçəsini göstərə, domen təyin edə və Maintenance vasitəsilə planlaşdırılmış işləri elan edə bilərsiniz. Daxili IP ünvanlarını və texniki URL-ləri yayımlamayın: müştərilərə yalnız “Website”, “API”, “Account dashboard” və “Payments” kimi komponentlər lazımdır.

Uptime Kuma-nın yenilənməsi və ehtiyat nüsxəsinin alınması

Böyük yeniləmədən əvvəl konteyneri dayandırın və məlumat kataloqunu yadda saxlayın:

cd /opt/uptime-kuma
docker compose down

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

docker compose up -d

Arxivi başqa cihaza və ya xarici saxlama sisteminə köçürün. Eyni VPS-dəki nüsxə serverin silinməsindən və ya disk nasazlığından qorumur.

Adi yeniləmə üçün:

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

İşə salındıqdan sonra docker compose ps əmrini yoxlayın, idarə panelini açın və test bildirişi göndərin.

Uptime Kuma üçün hansı VPS-i seçmək lazımdır?

Kiçik quraşdırma üçün 1 vCPU və 1 GB RAM olan Linux VPS kifayətdir. Maksimum məhsuldarlıqdan daha vacib olan müstəqillikdir: əsas layihə əlçatmaz olduqda monitor işləməyə davam etməlidir.

İzlənən xidmətlər başqa platformada və ya müstəqil node-da yerləşirsə, Uptime Kuma-nı tropic.host VPS-də host edə bilərsiniz. Ubuntu, Docker və statik IP idarə panelini tez işə salmağa imkan verir, resurslar isə yoxlamaların sayı artdıqca genişləndirilə bilər.

Əgər istehsal sistemi artıq eyni infrastrukturda işləyirsə, başqa node seçin və ya xarici monitorinq əlavə edin. Nasazlıq sahələrini ayırmaq əlavə CPU nüvəsi artırmaqdan daha faydalıdır.

Tez-tez buraxılan səhvlər

SəhvNiyə problemdirDaha yaxşı yanaşma
Monitorinq layihənin yanında işləyirOrtaq nasazlıq həm xidməti, həm də bildirişləri dayandırırAyrı VPS və ya platformadan istifadə edin
3001 portu internetə açıqdırİdarə paneli reverse proxy və HTTPS olmadan əlçatandırPortu 127.0.0.1 ünvanına bağlayın
Yalnız 200 status kodu yoxlanılırTətbiq xətası uğurlu cavab kimi görünə bilərKeyword və ya JSON Query əlavə edin
latest teqindən istifadə edilirO, köhnəlmiş v1 budağına işarə edirlouislam/uptime-kuma:2 istifadə edin
Ehtiyat nüsxəsi eyni VPS-də saxlanılırServerlə birlikdə o da yox olacaqdata kataloqunu başqa yerə köçürün

Xülasə

Uptime Kuma kiçik VPS-i saytlar, API-lər, DNS, portlar, sertifikatlar və fon tapşırıqları üçün şəxsi monitorinq mərkəzinə çevirir. Keyword işləməyən səhifəni, JSON Query etibarsız API cavabını, Push isə dayanmış ehtiyat nüsxəsini və ya cron tapşırığını aşkarlayır.

Etibarlı konfiqurasiya üçün monitorinqi istehsal sistemindən ayrı yerləşdirin, 3001 portunu bağlayın, HTTPS və 2FA-nı aktivləşdirin və iki bildiriş kanalı qurun. Sonra məlumat kataloqunun xarici ehtiyat nüsxəsini və Uptime Kuma-nın özünə müstəqil yoxlamanı təşkil edin.

FAQ

Uptime Kuma pulsuzdur?

Bəli. Layihə açıq mənbəlidir və MIT lisenziyası ilə yayılır. Yalnız infrastruktur, domen və xarici ehtiyat nüsxələri üçün ödəniş edirsiniz.

Uptime Kuma üçün nə qədər RAM lazımdır?

Kiçik quraşdırma üçün 1 GB RAM münasib başlanğıcdır. Yüzlərlə yoxlama, uzunmüddətli tarixçə və ya Browser Engine istifadə edirsinizsə, 2 GB və ya daha çox ayırın.

Uptime Kuma-nı Docker olmadan quraşdırmaq olar?

Bəli, Node.js və PM2 ilə mümkündür. Lakin Docker Compose VPS-də yeniləməyi, köçürməyi və bərpa etməyi adətən asanlaşdırır.

Uptime Kuma-nı domen olmadan istifadə edə bilərəm?

Texniki baxımdan bəli: IP ünvanı və ya SSH tuneli ilə mümkündür. Daimi internet əlçatanlığı üçün HTTPS-li subdomen daha təhlükəsizdir.

Uptime Kuma CPU, RAM və disk istifadəsini göstərirmi?

Tam server metrikləri sistemi kimi yox. Resurs monitorinqi üçün Uptime Kuma-nı Prometheus, Netdata, Zabbix və ya başqa ixtisaslaşmış alətlə tamamlayın.