Language: hy
Uptime Kuma. VPS-ում սեփական կայքի մոնիթորինգի կարգավորում
Կայքը կարող է խափանվել՝ միաժամանակ վերադարձնելով 200 OK։ Պահուստավորման առաջադրանքը նույնպես կարող է դադարել աշխատել՝ առանց ակնհայտ սխալի։ Uptime Kuma-ն հայտնաբերում է երկու խնդիրն էլ. այն ստուգում է կայքերը, API-ները, պորտերը և ֆոնային առաջադրանքները, ապա սխալի դեպքում ծանուցում է ուղարկում։
Այս ուղեցույցում կբացատրենք, թե որտեղ հյուրընկալել մոնիթորինգի համակարգը, ինչ VPS է դրա համար անհրաժեշտ, ինչպես տեղադրել Uptime Kuma 2-ը, միացնել HTTPS-ը, կապել Telegram-ը և ստեղծել կարգավիճակի էջ։
Uptime Kuma-ն՝ յոթ քայլով
- Ստեղծեք փոքր VPS՝ այն նախագծերից առանձին, որոնք ցանկանում եք վերահսկել։
- Դեպի այն ուղղեք
monitor.example.com-ի նման ենթադոմեյն։ - Տեղադրեք Docker-ը և գործարկեք Uptime Kuma 2-ը։
- Փակեք ներքին
3001պորտը և միացրեք HTTPS-ը։ - Ստեղծեք HTTP, DNS, TCP կամ push մոնիթորներ։
- Կարգավորեք Telegram-ը և, անհրաժեշտության դեպքում, կարգավիճակի էջը։
- Կազմակերպեք թարմացումներն ու տվյալների գրացուցակի արտաքին պահուստավորումը։
Ծառայությունը սկսելու համար 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 version3. Գործարկեք 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).
- Մուտքագրեք անունը և ամբողջական URL-ը։
- Սահմանեք միջակայքը, օրինակ՝ 60 վայրկյան։
- Ավելացրեք երկու կրկնափորձ՝ կարճ ցանցային խափանումները հաշվի առնելու համար։
- Ընտրեք ծանուցման ալիքը։
- Պահպանեք մոնիթորը և համոզվեք, որ հաջող ստուգումները երևում են։
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-ով կամ մեկ այլ մասնագիտացված գործիքով։
