Tropic Host

Uptime Kuma VPS-ում. ինչպես վերահսկել կայքերն ու սերվերները

2 րոպե կարդալ
Tropic
Uptime Kuma VPS-ում. ինչպես վերահսկել կայքերն ու սերվերները

Language: hy

Uptime Kuma. VPS-ում սեփական կայքի մոնիթորինգի կարգավորում

Կայքը կարող է խափանվել՝ միաժամանակ վերադարձնելով 200 OK։ Պահուստավորման առաջադրանքը նույնպես կարող է դադարել աշխատել՝ առանց ակնհայտ սխալի։ Uptime Kuma-ն հայտնաբերում է երկու խնդիրն էլ. այն ստուգում է կայքերը, API-ները, պորտերը և ֆոնային առաջադրանքները, ապա սխալի դեպքում ծանուցում է ուղարկում։

Այս ուղեցույցում կբացատրենք, թե որտեղ հյուրընկալել մոնիթորինգի համակարգը, ինչ VPS է դրա համար անհրաժեշտ, ինչպես տեղադրել Uptime Kuma 2-ը, միացնել HTTPS-ը, կապել Telegram-ը և ստեղծել կարգավիճակի էջ։

Uptime Kuma-ն՝ յոթ քայլով

  1. Ստեղծեք փոքր VPS՝ այն նախագծերից առանձին, որոնք ցանկանում եք վերահսկել։
  2. Դեպի այն ուղղեք monitor.example.com-ի նման ենթադոմեյն։
  3. Տեղադրեք Docker-ը և գործարկեք Uptime Kuma 2-ը։
  4. Փակեք ներքին 3001 պորտը և միացրեք HTTPS-ը։
  5. Ստեղծեք HTTP, DNS, TCP կամ push մոնիթորներ։
  6. Կարգավորեք Telegram-ը և, անհրաժեշտության դեպքում, կարգավիճակի էջը։
  7. Կազմակերպեք թարմացումներն ու տվյալների գրացուցակի արտաքին պահուստավորումը։

Ծառայությունը սկսելու համար AI բանալի պետք չէ։ Առանց դրա էջերի պահպանումը, ցուցակները, նշումները, OCR-ը և ամբողջական տեքստով որոնումը կշարունակեն աշխատել։ Ավտոմատ պիտակներն ու ամփոփումները չեն ստեղծվի։

Ի՞նչ է Uptime Kuma-ն

Uptime Kuma-ն անվճար, բաց կոդով և սեփական սերվերում տեղադրվող մոնիթորինգի գործիք է։ Դրա վահանակն ու ստուգումների պատմությունը պահվում են ձեր սեփական սերվերում։

Այն կարող է վերահսկել HTTP(S), TCP պորտեր, ping, DNS, WebSocket, պատասխանների տեքստն ու JSON-ը, push ազդանշանները և Docker կոնտեյներները։ Ստուգման նվազագույն միջակայքը 20 վայրկյան է։ Հասանելի են տասնյակ ծանուցման ալիքներ, երկփուլ նույնականացում, ուշացման գրաֆիկներ, TLS վկայագրերի ստուգումներ և մի քանի կարգավիճակի էջեր։

Ինչպես հայտնաբերել 200 OK-ի հետևում թաքնված սխալը

Սովորական HTTP ստուգումը տեսնում է միայն պատասխանի կոդը։ Սակայն վեբ սերվերը կարող է դատարկ էջ կամ հավելվածի սխալի էկրան ցուցադրել՝ միաժամանակ հաջող կարգավիճակ վերադարձնելով։

Ավելի ճշգրիտ մոնիթորինգի համար օգտագործեք.

  • Keyword — որոնում է սպասվող արտահայտություն, օրինակ՝ կայքի անունը կամ “Account dashboard” տեքստը,
  • JSON Query — ստուգում է API-ի պատասխանի արժեքը, օրինակ՝ status: healthy։

Այսպիսով մոնիթորը հաստատում է ոչ միայն պորտի հասանելիությունը, այլև այն, որ հավելվածում կա ճիշտ աշխատանքի առնվազն մեկ սպասվող նշան։

Պահուստավորման և cron առաջադրանքների push մոնիթոր

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,
  • HTTPS-ի համար դոմեյն կամ ենթադոմեյն։

Այս կազմաձևը սովորաբար բավարար է մի քանի տասնյակ պարզ ստուգումների համար։ Հարյուրավոր մոնիթորների, երկարաժամկետ պատմության պահպանման կամ բրաուզերի վրա հիմնված ստուգումների դեպքում ընտրեք 2 GB RAM կամ ավելի։

Ինչպես տեղադրել Uptime Kuma-ն VPS-ում

Օրինակում օգտագործվում են Ubuntu 24.04-ը և 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 ճյուղին։ /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 կապերը։ Վահանակը տեղադրեք դոմեյնի կամ ենթադոմեյնի արմատում. 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-ը

