Tropic Host

VPS’da Uptime Kuma: saytlar va serverlarni monitoring qilishni sozlash

6 daqiqa o‘qish
Tropic
VPS’da Uptime Kuma: saytlar va serverlarni monitoring qilishni sozlash

Language: uz

Uptime Kuma: VPS’da o‘z sayt monitoringingizni sozlang

Sayt 200 OK qaytarib turgan bo‘lsa ham ishlamay qolishi mumkin. Zaxira nusxasi jarayoni ham aniq xatosiz to‘xtab qoladi. Uptime Kuma ikkala muammoni aniqlaydi: saytlar, API’lar, portlar va fon vazifalarini tekshiradi, biror narsa noto‘g‘ri ketganda esa bildirishnoma yuboradi.

Ushbu qo‘llanmada monitoring tizimini qayerda joylashtirish, unga qanday VPS kerakligi, Uptime Kuma 2’ni o‘rnatish, HTTPS’ni yoqish, Telegram’ni ulash va status sahifasini yaratish tushuntiriladi.

Uptime Kuma yetti qadamda

Minimal ishga tushirish rejasi:

  1. Monitoring qilmoqchi bo‘lgan loyihalardan alohida kichik VPS tayyorlang.
  2. Masalan, monitor.example.com kabi subdomain’ni unga yo‘naltiring.
  3. Docker’ni o‘rnating va Uptime Kuma 2’ni ishga tushiring.
  4. Ichki 3001 portini yoping va HTTPS’ni yoqing.
  5. HTTP, DNS, TCP yoki push monitorlarini yarating.
  6. Telegram’ni sozlang va kerak bo‘lsa status sahifasi yarating.
  7. Yangilanishlar va ma’lumotlar katalogining tashqi backup’ini sozlang.

Uptime Kuma nima?

Uptime Kuma — bepul, ochiq kodli, self-hosted monitoring vositasi. Uning dashbordi va tekshiruvlar tarixi o‘z serveringizda saqlanadi.

U HTTP(S), TCP portlar, ping, DNS, WebSocket, javoblardagi matn va JSON, push signallari hamda Docker konteynerlarini kuzata oladi. Eng kichik tekshiruv oralig‘i 20 soniya. O‘nlab bildirishnoma kanallari, ikki faktorli autentifikatsiya, kechikish grafiklari, TLS sertifikatlarini tekshirish va bir nechta status sahifalari ham mavjud.

200 OK ortidagi xatoni qanday aniqlash mumkin?

Oddiy HTTP tekshiruvi faqat javob kodini ko‘radi. Biroq web server bo‘sh sahifa yoki ilova xatosi ekranini ko‘rsatib, baribir muvaffaqiyatli status qaytarishi mumkin.

Aniqroq monitoring uchun quyidagilardan foydalaning:

  • Keyword — kutilgan iborani, masalan sayt nomi yoki «Account dashboard» matnini izlaydi;
  • JSON Query — API javobidagi qiymatni, masalan status: healthy ni tekshiradi.

Shu tariqa monitor nafaqat portga ulanish mumkinligini, balki ilovada to‘g‘ri ishlayotganini ko‘rsatuvchi kamida bitta kutilgan belgi borligini ham tasdiqlaydi.

Backup va cron vazifalari uchun push monitor

Push monitor xizmatni so‘rab tekshirmaydi. Buning o‘rniga xizmatning o‘zidan muntazam signal kutadi. Backup skripti yoki cron vazifasi muvaffaqiyatli tugagach, yagona URL’ni chaqiradi. Signal vaqtida kelmasa, Uptime Kuma xato haqida xabar beradi.

Bu «jim» muammoni aniqlashga yordam beradi: sayt ishlashda davom etadi, lekin kundalik backup bir necha kundan beri yaratilmagan bo‘ladi.

Uptime Kuma nimaning o‘rnini bosmaydi?

Uptime Kuma asosan mavjudlik va javob vaqtini kuzatadi. CPU, RAM, disk, loglar va konteyner metrikalarini kuzatish uchun uni Prometheus, Netdata, Zabbix yoki boshqa monitoring tizimi bilan to‘ldiring: Kuma muammoni tashqaridan ko‘radi, metrikalar esa sababni aniqlashga yordam beradi.

Nega monitoring alohida VPS’da ishlashi kerak?

Uptime Kuma’ni sayt yoniga o‘rnatsangiz, VPS, tarmoq yoki data-markazdagi nosozlik ham loyihani, ham monitoring tizimini o‘chiradi. Bildirishnoma yuborilmay qolishi mumkin.

