Tropic Host

Uptime Kuma VPS-ზე: როგორ დავაკვირდეთ ვებსაიტებსა და სერვერებს

2 წაკითხვის წთ
Tropic
Uptime Kuma VPS-ზე: როგორ დავაკვირდეთ ვებსაიტებსა და სერვერებს

Language: ka

Uptime Kuma: საკუთარი ვებსაიტის მონიტორინგის მოწყობა VPS-ზე

ვებსაიტი შეიძლება გაფუჭდეს და ამავდროულად 200 OK დააბრუნოს. სარეზერვო დავალებამ შეიძლება მუშაობა შესამჩნევი შეცდომის გარეშე შეწყვიტოს. Uptime Kuma ორივე პრობლემას აღმოაჩენს: ამოწმებს ვებსაიტებს, API-ებს, პორტებსა და ფონურ დავალებებს, შემდეგ კი შეცდომის შემთხვევაში შეტყობინებას აგზავნის.

ეს სახელმძღვანელო ხსნის, სად უმჯობესია მონიტორინგის სისტემის განთავსება, როგორი VPS არის საჭირო და როგორ დააყენოთ Uptime Kuma 2, ჩართოთ HTTPS, დააკავშიროთ Telegram და შექმნათ სტატუსის გვერდი.

Uptime Kuma შვიდ ნაბიჯად

  1. მონიტორინგისთვის განკუთვნილი პროექტებისგან ცალკე მოამზადეთ პატარა Linux VPS.
  2. მასზე მიუთითეთ ისეთი subdomain, როგორიცაა monitor.example.com.
  3. დააყენეთ Docker და გაუშვით Uptime Kuma 2.
  4. დახურეთ შიდა პორტი 3001 და ჩართეთ HTTPS.
  5. შექმენით HTTP, DNS, TCP ან push მონიტორები.
  6. დააკონფიგურირეთ Telegram და, საჭიროების შემთხვევაში, სტატუსის გვერდი.
  7. მოაწყვეთ განახლებები და data დირექტორიის გარე სარეზერვო ასლი.

სერვისის დასაწყებად AI-ის გასაღები საჭირო არ არის. მის გარეშე გვერდების შენახვა, სიები, შენიშვნები, OCR და სრულტექსტიანი ძიება მუშაობას გააგრძელებს. ავტომატური ტეგები და შეჯამებები არ შეიქმნება.

რა არის Uptime Kuma?

Uptime Kuma არის უფასო, open-source და self-hosted მონიტორინგის ინსტრუმენტი. მისი პანელი და შემოწმებების ისტორია თქვენს საკუთარ სერვერზე ინახება.

მას შეუძლია HTTP(S)-ის, TCP პორტების, ping-ის, DNS-ის, WebSocket-ის, პასუხებში ტექსტისა და JSON-ის, push სიგნალებისა და Docker კონტეინების მონიტორინგი. შემოწმების მინიმალური ინტერვალი 20 წამია. ხელმისაწვდომია შეტყობინების ათობით არხი, ორფაქტორიანი ავთენტიფიკაცია, დაყოვნების გრაფიკები, TLS სერტიფიკატების შემოწმება და რამდენიმე სტატუსის გვერდი.

როგორ აღმოვაჩინოთ 200 OK-ის მიღმა დამალული შეცდომა

ჩვეულებრივი HTTP შემოწმება მხოლოდ პასუხის კოდს ხედავს. თუმცა ვებ-სერვერმა შეიძლება ცარიელი გვერდი ან აპლიკაციის შეცდომის ეკრანი აჩვენოს და მაინც წარმატების სტატუსი დააბრუნოს.

უფრო ზუსტი მონიტორინგისთვის გამოიყენეთ:

  • Keyword — ეძებს მოსალოდნელ ფრაზას, მაგალითად საიტის სახელს ან ტექსტს “Account dashboard”;
  • JSON Query — ამოწმებს მნიშვნელობას API-ის პასუხში, მაგალითად status: healthy.

ასე მონიტორი მხოლოდ პორტის ხელმისაწვდომობას კი არ ამოწმებს, არამედ იმასაც, რომ აპლიკაციაში სწორი მუშაობის სულ მცირე ერთი მოსალოდნელი ნიშანი არსებობს.

