Tropic Host

Uptime Kuma kwenye VPS: jinsi ya kufuatilia tovuti na seva

Kusoma kwa 6 min
Tropic
Uptime Kuma kwenye VPS: jinsi ya kufuatilia tovuti na seva

Language: sw

Uptime Kuma: sanidi ufuatiliaji wako wa tovuti kwenye VPS

Tovuti inaweza kuharibika huku ikiendelea kurudisha 200 OK. Kazi ya kuhifadhi nakala inaweza kusimama bila hitilafu inayoonekana. Uptime Kuma hugundua matatizo yote mawili: hukagua tovuti, API, milango na kazi za nyuma, kisha hutuma arifa jambo linapoharibika.

Mwongozo huu unaeleza mahali pa kuhifadhi mfumo wa ufuatiliaji, inahitaji VPS ya aina gani, na jinsi ya kusakinisha Uptime Kuma 2, kuwasha HTTPS, kuunganisha Telegram na kuunda ukurasa wa hali.

Uptime Kuma kwa hatua saba

  1. Sanidi VPS ndogo tofauti na miradi unayotaka kufuatilia.
  2. Elekeza subdomain kama monitor.example.com kwake.
  3. Sakinisha Docker na uendeshe Uptime Kuma 2.
  4. Funga mlango wa ndani 3001 na uwashe HTTPS.
  5. Unda vifuatiliaji vya HTTP, DNS, TCP au push.
  6. Sanidi Telegram na, ikihitajika, ukurasa wa hali.
  7. Sanidi masasisho na nakala ya nje ya saraka ya data.

Uptime Kuma ni nini?

Uptime Kuma ni zana ya bure, ya open source na ya kujihifadhi mwenyewe kwa ufuatiliaji. Dashibodi yake na historia ya ukaguzi huhifadhiwa kwenye seva yako mwenyewe.

Inaweza kufuatilia HTTP(S), milango ya TCP, ping, DNS, WebSocket, maandishi na JSON kwenye majibu, ishara za push na kontena za Docker. Muda wa chini wa ukaguzi ni sekunde 20. Pia kuna njia kadhaa za arifa, uthibitishaji wa hatua mbili, grafu za muda wa majibu, ukaguzi wa vyeti vya TLS na kurasa kadhaa za hali.

Jinsi ya kugundua hitilafu iliyofichwa nyuma ya 200 OK

Ukaguzi wa kawaida wa HTTP huona msimbo wa jibu pekee. Hata hivyo, seva ya wavuti inaweza kuonyesha ukurasa tupu au skrini ya hitilafu ya programu huku ikiendelea kurudisha hali ya mafanikio.

Kwa ufuatiliaji sahihi zaidi, tumia:

  • Keyword — hutafuta kifungu kinachotarajiwa, kama jina la tovuti au maandishi “Account dashboard”;
  • JSON Query — hukagua thamani katika jibu la API, kama status: healthy.

Kwa njia hii, kifuatiliaji hakithibitishi tu kwamba mlango unafikika, bali pia kwamba programu ina angalau ishara moja inayotarajiwa ya utendaji sahihi.

Kifuatiliaji cha push kwa nakala na kazi za cron

Kifuatiliaji cha push hakihoji huduma mara kwa mara. Badala yake, husubiri ishara ya kawaida kutoka kwenye huduma yenyewe. Skripti ya nakala au kazi ya cron huita URL ya kipekee baada ya kukamilika kwa mafanikio. Ishara isipofika kwa wakati, Uptime Kuma huripoti hitilafu.

Hii husaidia kugundua tatizo “kimya”: tovuti bado inafanya kazi, lakini nakala ya kila siku haijatengenezwa kwa siku kadhaa.

Uptime Kuma haichukui nafasi ya nini

Uptime Kuma hufuatilia hasa upatikanaji na muda wa majibu. Ili kufuatilia CPU, RAM, diski, logi na vipimo vya kontena, iunganishe na Prometheus, Netdata, Zabbix au mfumo mwingine wa ufuatiliaji: Kuma huona tatizo kutoka nje, ilhali vipimo husaidia kutambua chanzo.

Kwa nini ufuatiliaji uendeshe kwenye VPS tofauti

Ukiweka Uptime Kuma karibu na tovuti, hitilafu ya VPS, mtandao au kituo cha data itazima mradi na mfumo wa ufuatiliaji kwa pamoja. Huenda arifa isitumwe kamwe.