Dashbordni alohida VPS’ga joylashtiring, muhim loyihalar uchun esa boshqa joy yoki provayderdan foydalaning. Kuma’ning o‘zini tashqi xizmat bilan kuzatish ham foydali: monitoring tizimini ham kimdir nazorat qilishi kerak.

Uptime Kuma server talablari

Loyiha CPU va RAM uchun qat’iy rasmiy minimum belgilamaydi. Kichik o‘rnatish uchun amaliy boshlang‘ich konfiguratsiya:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • IPv4;
  • HTTPS uchun domain yoki subdomain.

Bu konfiguratsiya odatda bir necha o‘nlab oddiy tekshiruvlar uchun yetarli. Yuzlab monitorlar, uzoq muddatli tarix yoki brauzer asosidagi tekshiruvlar uchun 2 GB RAM yoki undan ko‘prog‘ini tanlang.

VPS’da Uptime Kuma’ni qanday o‘rnatish mumkin?

Misolda Ubuntu 24.04 va monitor.example.com subdomain’i ishlatiladi.

1. DNS va firewall’ni sozlash

VPS’ning IPv4 manziliga ko‘rsatuvchi A DNS yozuvini yarating. SSH orqali ulanib, kerakli portlarni oching:

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

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

Yangi ulanishni sinab ko‘rmaguningizcha joriy SSH sessiyasini yopmang.

2. Docker va Docker Compose’ni o‘rnatish

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 ishga tushirish

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 tegidan foydalaning: latest hali ham eskirgan v1 tarmog‘iga ko‘rsatadi. /app/data katalogi lokal diskda yoki oddiy Docker volume’da saqlanishi kerak. NFS va fayllarni to‘g‘ri bloklamaydigan storage tizimlari database’ni buzishi mumkin.

3001 porti faqat 127.0.0.1 manzilida mavjud. HTTPS reverse proxy dashbordni tashqaridan e’lon qiladi.

4. Caddy bilan HTTPS’ni yoqish

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’ga ko‘rsatsa, Caddy TLS sertifikatini avtomatik so‘raydi va WebSocket ulanishlarini proksi qiladi. Dashbordni domain yoki subdomain ildiziga joylashtiring: example.com/kuma kabi manzil qo‘llab-quvvatlanmaydi.

5. Administrator hisobini yaratish

https://monitor.example.com manzilini oching, uzun va noyob parolga ega hisob yarating hamda ikki faktorli autentifikatsiyani yoqing.

Birinchi monitorni qanday qo‘shish mumkin?

Add New Monitor tugmasini bosing va HTTP(s) ni tanlang:

  1. Nom va to‘liq URL’ni kiriting.
  2. Oraliqni, masalan 60 soniyani belgilang.
  3. Qisqa tarmoq uzilishlarini hisobga olish uchun ikkita qayta urinish qo‘shing.
  4. Bildirishnoma kanalini tanlang.
  5. Monitorni saqlang va muvaffaqiyatli tekshiruvlar paydo bo‘layotganiga ishonch hosil qiling.

Asosiy sayt uchun HTTP va Keyword tekshiruvlari foydali. API uchun health endpoint va JSON Query’dan foydalaning. Faqat monitoring uchun database yoki ma’muriy portlarni internetga ochmang; ishonchli tarmoq yoki VPN’dan foydalaning.

Backup uchun Push monitoriga misol

Push monitorini yaratgach, uning yagona URL’ini skript oxiriga qo‘shing:

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

So‘rov faqat backup muvaffaqiyatli tugagandan keyin bajariladi. Push token’ni parol kabi saqlang: URL’ni bilgan har kim soxta signal yuborishi mumkin.

Telegram’ni qanday ulash mumkin?

@BotFather orqali bot yarating, unga xabar yuboring va keyin Settings → Notifications → Telegram bo‘limini oching. Bot Token va Chat ID’ni kiriting, Test tugmasini bosing va kanalni monitorlarga biriktiring. Muhim xizmatlar uchun email kabi ikkinchi kanalni ham qo‘shing.

Status sahifasini qanday yaratish mumkin?

Status Pages bo‘limida monitorlarni guruhlash, joriy status va mavjudlik tarixini ko‘rsatish, domain biriktirish hamda Maintenance orqali rejalashtirilgan ishlar haqida xabar berish mumkin. Ichki IP manzillar yoki texnik URL’larni e’lon qilmang: mijozlarga «Website», «API», «Account dashboard» va «Payments» kabi komponentlargina kerak.

Uptime Kuma’ni yangilash va backup qilish

