הגדרת Healthchecks.io לניטור משימות Cron וגיבויים
משימות Cron נכשלות בשקט. גיבוי הפסיק לפעול לפני שלושה שבועות — איש לא שם לב עד שנדרש שחזור. אנו פותרים זאת עבור לקוחותינו על ידי פריסת Healthchecks.io כשכבת מנגנון "מתג מת" מעל תשתית ה-cron הקיימת: במקום לבדוק אם שירות חי, המערכת מוודאת שכל משימה מתוזמנת מדווחת על ביצוע בזמן. אם לא מתקבל ping בחלון הזמן הצפוי — ההתראה נשלחת מיד, לפני שמצטבר נזק לנתונים.
השירות פועל גם בגרסת ענן וגם בגרסת אירוח עצמי. גרסת הענן ב-healthchecks.io אינה דורשת תשתית כדי להתחיל: צרו בדיקה, הוסיפו קריאת curl בסוף הסקריפט, הגדירו ערוצי התראות. הגרסה העצמית היא קוד פתוח מלא ומתאימה לסביבות רגישות או מנותקות — אותו ממשק, וכל נתוני הניטור נשארים על השרתים שלכם.
אנו משלבים את Healthchecks.io כחלק מהגדרת תשתית גיבוי או ככלי עצמאי לבדיקת משימות מתוזמנות. חיבור של 5–10 בדיקות אורך 2–4 שעות. כיסוי מלא של כל משימות ה-cron בייצור עם ניתוב התראות נכון ותיעוד runbook אורך יום עבודה אחד. צרו קשר לקבלת הערכה מותאמת לסביבה שלכם — אנו מעריכים את היקף הפרויקט ומשיבים תוך 24 שעות.
כיצד Healthchecks.io מנטר משימות Cron
מנגנון מתג מת
צרו בדיקה עם תקופה צפויה (לדוגמה, כל 24 שעות) ותקופת חסד — בדרך כלל שעה אחת — כחיץ. בסוף משימת ה-cron הוסיפו בקשת HTTP לכתובת ה-URL הייחודית של הבדיקה. אם לא מתקבלת בקשה בתוך תקופה + חסד, Healthchecks.io שולח התראה.
# /etc/cron.d/backup
0 2 * * * root /opt/scripts/backup.sh && curl -fsS --retry 3 https://hc-ping.com/your-uuid-here > /dev/null 2>&1
האופרטור && הוא קריטי: curl מתבצע רק לאחר ש-# /etc/cron.d/backup 0 2 * * * root /opt/scripts/backup.sh && curl -fsS --retry 3 https://hc-ping.com/your-uuid-here > /dev/null 2>&1 מסתיים עם קוד 0. סקריפט שנכשל לא מייצר ping, הבדיקה מפספסת את החלון שלה, וההתראה נשלחת. זהו התבנית הנכונה — לעולם אל תשלחו ping ללא תנאי.
פריסה עצמית לתשתית פרטית
Healthchecks.io הוא קוד פתוח. עבור סביבות רגישות או הגדרות לא מקוונות, פרסו מופע משלכם:
---
version: '3.8'
services:
web:
image: healthchecks/healthchecks:latest
environment:
- SECRET_KEY=your-secret-key-here
- ALLOWED_HOSTS=healthchecks.example.com
- [email protected]
- EMAIL_HOST=smtp.example.com
- EMAIL_PORT=587
- EMAIL_USE_TLS=True
ports:
- "8000:8000"
volumes:
- healthchecks-db:/data
---לאחר הפריסה הממשק זהה לגרסת הענן. כל היסטוריית ה-ping, הגדרות הבדיקות והגדרות ההתראות נשארות על התשתית שלכם.
ניטור גיבויים עם Healthchecks.io
אימות תקינות, לא רק ביצוע
ping בסוף סקריפט גיבוי מאשר שהסקריפט רץ עד הסוף — לא שקובץ הגיבוי תקין וניתן לשחזור. הוסיפו אימות גודל לפני שליחת ה-ping כדי לתפוס ארכיונים פגומים או ריקים:
#!/bin/bash
set -e
BACKUP_FILE="/backups/db_$(date +%Y%m%d).sql.gz"
pg_dump -h localhost -U app mydb | gzip > "$BACKUP_FILE"
# Проверяем что файл не пустой (минимум 10KB)
MIN_SIZE=10240
ACTUAL_SIZE=$(stat -c%s "$BACKUP_FILE")
if [ "$ACTUAL_SIZE" -lt "$MIN_SIZE" ]; then
echo "Backup too small: $ACTUAL_SIZE bytes" >&2
exit 1
fi
# Пинг только при успехе
curl -fsS --retry 3 "https://hc-ping.com/${HC_UUID}" > /dev/null
תבנית זו תופסת גיבויים פגומים או חשודים כקטנים מדי, שאחרת היו נעלמים מעין עד למועד השחזור בפועל — כשעלות הכישלון היא הגבוהה ביותר.
מה הלקוחות שלנו מנטרים עם Healthchecks.io
בפרקטיקה שלנו, היעדים הנפוצים ביותר לשילוב Healthchecks.io בתשתית הלקוחות הם:
- גיבויי מסדי נתונים — משימות pg_dump, mysqldump, Barman ו-WAL-G
- סנכרון נתונים לאחסון אובייקטים — rsync, rclone ל-S3, GCS או B2
- רוטציה וארכוב לוגים — logrotate, סקריפטים מותאמים לשליחת לוגים
- יצירת דוחות ETL — ייצוא נתונים לילי וטעינות למערכת נתונים
- חידוש אישורי SSL — certbot renew, במיוחד עבור הגדרות ACME ו-wildcard
- איסוף מדדים ל-Prometheus Pushgateway בעת שימוש במודל push
עבור כל משימה אנו יוצרים בדיקה עם שם ולוח זמנים תיאורי ומחברים אותה לערוץ המתאים: גיבויי ייצור ומסדי נתונים עוברים ל-PagerDuty עם הסלמה; יצירת דוחות ורוטציית לוגים עוברים לערוץ טלגרם של הצוות או למייל.
אינטגרציות התראות
Healthchecks.io תומך ב-Slack, PagerDuty, Telegram, דוא"ל, webhook ועשרות אינטגרציות נוספות. ההגדרה מתבצעת דרך ממשק האינטרנט ואורכת דקות לכל ערוץ. אנו ממליצים על התראות מדורגות: משימות קריטיות עם הסלמה לאיש תורן ומשימות פחות קריטיות עם התראות אסינכרוניות, כך שמהנדסים לא מתעוררים בגלל ייצוא ETL מאוחר.
עבור הגדרות ברמת ייצור אנו מגדירים ערוצי התראות לפני חיבור בדיקות כלשהן, בודקים כל ערוץ ידנית ומתעדים את נתיב ההסלמה ב-runbook לצד ההתנהגות הצפויה של הבדיקה.
מה כלול בהגדרת Healthchecks.io
- סקירת משימות cron קיימות, סקריפטים לגיבוי ומשימות מתוזמנות.
- התקנה והגדרה של Healthchecks.io בענן או באירוח עצמי.
- שילוב קריאות ping בכל סקריפטי ה-cron בייצור ובמשימות הגיבוי.
- בדיקות תקינות גיבוי — אימות גודל קובץ, בדיקות גיל, אימות שחזור אופציונלי.
- הגדרת ניתוב התראות ב-PagerDuty, Telegram, Slack ודוא"ל.
- תיעוד runbook לכל משימה מנוטרת עם לוח זמנים צפוי ושלבי שחזור.
- תמיכה והתאמות לאחר היישום.
לוח זמנים
| היקף | משך |
|---|---|
| Healthchecks.io בענן, 5–10 בדיקות | 2–4 שעות |
| פריסה עצמית והגדרת התראות | 4–8 שעות |
| סקירת cron מלאה וכיסוי ייצור | יום עבודה אחד |
לצוות שלנו ניסיון של 10+ שנים ב-DevOps והוא הגדיר את Healthchecks.io עבור 40+ סביבות ייצור — מהגדרות שרת בודד ועד תשתית מרובת שירותים עם מאות משימות מתוזמנות. מהנדסים מוסמכים, runbooks מתועדים, כיסוי מובטח של כל משימות ה-cron הקריטיות.
העלות מחושבת לפי פרויקט על בסיס מספר משימות ה-cron, סקריפטי הגיבוי ואינטגרציות ההתראות המעורבות. צרו קשר להערכת הפרויקט וקבלת הצעת מחיר מדויקת תוך 24 שעות.







