הקמת ניטור תשתית Nagios במפתח מלא

כאשר שרת ייצור נופל והלקוח הוא הראשון לדעת, זה סימן שניטור מוגדר לא נכון. אנחנו מקימים Nagios במתכונת turnkey: מבדיקת היקף והתקנה ועד פלאגינים מותאמים אישית ואינטגרציית NRPE. הצוות שלנו מטפל בכל המחזור, ומבטיח ניטור זמינות אמין של התשתית שלכם עם תמיכה מתמשכת.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

תארו לעצמכם: שרת הייצור שלכם הפסיק להגיב דרך HTTPS, והלקוח היה הראשון לדעת על כך. לא התקבלה התראה—כי Nagios הוגדר בצורה שגויה. ראינו את התרחיש הזה פעמים רבות. צוות המהנדסים המוסמכים שלנו ב-DevOps מגדיר את Nagios כבר 12 שנים ויודע את כל המלכודות. הזמינו ביקורת על הניטור הנוכחי שלכם וקבלו תוכנית התקנה.

למה Nagios נשאר רלוונטי

Nagios נמצא בשימוש בייצור מאז סוף שנות ה-90. הארכיטקטורה שלו מבוססת על תוספים: הליבה מריצה סקריפטים, שמחזירים קודי יציאה 0/1/2/3 (OK/WARNING/CRITICAL/UNKNOWN) והודעה טקסטואלית. אין נעילה לספק מסוים. לכן Nagios עדיין רץ על עשרות אלפי שרתים. לבדיקות זמינות, הוא פשוט פי 3 להגדרה מאשר Prometheus עם ה-exporters שלו. "Nagios הוא הסטנדרט התעשייתי בניטור תשתיות IT" — האתר הרשמי של Nagios

במה Nagios מצטיין

Nagios מנטר זמינות, לא מדדים. בדיקות: האם המארח מגיב ל-ping? האם פורט 443 מגיב? האם תעודת ה-SSL פגה? האם תהליך nginx רץ? לזה הכלי נועד, וזה אמין. כאב נפוץ הוא ניסיון לאסוף מדדים סדרתיים בזמן דרך Nagios. הסטack הנכון: Nagios לזמינות, Prometheus למדדים (הם משלימים זה את זה בצורה מושלמת).

משימה Nagios Prometheus
בדיקת זמינות פורט ✅ הכי טוב (מובנה check_http) ❌ דרך Blackbox exporter (מורכב)
מדדי CPU/RAM ❌ NRPE כבד ✅ node_exporter (קל)
תעודות SSL ✅ check_http --ssl ❌ דרך Blackbox או מותאם אישית
אנליטיקה לטווח ארוך ❌ ✅ TSDB מובנה, שאילתות PromQL

איך הגדרנו את Nagios: מקרה בוחן

בפרויקט אחד, שחזרנו את Nagios לאחר שמנהל עזב. התצורה הייתה מנופחת: 300 מארחים, 2000 שירותים, חצי מהם ב-UNKNOWN. הגישה שלנו:

  1. ביקורת: בדקנו תקינות מארחים, מצאנו 40 מכונות וירטואליות נטושות.
  2. ארגון מחדש: הכנסנו hostgroups ותבניות שירות, קיצצנו את שורות התצורה פי 3.
  3. התראות: חיברנו את Telegram, הגדרנו הסלמה: אימייל → SMS → שיחת טלפון.
  4. תיעוד: תיארנו כל תוסף וקבוצת אנשי קשר.

תוצאה: MTTR ירד מ-4 שעות ל-30 דקות—הפחתה של פי 2. הזמינו את אותה הגדרה לתשתית שלכם החל מ-$2,500 ופנו אלינו לייעוץ.

מבנה התצורה

קובצי התצורה של Nagios הם קבצי טקסט פשוטים ב-/etc/nagios/conf.d/. האובייקטים העיקריים: host, service, command, contact, hostgroup, servicegroup. אלה מושגי יסוד של Nagios עם פרמטרים ספציפיים כמו check_interval, retry_interval, max_check_attempts.

define host {
    host_name prod-api-01
    alias Production API Server
    address 10.0.1.10
    check_command check-host-alive
    check_interval 1
    retry_interval 1
    max_check_attempts 3
    notification_interval 60
    notification_period 24x7
    contact_groups ops-team
    hostgroups linux-servers, api-servers
}

בדיקת שירות ל-HTTPS עם אימות תעודה:

define service {
  host_name prod-api-01
  service_description HTTPS
  check_command check_http!-S --ssl -p 443 -u /health -w 2 -c 5
  check_interval 5
  max_check_attempts 3
  notification_period 24x7
  contact_groups ops-team
}

define host { host_name prod-api-01 alias Production API Server address 10.0.1.10 check_command check-host-alive check_interval 1 retry_interval 1 max_check_attempts 3 notification_interval 60 notification_period 24x7 contact_groups ops-team hostgroups linux-servers, api-servers } הוא תוסף סטנדרטי מ-define service { host_name prod-api-01 service_description HTTPS check_command check_http!-S --ssl -p 443 -u /health -w 2 -c 5 check_interval 5 max_check_attempts 3 notification_period 24x7 contact_groups ops-team } . הדגלים check_http מגדירים WARNING אם התגובה > 2 שניות, CRITICAL אם > 5 שניות.

