VPS پر Uptime Kuma: ویب سائٹس اور سرورز کی نگرانی کیسے ترتیب دیں

3 منٹ پڑھا۔
Tropic
VPS پر Uptime Kuma: ویب سائٹس اور سرورز کی نگرانی کیسے ترتیب دیں

Language: ur

Uptime Kuma: VPS پر اپنی ویب سائٹ کی نگرانی ترتیب دیں

کوئی ویب سائٹ 200 OK واپس کرتے ہوئے بھی خراب ہو سکتی ہے۔ بیک اپ واضح error کے بغیر بننا بند کر سکتا ہے۔ Uptime Kuma دونوں مسائل کا پتہ لگاتا ہے: یہ ویب سائٹس، API، ports اور background tasks کو چیک کرتا ہے، پھر خرابی ہونے پر اطلاع بھیجتا ہے۔

ہم دیکھیں گے کہ monitoring system کہاں رکھا جائے، اسے کس VPS کی ضرورت ہے، اور Uptime Kuma 2 کو کیسے انسٹال کیا جائے، HTTPS کیسے فعال کیا جائے، Telegram کیسے جوڑا جائے اور status page کیسے بنائی جائے۔

Uptime Kuma سات مراحل میں

  1. ایسے projects سے الگ ایک چھوٹا VPS مختص کریں جن کی نگرانی ہونی ہے۔
  2. اس VPS کی طرف ایک subdomain، مثلاً monitor.example.com، point کریں۔
  3. Docker انسٹال کریں اور Uptime Kuma 2 چلائیں۔
  4. اندرونی port 3001 بند رکھیں اور HTTPS فعال کریں۔
  5. HTTP، DNS، TCP یا push monitors بنائیں۔
  6. Telegram اور ضرورت پڑنے پر status page ترتیب دیں۔
  7. updates اور data directory کا بیرونی backup ترتیب دیں۔

Uptime Kuma کیا ہے؟

Uptime Kuma self-hosting کے لیے ایک مفت open-source tool ہے۔ اس کا panel اور checks کی history آپ کے سرور پر محفوظ رہتی ہے۔

یہ HTTP(S)، TCP ports، ping، DNS، WebSocket، response میں text اور JSON، push signals اور Docker containers کو track کر سکتا ہے۔ کم سے کم check interval 20 seconds ہے۔ درجنوں notification channels، two-factor authentication، latency graphs، TLS certificates کی نگرانی اور کئی status pages بھی دستیاب ہیں۔

200 OK کے پیچھے چھپی خرابی کیسے پکڑیں؟

عام HTTP check صرف response code دیکھتا ہے۔ تاہم web server خالی page یا application error screen دکھا کر بھی کامیاب status واپس کر سکتا ہے۔

زیادہ درست monitoring کے لیے استعمال کریں:

  • Keyword — متوقع phrase تلاش کرتا ہے، مثلاً سائٹ کا نام یا متن «Account panel»؛
  • JSON Query — API response میں value چیک کرتا ہے، مثلاً status: healthy۔

اس طرح monitor صرف port کی دستیابی نہیں، بلکہ application کے درست چلنے کی کم از کم ایک متوقع علامت بھی confirm کرتا ہے۔

Backups اور cron tasks کے لیے Push monitor

Push monitor service کو خود poll نہیں کرتا۔ اس کے بجائے وہ service کی طرف سے باقاعدہ signal کا انتظار کرتا ہے۔ Backup script یا cron task کامیاب completion کے بعد unique URL call کرتا ہے۔ اگر signal مقررہ وقت پر نہ آئے تو Uptime Kuma error کی اطلاع دیتا ہے۔

یہ ایک «خاموش» مسئلہ پکڑنے میں مدد دیتا ہے: سائٹ کام کر رہی ہوتی ہے، لیکن روزانہ backup کئی دن سے بن نہیں رہا ہوتا۔

Uptime Kuma کس چیز کا متبادل نہیں؟

Uptime Kuma بنیادی طور پر availability اور response time کو track کرتا ہے۔ CPU، RAM، disk، logs اور container metrics کے لیے اسے Prometheus، Netdata، Zabbix یا کسی اور monitoring system کے ساتھ مکمل کریں: Kuma باہر سے مسئلہ دیکھتا ہے، جبکہ metrics وجہ معلوم کرنے میں مدد دیتی ہیں۔

Monitoring کو الگ VPS پر کیوں چلانا چاہیے؟

اگر Uptime Kuma کو ویب سائٹ کے ساتھ ہی انسٹال کیا جائے تو VPS، network یا data center کی خرابی project اور monitoring system دونوں کو بند کر دے گی۔ Notification بھی نہیں جا سکے گی۔