Push მონიტორი სარეზერვო ასლებისა და cron დავალებებისთვის

Push მონიტორი სერვისს პერიოდულად არ ეკითხება. ამის ნაცვლად, ის თავად სერვისისგან რეგულარულ სიგნალს ელოდება. სარეზერვო სკრიპტი ან cron დავალება წარმატებით დასრულების შემდეგ უნიკალურ URL-ს იძახებს. თუ სიგნალი დროულად არ მოვა, Uptime Kuma შეცდომას დააფიქსირებს.

ეს ეხმარება “ჩუმი” პრობლემის აღმოჩენას: ვებსაიტი ისევ მუშაობს, მაგრამ ყოველდღიური სარეზერვო ასლი რამდენიმე დღეა არ შექმნილა.

რას ვერ ჩაანაცვლებს Uptime Kuma

Uptime Kuma ძირითადად ხელმისაწვდომობასა და პასუხის დროს აკვირდება. CPU-ს, RAM-ის, დისკის, ლოგებისა და კონტეინერების მეტრიკებისთვის ის შეავსეთ Prometheus-ით, Netdata-თი, Zabbix-ით ან სხვა მონიტორინგის სისტემით: Kuma პრობლემას გარედან ხედავს, მეტრიკები კი მიზეზის დადგენაში გვეხმარება.

რატომ უნდა მუშაობდეს მონიტორინგი ცალკე VPS-ზე

თუ Uptime Kuma-ს ვებსაიტის გვერდით დააყენებთ, VPS-ის, ქსელის ან მონაცემთა ცენტრის ავარია პროექტსაც და მონიტორინგის სისტემასაც ერთდროულად გათიშავს. შეტყობინება შეიძლება საერთოდ არ გაიგზავნოს.

პანელი ცალკე VPS-ზე განათავსეთ, მნიშვნელოვანი პროექტებისთვის კი სხვა ლოკაცია ან პროვაიდერი გამოიყენეთ. სასარგებლოა თავად Kuma-ს გარე სერვისით მონიტორინგიც: მონიტორინგის სისტემასაც სჭირდება დამკვირვებელი.

Uptime Kuma-ს სერვერის მოთხოვნები

პროექტი CPU-სა და RAM-ის მკაცრ ოფიციალურ მინიმუმს არ ადგენს. მცირე ინსტალაციისთვის პრაქტიკული საწყისი კონფიგურაცია ასეთია:

  • 1 vCPU;
  • 1 GB RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • IPv4;
  • დომენი ან subdomain HTTPS-ისთვის.

ეს კონფიგურაცია ჩვეულებრივ რამდენიმე ათეული მარტივი შემოწმებისთვის საკმარისია. ასობით მონიტორის, ხანგრძლივი ისტორიის ან ბრაუზერზე დაფუძნებული შემოწმებისთვის აირჩიეთ 2 GB RAM ან მეტი.

როგორ დავაყენოთ Uptime Kuma VPS-ზე

მაგალითში გამოყენებულია Ubuntu 24.04 და subdomain monitor.example.com.

1. DNS-ისა და firewall-ის კონფიგურაცია

შექმენით A DNS ჩანაწერი, რომელიც VPS-ის IPv4 მისამართზე მიუთითებს. დაუკავშირდით SSH-ით და გახსენით საჭირო პორტები:

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

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

მიმდინარე SSH სესია არ დახუროთ, სანამ ახალ კავშირს არ გამოცდით.

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

გამოიყენეთ :2 ტეგი: latest ჯერ კიდევ v1-ის მოძველებულ branch-ზე მიუთითებს. /app/data დირექტორია ადგილობრივ დისკზე ან Docker-ის ჩვეულებრივ volume-ში უნდა ინახებოდეს. NFS-მა და ფაილების სწორად ჩაკეტვის გარეშე შენახვის სისტემებმა შეიძლება მონაცემთა ბაზა დააზიანოს.

პორტი 3001 მხოლოდ 127.0.0.1-ზეა ხელმისაწვდომი. HTTPS reverse proxy პანელს გარე წვდომისთვის გამოაქვეყნებს.

4. HTTPS-ის ჩართვა 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

