Tropic Host

Uptime Kuma ב-VPS: איך לנטר אתרים ושרתים

2 דקות קריאה
Tropic
Uptime Kuma ב-VPS: איך לנטר אתרים ושרתים

Language: he

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. הגדירו עדכונים וגיבוי חיצוני של תיקיית הנתונים.

מהו 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.

כך המנטר מאשר לא רק שהפורט נגיש, אלא גם שהאפליקציה מכילה לפחות סימן צפוי אחד לפעולה תקינה.

מנטר push לגיבויים ולמשימות cron

מנטר push אינו מבצע polling לשירות. במקום זאת הוא ממתין לאות קבוע שמגיע מהשירות עצמו. סקריפט גיבוי או משימת cron קוראים לכתובת ייחודית לאחר סיום מוצלח. אם האות אינו מגיע בזמן, 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 וחומת אש

צרו רשומת DNS מסוג A שמצביעה לכתובת ה-IPv4 של ה-VPS. התחברו באמצעות 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 בדיסק מקומי או ב-volume רגיל של Docker. NFS ומערכות אחסון ללא נעילת קבצים נכונה עלולים להשחית את מסד הנתונים.

הפורט 3001 זמין רק ב-127.0.0.1. reverse proxy עם HTTPS יפרסם את לוח הבקרה כלפי חוץ.

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. מקמו את לוח הבקרה בשורש הדומיין או תת-הדומיין: כתובת כמו 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, הוסיפו את הכתובת הייחודית שלו לסוף הסקריפט:

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

הבקשה מתבצעת רק לאחר שהגיבוי מסתיים בהצלחה. התייחסו לאסימון push כמו לסיסמה: כל מי שיודע את הכתובת יכול לשלוח אות שקרי.

איך לחבר 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 ב-VPS של tropic.host אם השירותים המנוטרים נמצאים בפלטפורמה אחרת או בצומת עצמאי. 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 שנעצרו.

לתצורה אמינה, ארחו את הניטור בנפרד מסביבת הייצור, סגרו את פורט 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 tunnel. לגישה קבועה מהאינטרנט, תת-דומיין עם HTTPS בטוח יותר.

האם Uptime Kuma מציג שימוש ב-CPU, RAM ובדיסק?

לא כמערכת מלאה למדדי שרת. לניטור משאבים השלימו את Uptime Kuma עם Prometheus, Netdata, Zabbix או כלי ייעודי אחר.