Weka dashibodi kwenye VPS tofauti, na kwa miradi muhimu tumia eneo au mtoa huduma mwingine. Pia ni muhimu kufuatilia Kuma yenyewe kwa huduma ya nje: mfumo wa ufuatiliaji pia unahitaji mtu wa kuuangalia.

Mahitaji ya seva ya Uptime Kuma

Mradi haujaweka kiwango cha chini rasmi na thabiti cha CPU na RAM. Kwa usakinishaji mdogo, usanidi huu ni mwanzo wa vitendo:

  • 1 vCPU;
  • 1 GB ya RAM;
  • 10 GB SSD;
  • Ubuntu 24.04 LTS;
  • IPv4;
  • domeni au subdomain kwa HTTPS.

Usanidi huu kwa kawaida unatosha kwa ukaguzi kadhaa wa kawaida. Kwa mamia ya vifuatiliaji, kuhifadhi historia kwa muda mrefu au ukaguzi unaotumia kivinjari, chagua RAM ya 2 GB au zaidi.

Jinsi ya kusakinisha Uptime Kuma kwenye VPS

Mfano huu unatumia Ubuntu 24.04 na subdomain monitor.example.com.

1. Sanidi DNS na firewall

Unda rekodi ya DNS ya A inayoelekeza kwenye anwani ya IPv4 ya VPS. Unganisha kwa SSH na ufungue milango inayohitajika:

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

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

Usifunge kikao cha sasa cha SSH hadi ujaribu muunganisho mpya.

2. Sakinisha Docker na 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. Endesha 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

Tumia lebo ya :2: latest bado inaelekeza kwenye tawi la zamani la v1. Saraka ya /app/data lazima ihifadhiwe kwenye diski ya ndani au volume ya kawaida ya Docker. NFS na mifumo ya kuhifadhi isiyo na locking sahihi ya faili inaweza kuharibu hifadhidata.

Mlango 3001 unapatikana kwenye 127.0.0.1 pekee. Reverse proxy ya HTTPS itachapisha dashibodi kwa nje.

4. Washa HTTPS kwa 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 ikielekeza kwenye VPS, Caddy itaomba cheti cha TLS kiotomatiki na kupitisha miunganisho ya WebSocket. Weka dashibodi kwenye mzizi wa domeni au subdomain: anwani kama example.com/kuma haitumiki.

5. Unda akaunti ya msimamizi

Fungua https://monitor.example.com, unda akaunti yenye nenosiri refu na la kipekee, kisha uwashe uthibitishaji wa hatua mbili.

Jinsi ya kuongeza kifuatiliaji cha kwanza

Bofya Add New Monitor na uchague HTTP(s):

  1. Weka jina na URL kamili.
  2. Weka muda wa ukaguzi, kwa mfano sekunde 60.
  3. Ongeza majaribio mawili ya kurudia ili kushughulikia hitilafu fupi za mtandao.
  4. Chagua njia ya arifa.
  5. Hifadhi kifuatiliaji na uhakikishe ukaguzi uliofanikiwa unaonekana.

Ukaguzi wa HTTP na Keyword ni muhimu kwa tovuti kuu. Kwa API, tumia endpoint ya afya na JSON Query. Usifungue hifadhidata au milango ya usimamizi kwa internet kwa ajili ya ufuatiliaji tu; tumia mtandao unaoaminika au VPN.

Mfano wa kifuatiliaji cha push kwa nakala

Baada ya kuunda kifuatiliaji cha Push, ongeza URL yake ya kipekee mwishoni mwa skripti:

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

Ombi linatekelezwa tu baada ya nakala kukamilika kwa mafanikio. Chukulia tokeni ya push kama nenosiri: yeyote anayejua URL anaweza kutuma ishara ya uongo.

Jinsi ya kuunganisha Telegram

Unda bot kupitia @BotFather, itumie ujumbe, kisha ufungue Settings → Notifications → Telegram. Weka Bot Token na Chat ID, bofya Test, halafu ipe njia hiyo vifuatiliaji vyako. Kwa huduma muhimu, ongeza njia ya pili kama barua pepe.

Jinsi ya kuunda ukurasa wa hali

Kwenye Status Pages, unaweza kupanga vifuatiliaji katika makundi, kuonyesha hali ya sasa na historia ya upatikanaji, kuhusisha domeni na kutangaza kazi iliyopangwa kupitia Maintenance. Usichapishe anwani za ndani za IP au URL za kiufundi: wateja wanahitaji vipengele kama “Website”, “API”, “Account dashboard” na “Payments” pekee.

