Runbooks - תפעול תקלות
מסמך זה מרכז נהלי עבודה לטיפול בתקלות נפוצות בייצור (Production).
1. שירות מסוים למטה (Service Down)
סימפטום
הודעות שגיאה בלקוח, או ניטור מראה סטטוס 'Red'.
פעולות
- התחבר לשרת ב-SSH.
- בדוק סטטוס קונטיינרים:
docker ps. - אם קונטיינר נפל, בדוק לוגים:
docker logs <container_name> --tail 100. - הפעל מחדש את השירות:
docker-compose restart <service_name>.
2. עומס גבוה ב-DB
סימפטום
איטיות בכל המערכת, Timeout בבקשות API.
בדיקה
- בדוק חיבורים פעילים במונגו (דרך Mongo Express או CLI).
- חפש שאילתות איטיות (Slow Queries) בלוגים.
- ודא שיש אינדקסים מתאימים לכל השאילתות הנפוצות.
3. מכשירים לא מתעדכנים (MQTT Issue)
סימפטום
שינוי בזמני תפילה לא משתקף במסכים בזמן אמת.
פעולות
- בדוק אם שירות ה-Mosquitto למעלה.
- נסה לשלוח הודעה ידנית ל-Topic של מכשיר ספציפי דרך כלי צד שלישי (MQTT Explorer) כדי לראות אם היא מגיעה.
- אם ה-Broker "תקוע", בצע Restart ל-Mosquitto. המכשירים יתחברו מחדש אוטומטית.
4. שחזור מגיבוי (Database Restore)
תרחיש
מחיקת נתונים בטעות או השחתת DB.
נוהל
- אתר את קובץ הגיבוי האחרון (
/backups/automated/...). - עצור את שרת ה-NestJS כדי למנוע כתיבה בזמן השחזור.
- הרץ פקודת שחזור:
mongorestore --uri="mongodb://..." --drop --archive=<backup_file> - הפעל מחדש את השרת ובדוק תקינות נתונים.