OB
אופיר ברנס
Builder · TLV
חזרה לכל הפרויקטים
Automation · 2026 · Personal Project

CronPing

מערכת מוניטור uptime אמיתית, רצה בייצור, עם התראות Telegram בזמן אמת

CronPing

CronPing — מערכת אמיתית (לא דמו) למעקב uptime של אתרים, עם התראות Telegram כשהאתר נופל.

מותקנת ופעילה ב-zbang-api. ה-scheduler רץ ברקע, בודק את המוניטורים בפועל, וכותב את התוצאות ל-PostgreSQL.

מה זה עושה (באמת)

  • HTTP probes אמיתיים — כל מוניטור נבדק לפי האינטרוול שמוגדר (60 שניות עד יום) דרך httpx עם GET/HEAD, timeout מוגדר, וכופן keyword check.
  • PostgreSQL persistence — שלוש טבלאות: cronping_monitors, cronping_checks, cronping_settings. כל בדיקה כתובה לטבלת checks עם status code, response time במ"ש, ושגיאה אם הייתה.
  • Telegram alerts אמיתיים — כשמוניטור נכשל N בדיקות רצופות (סף מוגדר), המערכת שולחת הודעת Markdown ל-Telegram חדר עם פרטי האתר. cooldown של 30 דק׳ למניעת שטף.
  • Recovery alerts — כשהאתר חוזר לתפקד, מקבלים הודעה "האתר חזר" עם משך הזמן שהיה down.
  • Uptime analytics — חישוב uptime% של 24 שעות אחרונות + ממוצע latency, SQL aggregations מהירים.

איך מגדירים את זה לעבוד

  1. צור bot ב-Telegram דרך @BotFather — קבל bot token (1234567:ABC-DEF...).
  2. קבל chat ID ע"י שליחת /start לבוט, ואז https://api.telegram.org/bot<TOKEN>/getUpdates.
  3. הזן בטופס הגדרות ב-/cronping/ → לשונית "הגדרות".
  4. שמור + לחץ "שלח הודעת בדיקה" — אם ההודעה הגיעה, סיימת.
  5. הוסף URL לבדיקה דרך הכפתור הראשי — המערכת תתחיל לסקור אוטומטית.

טכנולוגיות

Backend:

  • FastAPI router /api/cronping/* ב-zbang-api Docker container
  • SQLAlchemy 2.0 models, PostgreSQL 16
  • asyncio.create_task scheduler loop רץ כל 15 שניות
  • httpx.AsyncClient ל-probes אסינכרוניים
  • Telegram Bot API ישיר עם Markdown formatting

Frontend:

  • HTML/CSS/JS vanilla, ללא frameworks ו-builds
  • Auto-refresh כל 15 שניות עם fetch למ-API
  • פלטה teal-deep + emerald + cyan על רקע infrastructure-themed
  • תמונות hero + section מיוצרות ב-codex gpt-image-2
  • Modal טיפוסי עם handle, validation, ו-empty state

אבטחה / הגבלות (v1)

  • Single-tenant — singleton settings row
  • מקסימום 25 מוניטורים
  • אינטרוול מינימלי 60 שניות
  • bot token לא מוצג ב-GET (מסונן)
  • API rate limit דרך slowapi

הפעלת המערכת בפועל · תיעוד API

· TECHNOLOGY ·
Automation Real Production System FastAPI PostgreSQL asyncio Scheduler httpx Telegram Bot API SQLAlchemy 2.0 Live Monitoring Hebrew RTL

פרויקטים קשורים.

· YOUR PROJECT NEXT ·

הפרויקט הבא שלך?

בוא נדבר