Language: he
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 ואם צריך גם דף סטטוס.
- הגדירו עדכונים וגיבוי חיצוני של תיקיית הנתונים.
מהו 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 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 בדיסק מקומי או ב-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):
- הזינו שם ואת ה-URL המלא.
- הגדירו את המרווח, למשל 60 שניות.
- הוסיפו שני ניסיונות חוזרים כדי להתמודד עם תקלות רשת קצרות.
- בחרו ערוץ התראות.
- שמרו את המנטר וודאו שבדיקות מוצלחות מופיעות.
בדיקות 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 או כלי ייעודי אחר.
