הגדרת ניטור מקצועית עבור 1C-Bitrix
לאחרונה פנה אלינו לקוח עם קטלוג של 150,000 פריטים. העמודים נטענו ב-8 שניות, אך בדיקות עומס לא הראו דבר—הבעיה הופיעה רק בתעבורה אמיתית. התברר ששאילתות SQL איטיות הצטברו במשך שבוע, והמערכת נפגעה בהדרגה. הניטור תפס את המגמה בזמן, ואופטמנו את השאילתות ביום אחד. ללא איסוף מדדים מתמשך, אתה לומד על הבעיה מהמשתמש, לא מהמערכת.
לפי Bitrix Benchmark, ל-60% מהפרויקטים יש שאילתות SQL לא אופטימליות שנשארות unnoticed עד לקריסה.
מדוע ניטור רציף יעיל יותר ממדידות חד-פעמיות
בדיקת עומס חד-פעמית היא תמונה; ניטור רציף הוא וידאו באיכות גבוהה. מדידה חד-פעמית לוכדת את המצב ברגע הבדיקה אך אינה מציגה מגמות. ניטור רציף מאפשר לראות: עלייה של 200% בזמן שאילתות SQL לאורך חודש, עלייה שבועית של 2 GB בצריכת הזיכרון של Redis, או PHP-FPM המתקרב לרוויה.
רק עם היסטוריה ניתן להבחין בין קפיצה אקראית להידרדרות מערכתית. לדוגמה, בפרויקט אחד שמנו לב לעלייה של 15% בשגיאות 5xx לאורך שבוע—התברר שעדכון מודול גרם לדליפת זיכרון ב-Redis. הניטור תפס זאת יומיים לפני התלונות הראשונות.
בעיות שאנו פותרים
- השחתה נסתרת: זמן התגובה גדל ב-300% במשך שבועיים עקב שאילתות לא אופטימליות. ללא ניטור—רק תלונות לקוחות.
- הצפת PHP-FPM: תהליכים פעילים > 85% max_children—האתר מתחיל להאט, ואתה לא יודע אם הגיע הזמן להרחיב את המאגר.
- דליפת זיכרון ב-Redis: צריכת הזיכרון גדלה ב-2 GB לשבוע לאחר עדכון מודול. הניטור מזהה את הדליפה לפני ש-Redis מתחיל לפנות מפתחות.
- שאילתות איטיות ב-MySQL: 10+ שאילתות איטיות בדקה—יש צורך לבדוק אינדקסים ומבנה שאילתות.
כיצד אנו מגדירים ניטור: סטאק וקונפיגים
אנו פורסים Prometheus עם exporters על שרתי היעד. עבור פרויקט טיפוסי, אנו משתמשים ב:
node_exporter— מדדי מערכת (CPU, RAM, דיסק, רשת)mysqld_exporter— מדדי MySQL/MariaDB (שאילתות איטיות, InnoDB, מאגר חיבורים)php-fpm_exporter— מדדי PHP-FPM מ-/fpm-statusredis_exporter— מדדי Redis (זיכרון, שיעור פגיעות, לקוחות מחוברים)
כדי לקבל את סטטוס PHP-FPM, יש להוסיף לקונפיג של ה-pool:
pm.status_path = /fpm-status
ב-nginx:
location /fpm-status {
allow 127.0.0.1;
deny all;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
נקודת הקצה /fpm-status מציגה תהליכים פעילים/בטלים/ממתינים. אם active processes קרוב ל-max_children — PHP רווי, יש להגדיל את ה-pool או לייעל את הקוד.
לאחר מכן אנו אוספים נתונים ב-Grafana: בונים דשבורדים עם מדדים מרכזיים עבור Bitrix. דוגמה להתראה: אם php_fpm_active_processes עולה על 85% מה-max למשך יותר מ-5 דקות — התראת Telegram. אם שאילתות איטיות ב-MySQL > 10/דקה — Email. אם זמן התגובה של האתר > 3 שניות — Telegram + שיחה.
אילו מדדים קריטיים עבור Bitrix?
בלוח המחוונים של Grafana, אנו מציגים:
php_fpm_active_processes / php_fpm_max_active_processes— עומס PHP-FPMmysql_global_status_slow_queries— מספר שאילתות איטיותredis_memory_used_bytes— שימוש בזיכרון Redisnode_load1/node_load5— עומס מערכת- אחוז שגיאות 5xx — אינדיקטור לבעיות ברמת האפליקציה
למידע נוסף על Prometheus ו-Grafana.
השוואת כלי ניטור
| כלי | סוג | אחסון היסטוריה | גמישות התראות | זמן פריסה |
|---|---|---|---|---|
| Bitrix Monitor מובנה | פנימי | לא (רק לוג נוכחי) | בסיסי (סף זמן) | 30 דקות |
| Prometheus + Grafana | חיצוני | כן (עד 30 ימים או יותר) | מלא (תנאים, ערוצים) | 3–4 שעות |
| UptimeRobot | זמינות | לא | התראות HTTP | 10 דקות |
מדדים מרכזיים וספי התראות
| מדד | סוג | סף התראה | עדיפות |
|---|---|---|---|
| עומס PHP-FPM (פעיל/מקסימלי) | אחוז | > 85% למשך יותר מ-5 דקות | גבוהה |
| שאילתות SQL איטיות | ספירה/דקה | > 10 | בינונית |
| זיכרון Redis | MB | > 80% מ-maxmemory | גבוהה |
| עומס מערכת (load1) | מספר | > 2 * (מספר ליבות CPU) | בינונית |
| שגיאות 5xx | אחוז | > 1% למשך 5 דקות | קריטית |
דוגמה ללוח מחוונים של Grafana עבור Bitrix
גרפים: עומס PHP-FPM (קו), שאילתות איטיות (היסטוגרמה), שגיאות 5xx (מונה). כל המדדים נצברים לפי שעה ויום, מה שמאפשר לראות מגמות. התראות מוגדרות ל-Telegram ו-Email.תהליך העבודה
- ניתוח: בחינת הארכיטקטורה הנוכחית, העומס (מספר בקשות, שיאים), צווארי בקבוק (מה שכבר ידוע).
- תכנון: בחירת exporters, פיתוח סכמת התראות, הגדרת ספים.
- מימוש: פריסת Prometheus, Grafana, הגדרת איסוף מדדים עם exporters.
- בדיקה: אימות נכונות הנתונים, סימולציה של כשלים, הגדרת לוחות מחוונים.
- פריסה: מעבר לפרודקשן, תיעוד, ביצוע הדרכה לצוות (וובינר של שעה על לוחות מחוונים ותגובות להתראות).
מה כלול בעבודה
- פריסת סטאק Prometheus + Grafana על השרתים שלך או בענן.
- הגדרת אקספורטרים (node, mysql, php-fpm, redis, אופציונלית nginx).
- פיתוח דשבורדים עם מדדים מרכזיים עבור Bitrix.
- הגדרת התראות עם הודעות ל-Telegram ול-Email.
- תיעוד לשימוש בדשבורדים ולמענה להתראות.
- הדרכת הצוות (עד 2 שעות אונליין).
- תמיכה לאחר עלייה לאוויר למשך שבועיים (כוונון ספים, עדכוני אקספורטרים).
לוח זמנים — בין 3 ל-5 ימי עסקים ליישום מלא. עלות אופיינית מחושבת לאחר אבחון, עם חיסכון ניכר במניעת השבתות. לצוות שלנו יש יותר מ-8 שנות ניסיון ויותר מ-50 פרויקטים מוצלחים, מה שמבטיח ניטור אמין.
הזמן אבחון של הפרויקט שלך — ננתח את הארכיטקטורה הנוכחית ונראה את היתרונות של מערכת ניטור. צור קשר להגדרת ניטור שמזהה בעיות לפני שהמשתמשים שמים לב אליהן.