Katta yangilanishdan oldin container’ni to‘xtating va ma’lumotlar katalogini saqlang:

cd /opt/uptime-kuma
docker compose down

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

docker compose up -d

Arxivni boshqa qurilma yoki tashqi storage’ga ko‘chiring. Xuddi shu VPS’dagi nusxa server o‘chirilishi yoki disk ishdan chiqishidan himoya qilmaydi.

Oddiy yangilanish uchun:

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

Ishga tushgach, docker compose ps ni tekshiring, dashbordni oching va test bildirishnomasini yuboring.

Uptime Kuma uchun qaysi VPS’ni tanlash kerak?

Kichik o‘rnatish uchun 1 vCPU va 1 GB RAM’li Linux VPS kerak bo‘ladi. Mustaqillik maksimal unumdorlikdan muhimroq: asosiy loyiha mavjud bo‘lmaganda ham monitor ishlashda davom etishi kerak.

Kuzatilayotgan xizmatlar boshqa platforma yoki mustaqil node’da bo‘lsa, Uptime Kuma’ni tropic.host VPS’ida joylashtirishingiz mumkin. Ubuntu, Docker va statik IP dashbordni tez ishga tushirishga imkon beradi, resurslarni esa tekshiruvlar soni oshgani sari ko‘paytirish mumkin.

Production allaqachon shu infratuzilmada ishlayotgan bo‘lsa, boshqa node tanlang yoki tashqi monitoring qo‘shing. Failure domain’larni ajratish yana bitta CPU yadrosini qo‘shishdan foydaliroq.

Keng tarqalgan xatolar

XatoNega bu muammo?Yaxshiroq yondashuv
Monitoring loyiha bilan birga ishlaydiUmumiy nosozlik ham xizmatni, ham bildirishnomalarni o‘chiradiAlohida VPS yoki platformadan foydalanish
3001 porti internetga ochiqDashbord reverse proxy yoki HTTPS’siz mavjudPortni 127.0.0.1 ga bog‘lash
Faqat 200 status kodi tekshiriladiIlova xatosi muvaffaqiyatli javobga o‘xshashi mumkinKeyword yoki JSON Query qo‘shish
latest tegi ishlatiladiU eskirgan v1 tarmog‘iga ko‘rsatadilouislam/uptime-kuma:2 dan foydalanish
Backup shu VPS’da saqlanadiU server bilan birga yo‘qoladidata katalogini boshqa joyga nusxalash

Xulosa

Uptime Kuma kichik VPS’ni saytlar, API’lar, DNS, portlar, sertifikatlar va fon vazifalari uchun shaxsiy monitoring markaziga aylantiradi. Keyword buzilgan sahifani, JSON Query noto‘g‘ri API javobini, Push esa to‘xtagan backup yoki cron vazifasini aniqlaydi.

Ishonchli konfiguratsiya uchun monitoringni production’dan alohida joylashtiring, 3001 portini yoping, HTTPS va 2FA’ni yoqing hamda ikkita bildirishnoma kanalini sozlang. Keyin ma’lumotlar katalogining tashqi backup’ini va Uptime Kuma’ning o‘zini mustaqil tekshirishni tashkil qiling.

FAQ

Uptime Kuma bepulmi?

Ha. Loyiha ochiq kodli va MIT litsenziyasi ostida tarqatiladi. Faqat infratuzilma, domain va tashqi backup’lar uchun to‘laysiz.

Uptime Kuma’ga qancha RAM kerak?

Kichik o‘rnatish uchun 1 GB RAM oqilona boshlang‘ich qiymat. Yuzlab tekshiruvlar, uzoq muddatli tarix yoki Browser Engine uchun 2 GB yoki undan ko‘prog‘ini ajrating.

Uptime Kuma’ni Docker’siz o‘rnatsa bo‘ladimi?

Ha, Node.js va PM2 bilan. Ammo Docker Compose’ni VPS’da yangilash, ko‘chirish va tiklash odatda osonroq.

Uptime Kuma’dan domainsiz foydalanish mumkinmi?

Texnik jihatdan ha — IP manzil yoki SSH tunnel orqali. Internetdan doimiy foydalanish uchun HTTPS’li subdomain xavfsizroq.

Uptime Kuma CPU, RAM va disk ishlatilishini ko‘rsatadimi?

To‘liq server metrikalari tizimi sifatida emas. Resurslarni monitoring qilish uchun Uptime Kuma’ni Prometheus, Netdata, Zabbix yoki boshqa maxsus vosita bilan to‘ldiring.