თუ DNS VPS-ზე მიუთითებს, Caddy ავტომატურად მოითხოვს TLS სერტიფიკატს და WebSocket კავშირებს proxy-ით გაატარებს. პანელი დომენის ან subdomain-ის root-ზე განათავსეთ: ისეთი მისამართი, როგორიცაა example.com/kuma, მხარდაჭერილი არ არის.

5. ადმინისტრატორის ანგარიშის შექმნა

გახსენით https://monitor.example.com, შექმენით გრძელი და უნიკალური პაროლის მქონე ანგარიში და ჩართეთ ორფაქტორიანი ავთენტიფიკაცია.

როგორ დავამატოთ პირველი მონიტორი

დააჭირეთ Add New Monitor-ს და აირჩიეთ HTTP(s):

  1. შეიყვანეთ სახელი და სრული URL.
  2. მიუთითეთ ინტერვალი, მაგალითად 60 წამი.
  3. მოკლე ქსელური შეფერხებების გასათვალისწინებლად დაამატეთ ორი განმეორებითი მცდელობა.
  4. აირჩიეთ შეტყობინების არხი.
  5. შეინახეთ მონიტორი და დარწმუნდით, რომ წარმატებული შემოწმებები ჩანს.

მთავარი ვებსაიტისთვის HTTP და Keyword შემოწმებები სასარგებლოა. API-სთვის გამოიყენეთ health endpoint და JSON Query. მონიტორინგის გამო ნუ გახსნით ინტერნეტში მონაცემთა ბაზებს ან ადმინისტრაციულ პორტებს; გამოიყენეთ სანდო ქსელი ან VPN.

სარეზერვო ასლის Push მონიტორის მაგალითი

Push მონიტორის შექმნის შემდეგ მისი უნიკალური URL სკრიპტის ბოლოში დაამატეთ:

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

მოთხოვნა მხოლოდ წარმატებული სარეზერვო ასლის დასრულების შემდეგ სრულდება. Push ტოკენს პაროლივით მოეპყარით: ნებისმიერს, ვინც URL იცის, ყალბი სიგნალის გაგზავნა შეუძლია.

როგორ დავაკავშიროთ Telegram

შექმენით bot @BotFather-ის საშუალებით, გაუგზავნეთ მას შეტყობინება და გახსენით Settings → Notifications → Telegram. შეიყვანეთ Bot Token და Chat ID, დააჭირეთ Test-ს და არხი თქვენს მონიტორებს მიაბით. კრიტიკული სერვისებისთვის დაამატეთ მეორე არხი, მაგალითად ელფოსტა.

როგორ შევქმნათ სტატუსის გვერდი

Status Pages განყოფილებაში შეგიძლიათ მონიტორების დაჯგუფება, მიმდინარე სტატუსისა და ხელმისაწვდომობის ისტორიის ჩვენება, დომენის მიბმა და დაგეგმილი სამუშაოების Maintenance-ის საშუალებით გამოცხადება. არ გამოაქვეყნოთ შიდა IP მისამართები ან ტექნიკური URL-ები: მომხმარებლებს მხოლოდ ისეთი კომპონენტები სჭირდებათ, როგორიცაა “Website”, “API”, “Account dashboard” და “Payments”.

Uptime Kuma-ს განახლება და სარეზერვო კოპირება

დიდ განახლებამდე გააჩერეთ კონტეინერი და შეინახეთ data დირექტორია:

cd /opt/uptime-kuma
docker compose down

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

docker compose up -d

არქივი სხვა მოწყობილობაზე ან გარე საცავში გადაიტანეთ. იმავე VPS-ზე შენახული ასლი სერვერის წაშლისა და დისკის დაზიანებისგან ვერ დაგიცავთ.

ჩვეულებრივი განახლებისთვის:

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

გაშვების შემდეგ შეამოწმეთ docker compose ps, გახსენით პანელი და გაგზავნეთ სატესტო შეტყობინება.

რომელი VPS ავირჩიოთ Uptime Kuma-სთვის?

მცირე ინსტალაციას სჭირდება Linux VPS 1 vCPU-ითა და 1 GB RAM-ით. დამოუკიდებლობა მაქსიმალურ წარმადობაზე მნიშვნელოვანია: მონიტორმა მუშაობა უნდა გააგრძელოს მაშინაც, როცა მთავარი პროექტი მიუწვდომელია.