Բոտ ստեղծեք @BotFather-ի միջոցով, ուղարկեք նրան հաղորդագրություն, ապա բացեք Settings → Notifications → Telegram։ Մուտքագրեք Bot Token-ը և Chat ID-ն, սեղմեք Test և ալիքը նշանակեք մոնիթորներին։ Կարևոր ծառայությունների համար ավելացրեք երկրորդ ալիք, օրինակ՝ էլ․ փոստը։

Ինչպես ստեղծել կարգավիճակի էջ

Status Pages բաժնում կարող եք խմբավորել մոնիթորները, ցուցադրել ընթացիկ կարգավիճակն ու հասանելիության պատմությունը, նշանակել դոմեյն և Maintenance-ի միջոցով հայտարարել պլանային աշխատանքների մասին։ Մի հրապարակեք ներքին IP հասցեներ կամ տեխնիկական URL-ներ. հաճախորդներին պետք են միայն «Website», «API», «Account dashboard» և «Payments» բաղադրիչները։

Uptime Kuma-ի թարմացում և պահուստավորում

Խոշոր թարմացումից առաջ կանգնեցրեք կոնտեյները և պահպանեք տվյալների գրացուցակը.

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-ն թույլ են տալիս արագ գործարկել վահանակը, իսկ ստուգումների քանակի աճին զուգահեռ կարելի է ավելացնել ռեսուրսները։

Եթե արտադրական համակարգն արդեն աշխատում է նույն ենթակառուցվածքում, ընտրեք մեկ այլ հանգույց կամ ավելացրեք արտաքին մոնիթորինգ։ Խափանման տիրույթների բաժանումն ավելի օգտակար է, քան ևս մեկ CPU միջուկ ավելացնելը։

Տարածված սխալներ

ՍխալԻնչու է խնդիրԱվելի լավ մոտեցում
Մոնիթորինգն աշխատում է նախագծի կողքինԸնդհանուր խափանումը անջատում է և՛ ծառայությունը, և՛ ծանուցումներըՕգտագործեք առանձին VPS կամ հարթակ
3001 պորտը բաց է ինտերնետի համարՎահանակը հասանելի է առանց reverse proxy-ի կամ HTTPS-իՊորտը կապեք 127.0.0.1-ին
Ստուգվում է միայն 200 կարգավիճակի կոդըՀավելվածի սխալը կարող է նմանվել հաջող պատասխանիԱվելացրեք Keyword կամ JSON Query
Օգտագործվում է latest թեգըԱյն ուղղված է հնացած v1 ճյուղինՕգտագործեք louislam/uptime-kuma:2
Պահուստը պահվում է նույն VPS-ումԱյն կվերանա սերվերի հետ միասինdata գրացուցակը պատճենեք մեկ այլ վայր

Ամփոփում

Uptime Kuma-ն փոքր VPS-ը վերածում է կայքերի, API-ների, DNS-ի, պորտերի, վկայագրերի և ֆոնային առաջադրանքների ձեր սեփական մոնիթորինգի կենտրոնի։ Keyword-ը հայտնաբերում է կոտրված էջը, JSON Query-ն՝ սխալ API պատասխանը, իսկ Push-ը՝ կանգնած պահուստավորումը կամ cron առաջադրանքը։

Հուսալի կազմաձևման համար մոնիթորինգը տեղադրեք production համակարգից առանձին, փակեք 3001 պորտը, միացրեք HTTPS և 2FA և կարգավորեք երկու ծանուցման ալիք։ Այնուհետև կազմակերպեք տվյալների գրացուցակի արտաքին պահուստավորում և հենց Uptime Kuma-ի անկախ ստուգում։

FAQ

Uptime Kuma-ն անվճա՞ր է

Այո։ Նախագիծը բաց կոդով է և տարածվում է MIT լիցենզիայով։ Դուք վճարում եք միայն ենթակառուցվածքի, դոմեյնի և արտաքին պահուստների համար։

Որքա՞ն RAM է պետք Uptime Kuma-ին

Փոքր տեղադրման համար 1 GB RAM-ը ողջամիտ մեկնարկ է։ Հարյուրավոր ստուգումների, երկարաժամկետ պատմության կամ Browser Engine-ի դեպքում հատկացրեք 2 GB կամ ավելի։

Կարո՞ղ եմ Uptime Kuma-ն տեղադրել առանց Docker-ի

Այո, Node.js-ի և PM2-ի միջոցով։ Սակայն Docker Compose-ը VPS-ում սովորաբար հեշտացնում է թարմացումը, տեղափոխումը և վերականգնումը։

Կարո՞ղ եմ Uptime Kuma-ն օգտագործել առանց դոմեյնի

Տեխնիկապես՝ այո, IP հասցեի կամ SSH թունելի միջոցով։ Մշտական ինտերնետ հասանելիության համար HTTPS-ով ենթադոմեյնն ավելի անվտանգ է։

Uptime Kuma-ն ցույց տալի՞ս է CPU-ի, RAM-ի և սկավառակի օգտագործումը

Ոչ՝ որպես սերվերի ամբողջական չափորոշիչների համակարգ։ Ռեսուրսների մոնիթորինգի համար Uptime Kuma-ն լրացրեք Prometheus-ով, Netdata-ով, Zabbix-ով կամ մեկ այլ մասնագիտացված գործիքով։