Kusasisha na kuhifadhi nakala ya Uptime Kuma

Kabla ya sasisho kubwa, simamisha kontena na uhifadhi saraka ya data:

cd /opt/uptime-kuma
docker compose down

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

docker compose up -d

Hamisha jalada kwenye kifaa kingine au hifadhi ya nje. Nakala iliyo kwenye VPS hiyo hiyo haitakulinda dhidi ya kufutwa kwa seva au kuharibika kwa diski.

Kwa sasisho la kawaida:

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

Baada ya kuanza, angalia docker compose ps, fungua dashibodi na utume arifa ya majaribio.

Uchague VPS gani kwa Uptime Kuma?

Usakinishaji mdogo unahitaji VPS ya Linux yenye 1 vCPU na 1 GB ya RAM. Kujitegemea ni muhimu zaidi kuliko utendaji wa juu kabisa: kifuatiliaji lazima kiendelee kufanya kazi mradi mkuu usipopatikana.

Unaweza kuhifadhi Uptime Kuma kwenye VPS ya tropic.host ikiwa huduma unazofuatilia ziko kwenye jukwaa lingine au nodi huru. Ubuntu, Docker na IP tuli hukuwezesha kuzindua dashibodi haraka, huku rasilimali zikiweza kuongezwa kadiri idadi ya ukaguzi inavyokua.

Ikiwa uzalishaji tayari unaendesha kwenye miundombinu hiyo hiyo, chagua nodi nyingine au ongeza ufuatiliaji wa nje. Kutenganisha maeneo ya hitilafu kuna faida zaidi kuliko kuongeza kiini kingine cha CPU.

Makosa ya kawaida

KosaKwa nini ni tatizoNjia bora
Ufuatiliaji unaendesha karibu na mradiHitilafu ya pamoja inazima huduma na arifa zoteTumia VPS au jukwaa tofauti
Mlango 3001 umefunguliwa kwa internetDashibodi inapatikana bila reverse proxy au HTTPSFunga mlango kwenye 127.0.0.1
Msimbo wa hali 200 pekee ndio unaokaguliwaHitilafu ya programu inaweza kuonekana kama jibu lililofanikiwaOngeza Keyword au JSON Query
Lebo ya latest inatumikaInaelekeza kwenye tawi la zamani la v1Tumia louislam/uptime-kuma:2
Nakala imehifadhiwa kwenye VPS hiyo hiyoItapotea pamoja na sevaNakili saraka ya data mahali pengine

Muhtasari

Uptime Kuma hugeuza VPS ndogo kuwa kituo chako cha ufuatiliaji wa tovuti, API, DNS, milango, vyeti na kazi za nyuma. Keyword hugundua ukurasa ulioharibika, JSON Query hugundua jibu lisilo sahihi la API, na Push hugundua nakala au kazi ya cron iliyosimama.

Kwa usanidi unaotegemeka, endesha ufuatiliaji tofauti na uzalishaji, funga mlango 3001, washa HTTPS na 2FA, na sanidi njia mbili za arifa. Kisha panga nakala ya nje ya saraka ya data na ukaguzi huru wa Uptime Kuma yenyewe.

FAQ

Je, Uptime Kuma ni bure?

Ndiyo. Mradi ni open source na unasambazwa chini ya leseni ya MIT. Unalipia tu miundombinu, domeni na nakala za nje.

Uptime Kuma inahitaji RAM kiasi gani?

Kwa usakinishaji mdogo, 1 GB ya RAM ni mwanzo mzuri. Kwa mamia ya ukaguzi, historia ya muda mrefu au Browser Engine, tenga 2 GB au zaidi.

Je, naweza kusakinisha Uptime Kuma bila Docker?

Ndiyo, kwa Node.js na PM2. Hata hivyo, Docker Compose kwa kawaida ni rahisi zaidi kusasisha, kuhamisha na kurejesha kwenye VPS.

Je, Uptime Kuma inaweza kutumika bila domeni?

Kinadharia ndiyo, kupitia anwani ya IP au tunnel ya SSH. Kwa ufikiaji wa kudumu kupitia internet, subdomain yenye HTTPS ni salama zaidi.

Je, Uptime Kuma huonyesha matumizi ya CPU, RAM na diski?

Si kama mfumo kamili wa vipimo vya seva. Kwa ufuatiliaji wa rasilimali, iunganishe na Prometheus, Netdata, Zabbix au zana nyingine maalumu.