Panel کو الگ VPS پر رکھیں، اور اہم projects کے لیے کسی دوسری جگہ یا دوسرے provider کا انتخاب کریں۔ خود Kuma کی بیرونی service سے نگرانی کرنا بھی مفید ہے: کسی کو monitoring system کو بھی check کرنا چاہیے۔

Uptime Kuma کے لیے سرور کی ضروریات

Project CPU اور RAM کی سخت official minimum requirements مقرر نہیں کرتا۔ ایک چھوٹی installation کے لیے عملی ابتدائی configuration:

  • 1 vCPU؛
  • 1 GB RAM؛
  • 10 GB SSD؛
  • Ubuntu 24.04 LTS؛
  • IPv4؛
  • HTTPS کے لیے domain یا subdomain۔

عام طور پر یہ configuration کئی درجن سادہ checks کے لیے کافی ہے۔ سیکڑوں monitors، طویل history یا browser کے ذریعے checks کے لیے 2 GB RAM یا اس سے زیادہ منتخب کریں۔

VPS پر Uptime Kuma کیسے انسٹال کریں؟

مثال میں Ubuntu 24.04 اور subdomain monitor.example.com استعمال کیا گیا ہے۔

1. DNS اور firewall ترتیب دیں

ایسی DNS record A بنائیں جو VPS کے IPv4 address کی طرف اشارہ کرے۔ SSH کے ذریعے connect ہوں اور ضروری ports کھولیں:

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

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

نئے connection کو check کرنے سے پہلے موجودہ SSH session بند نہ کریں۔

2. Docker اور 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. 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

Tag :2 استعمال کریں: latest اب بھی پرانی v1 branch کی طرف اشارہ کرتا ہے۔ Directory /app/data local disk یا معمول کے Docker volume پر محفوظ ہونی چاہیے۔ NFS اور وہ storage systems جن میں file locking درست نہ ہو، database کو خراب کر سکتے ہیں۔

Port 3001 صرف 127.0.0.1 پر دستیاب ہے۔ HTTPS والا reverse proxy panel کو باہر سے publish کرے گا۔

4. Caddy کے ساتھ HTTPS فعال کریں

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 کی طرف اشارہ کرتا ہے تو Caddy خود TLS certificate طلب کرے گا اور WebSocket connections کو proxy کرے گا۔ Panel کو domain یا subdomain کے root میں رکھیں: example.com/kuma جیسا address supported نہیں ہے۔

5. Administrator account بنائیں

https://monitor.example.com کھولیں، ایک لمبے منفرد password کے ساتھ account بنائیں اور two-factor authentication فعال کریں۔

پہلا monitor کیسے شامل کریں؟

Add New Monitor دبائیں اور HTTP(s) منتخب کریں:

  1. نام اور مکمل URL درج کریں۔
  2. interval مقرر کریں، مثلاً 60 seconds۔
  3. network کی مختصر خرابیوں کو نظرانداز کرنے کے لیے دو retry attempts شامل کریں۔
  4. notification channel منتخب کریں۔
  5. monitor محفوظ کریں اور تصدیق کریں کہ successful checks ظاہر ہو رہے ہیں۔

مرکزی سائٹ کے لیے HTTP اور Keyword checks مفید ہیں۔ API کے لیے health endpoint اور JSON Query استعمال کریں۔ صرف monitoring کی خاطر databases یا administrative ports کو internet پر expose نہ کریں؛ trusted network یا VPN استعمال کریں۔

Backup کے لیے Push monitor کی مثال

Push monitor بنانے کے بعد اس کا unique URL script کے آخر میں شامل کریں:

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

Request صرف کامیاب backup کے بعد چلتی ہے۔ Push token کو password سمجھیں: URL جاننے والا کوئی بھی شخص جعلی signal بھیج سکتا ہے۔

Telegram کیسے جوڑیں؟

@BotFather کے ذریعے bot بنائیں، اسے message بھیجیں، پھر Settings → Notifications → Telegram کھولیں۔ Bot Token اور Chat ID درج کریں، Test دبائیں اور channel کو اپنے monitors کے لیے مقرر کریں۔ اہم services کے لیے دوسرا channel، مثلاً e-mail، بھی شامل کریں۔

Status page کیسے بنائیں؟

Status Pages section میں monitors کو group کیا جا سکتا ہے، موجودہ status اور availability history دکھائی جا سکتی ہے، domain مقرر کیا جا سکتا ہے اور Maintenance کے ذریعے planned work کی اطلاع دی جا سکتی ہے۔ اندرونی IP addresses یا technical URLs publish نہ کریں: clients کو صرف «Website»، «API»، «Account panel» اور «Payments» جیسے components درکار ہوتے ہیں۔

Uptime Kuma کو update اور backup کرنا