Uptime Kuma შეგიძლიათ განათავსოთ tropic.host-ის VPS-ზე, თუ მონიტორინგის სერვისები სხვა პლატფორმაზე ან დამოუკიდებელ კვანძზეა. Ubuntu, Docker და სტატიკური IP პანელის სწრაფად გაშვებას ამარტივებს, ხოლო რესურსების გაზრდა შემოწმებების რაოდენობის ზრდასთან ერთადაა შესაძლებელი.

თუ production უკვე იმავე ინფრასტრუქტურაში მუშაობს, აირჩიეთ სხვა კვანძი ან დაამატეთ გარე მონიტორინგი. failure domain-ების განცალკევება დამატებით CPU ბირთვზე სასარგებლოა.

გავრცელებული შეცდომები

შეცდომარატომ არის პრობლემაუკეთესი მიდგომა
მონიტორინგი პროექტთან ახლოს მუშაობსსაერთო ავარია სერვისსა და შეტყობინებებსაც გათიშავსგამოიყენეთ ცალკე VPS ან პლატფორმა
პორტი 3001 ინტერნეტისთვის ღიააპანელი reverse proxy-ის ან HTTPS-ის გარეშეა ხელმისაწვდომიპორტი მიაბით 127.0.0.1-ს
მხოლოდ 200 სტატუსის კოდი მოწმდებააპლიკაციის შეცდომა წარმატებულ პასუხს შეიძლება ჰგავდესდაამატეთ Keyword ან JSON Query
გამოიყენება latest ტეგიის მოძველებულ v1 branch-ზე მიუთითებსგამოიყენეთ louislam/uptime-kuma:2
სარეზერვო ასლი იმავე VPS-ზე ინახებაის სერვერთან ერთად გაქრებაdata დირექტორია სხვაგან გადაიტანეთ

შეჯამება

Uptime Kuma პატარა VPS-ს ვებსაიტების, API-ების, DNS-ის, პორტების, სერტიფიკატებისა და ფონური დავალებების მონიტორინგის საკუთარ ცენტრად აქცევს. Keyword გაფუჭებულ გვერდს ამოიცნობს, JSON Query — არასწორ API პასუხს, ხოლო Push — გაჩერებულ სარეზერვო ასლს ან cron დავალებას.

სანდო კონფიგურაციისთვის მონიტორინგი production-ისგან განცალკევებით გაუშვით, დახურეთ პორტი 3001, ჩართეთ HTTPS და 2FA და ორი შეტყობინების არხი დააკონფიგურირეთ. შემდეგ data დირექტორიის გარე სარეზერვო ასლი და თავად Uptime Kuma-ს დამოუკიდებელი შემოწმება მოაწყვეთ.

FAQ

Uptime Kuma უფასოა?

დიახ. პროექტი open source-ია და MIT ლიცენზიით ვრცელდება. თქვენ მხოლოდ ინფრასტრუქტურის, დომენისა და გარე სარეზერვო ასლების საფასურს იხდით.

რამდენი RAM სჭირდება Uptime Kuma-ს?

მცირე ინსტალაციისთვის 1 GB RAM კარგი საწყისი წერტილია. ასობით შემოწმების, ხანგრძლივი ისტორიის ან Browser Engine-ის შემთხვევაში გამოყავით 2 GB ან მეტი.

შეიძლება Uptime Kuma Docker-ის გარეშე დავაყენოთ?

დიახ, Node.js-ითა და PM2-ით. თუმცა VPS-ზე განახლება, გადატანა და აღდგენა Docker Compose-ით ჩვეულებრივ უფრო მარტივია.

შეიძლება Uptime Kuma დომენის გარეშე გამოვიყენოთ?

ტექნიკურად კი — IP მისამართის ან SSH tunnel-ის საშუალებით. ინტერნეტში მუდმივი წვდომისთვის HTTPS-იანი subdomain უფრო უსაფრთხოა.

აჩვენებს Uptime Kuma CPU-ს, RAM-ისა და დისკის გამოყენებას?

არა, არა როგორც სერვერის მეტრიკების სრულფასოვანი სისტემა. რესურსების მონიტორინგისთვის Uptime Kuma შეავსეთ Prometheus-ით, Netdata-თი, Zabbix-ით ან სხვა სპეციალიზებული ხელსაწყოთი.