תוספי Nagios השימושיים ביותר

Nagios Exchange מציע מעל 5000 תוספים מוכנים. החבילה nagios-plugins מכסה בדיקות בסיסיות:

תוסף מטרה פקודה אופיינית
check_http בדיקת HTTP/HTTPS check_http -H example.com -u /health
check_disk שטח דיסק check_disk -w 20% -c 10% -p /
check_load עומס CPU check_load -w 5,4,3 -c 10,8,6
check_mem שימוש בזיכרון check_mem -w 85 -c 95
check_procs מספר תהליכים check_procs -w 100 -c 200

תוסף מותאם אישית הוא כל קובץ הרצה שמוציא טקסט ומחזיר קוד יציאה מתאים. האיכות המובטחת שלנו: אנו בודקים כל תוסף ביסודיות.

#!/bin/bash
QUEUE=$(redis-cli -h 127.0.0.1 llen critical_jobs 2>/dev/null)
if [ -z "$QUEUE" ]; then
    echo "UNKNOWN: Cannot connect to Redis"
    exit 3
elif [ "$QUEUE" -gt 10000 ]; then
    echo "CRITICAL: Queue length is $QUEUE"
    exit 2
elif [ "$QUEUE" -gt 5000 ]; then
    echo "WARNING: Queue length is $QUEUE"
    exit 1
else
    echo "OK: Queue length is $QUEUE"
    exit 0
fi

הניחו את הקובץ ב--w 2 -c 5, nagios-plugins-all, הגדירו #!/bin/bash QUEUE=$(redis-cli -h 127.0.0.1 llen critical_jobs 2>/dev/null) if [ -z "$QUEUE" ]; then echo "UNKNOWN: Cannot connect to Redis" exit 3 elif [ "$QUEUE" -gt 10000 ]; then echo "CRITICAL: Queue length is $QUEUE" exit 2 elif [ "$QUEUE" -gt 5000 ]; then echo "WARNING: Queue length is $QUEUE" exit 1 else echo "OK: Queue length is $QUEUE" exit 0 fi בתצורה, וקשרו אותו למארח.

NRPE: בדיקות סוכן

NRPE (Nagios Remote Plugin Executor) מריץ תוספים על מארחים מרוחקים. שרת Nagios מבקש מסוכן ה-NRPE על המארח, שמבצע את התוסף מקומית ומחזיר את התוצאה. NRPE יעיל פי 5 מבדיקות מבוססות SSH למדדים פנימיים.

על המארח /usr/lib/nagios/plugins/:

allowed_hosts=10.0.0.5 # nagios server IP
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_mem]=/usr/lib/nagios/plugins/check_mem -w 85 -c 95

התראות והסלמה

Nagios שולח התראות דרך סקריפטים של shell. לאימייל משתמשים ב-chmod +x הסטנדרטי. ל-Telegram, אנו משתמשים בסקריפט מותאם אישית עם Bot API. מדיניות ההסלמה מחליפה אנשי קשר לאחר N דקות ללא תגובה: קודם אימייל למוקדן, אחרי 30 דקות שיחה למנהל הצוות, אחרי שעה ל-CTO. הניסיון שלנו עם 50+ פרויקטים מבטיח התראות אמינות.

מה כלול בהתקנת Nagios סוהר

  • ביקורת על התצורה הנוכחית (או התקנה חדשה)
  • בחירת סטack: Nagios Core (חינם) או Nagios XI (ממשק web)
  • הגדרת בדיקות בסיסיות, NRPE, תוספים מותאמים אישית
  • שילוב התראות (Telegram, אימייל, PagerDuty)
  • תיעוד לכל הבדיקות ואנשי הקשר
  • הדרכת צוות (מפגש של שעתיים)
  • תמיכה למשך שבועיים לאחר ההשקה

החיסכון הממוצע ללקוח לאחר היישום: $15,000 בשנה בזכות התראות אוטומטיות והפחתת זמן השבתה. ההתקנה מתחילה ב-$2,500.

טעויות נפוצות בהגדרת Nagios - שימוש ב-Nagios למדדים סדרתיים בזמן (השתמשו ב-Prometheus במקום) - אי עדכון רשימת המארחים—התראות מיושנות - כתיבת תוספים מותאמים אישית ללא קודי יציאה נכונים—מוביל ל-UNKNOWN - אי הגדרת הסלמה—אירועים קריטיים מוחמצים - אחסון סיסמאות בקובצי תצורה רגילים—השתמשו בקבצים מוצפנים

תהליך

ניתוח → עיצוב → יישום → בדיקות → פריסה → הדרכה. כל שלב מסתיים בתיעוד.

לוח זמנים משוער

הגדרת Nagios Core ל-20–30 מארחים אורכת 2–3 ימים. זה כולל התקנה, NRPE, תוספים והתראות. לוח הזמנים תלוי במורכבות הבדיקות המותאמות אישית. קבלו הערכה מדויקת—צרו קשר.

המהנדסים שלנו עבדו עם Nagios למעלה מ-12 שנים וטיפלו ביותר מ-50 פרויקטים. ה-MTTR הממוצע לאחר ההתקנה יורד פי 2. צרו קשר כדי להזמין התקנת Nagios סוהר החל מ-$2,500 ואנו נקים ניטור שאפשר לסמוך עליו.