بڑی update سے پہلے container روکیں اور data directory محفوظ کریں:

cd /opt/uptime-kuma
docker compose down

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

docker compose up -d

Archive کو کسی دوسرے device یا external storage پر منتقل کریں۔ اسی VPS پر رکھی copy server deletion یا disk failure سے حفاظت نہیں کرے گی۔

عام update کے لیے:

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

چلنے کے بعد docker compose ps چیک کریں، panel کھولیں اور test notification بھیجیں۔

Uptime Kuma کے لیے کون سا VPS منتخب کریں؟

چھوٹی installation کو 1 vCPU اور 1 GB RAM والا Linux VPS درکار ہے۔ زیادہ سے زیادہ performance سے زیادہ independence اہم ہے: monitoring کو اس وقت بھی چلتے رہنا چاہیے جب بنیادی project unavailable ہو۔

Uptime Kuma کو tropic.host کے VPS پر رکھا جا سکتا ہے، اگر monitored services کسی دوسرے platform یا independent node پر ہوں۔ Ubuntu، Docker اور static IP panel کو تیزی سے چلانے دیتے ہیں، جبکہ checks کی تعداد بڑھنے پر resources میں اضافہ کیا جا سکتا ہے۔

اگر production پہلے ہی اسی infrastructure پر چل رہا ہے تو دوسرا node منتخب کریں یا external monitoring شامل کریں۔ Failure domains کو الگ کرنا CPU کا ایک اور core شامل کرنے سے زیادہ مفید ہے۔

عام غلطیاں

غلطیمسئلہ کیوں ہےبہتر طریقہ
Monitoring project کے ساتھ چل رہی ہےایک ہی خرابی service اور notifications دونوں بند کر دے گیالگ VPS یا platform استعمال کریں
Port 3001 internet پر کھلا ہےPanel reverse proxy یا HTTPS کے بغیر accessible ہےPort کو 127.0.0.1 سے bind کریں
صرف status code 200 چیک کیا جاتا ہےApplication error کامیاب response جیسی نظر آ سکتی ہےKeyword یا JSON Query شامل کریں
latest tag استعمال کیا جاتا ہےیہ پرانی v1 branch کی طرف اشارہ کرتا ہےlouislam/uptime-kuma:2 استعمال کریں
Backup اسی VPS پر محفوظ ہےServer کے ساتھ ہی backup بھی ختم ہو جائے گاDirectory data کو کسی دوسری جگہ copy کریں

خلاصہ

Uptime Kuma ایک چھوٹے VPS کو websites، APIs، DNS، ports، certificates اور background tasks کے اپنے monitoring center میں بدل دیتا ہے۔ Keyword ٹوٹی ہوئی page پکڑنے میں، JSON Query غلط API response کی شناخت میں، اور Push رکی ہوئی backup یا cron task کا پتہ لگانے میں مدد کرتا ہے۔

قابل اعتماد configuration کے لیے monitoring system کو production سے الگ رکھیں، port 3001 بند رکھیں، HTTPS اور 2FA فعال کریں اور notifications کے دو channels ترتیب دیں۔ اس کے بعد data directory کا external backup اور خود Uptime Kuma کی independent checking کا انتظام کریں۔

FAQ

کیا Uptime Kuma مفت ہے؟

جی ہاں۔ Project open source ہے اور MIT license کے تحت تقسیم ہوتا ہے۔ ادائیگی صرف infrastructure، domain اور external backups کے لیے کرنی ہوتی ہے۔

Uptime Kuma کو کتنی RAM درکار ہے؟

چھوٹی installation کے لیے 1 GB RAM سے شروع کرنا مناسب ہے۔ سیکڑوں checks، طویل history یا Browser Engine کے لیے 2 GB یا اس سے زیادہ مختص کریں۔

کیا Uptime Kuma کو Docker کے بغیر انسٹال کیا جا سکتا ہے؟

جی ہاں، Node.js اور PM2 کے ذریعے۔ تاہم Docker Compose کو VPS پر update، منتقل اور restore کرنا عموماً آسان ہوتا ہے۔

کیا Uptime Kuma کو domain کے بغیر استعمال کیا جا سکتا ہے؟

تکنیکی طور پر ہاں — IP address یا SSH tunnel کے ذریعے۔ internet سے مستقل رسائی کے لیے HTTPS والا subdomain زیادہ محفوظ ہے۔

کیا Uptime Kuma CPU، RAM اور disk usage دکھاتا ہے؟

یہ مکمل server metrics system نہیں ہے۔ Server resources کی نگرانی کے لیے Uptime Kuma کو Prometheus، Netdata، Zabbix یا کسی مخصوص tool کے ساتھ مکمل کریں۔