ניטור תשתית: סוכני New Relic, NRQL, התראות

התשתית פרוסה על פני מספר עננים, ואיתור הגורם לתקלת ייצור ללא ניטור מקושר הוא כמו חיפוש מחט בערמת שחת. אנחנו מגדירים את New Relic לניטור תשתית: מתקינים סוכנים, כותבים שאילתות NRQL ומגדירים התראות. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד תמיכה שוטפת—כך שאתם מקבלים פתרון אמין שגדל עם העסק שלכם.

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

שאלות נפוצות

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

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

ניטור תשתית עם New Relic: סוכנים, NRQL, התראות

דמיינו שיש לכם 50 מיקרוסרוויסים, כל אחד מייצר מדדים משלו, והתשתית פרוסה על פני שלושה עננים (AWS, GCP, Yandex Cloud). ללא ניטור מקושר, מציאת הגורם לתקלת ייצור היא כמו חיפוש מחט בערמת שחת. מהנדסי ה-DevOps שלנו עם 5 שנות ניסיון נתקלו בכך בפרויקט פלטפורמה פיננסית בעומס גבוה. הפתרון — New Relic, המאחד ניטור APM ותשתית. הגדרת ניטור תשתית של New Relic מאפשרת לתאם מדדי שרת עם ביצועי יישומים תוך שניות. לדוגמה, כאשר ה-CPU על מארח מזנק, זמן התגובה גדל פי 3 — שאילתת NRQL מציגה זאת מיידית. במשך 5 שנים הגדרנו ניטור ליותר מ-50 פרויקטים ואנו מבטיחים יציבות לאחר הפריסה. אנו מפחיתים את ה-MTTR ב-40% — משעתיים ל-15 דקות בממוצע. בפרויקט אחד, זה הפחית הפסדים חודשיים מזמן השבתה ב-$12,000.

לפי New Relic, תאם בין APM לתשתית מקצר את זמן האבחון ב-60%.

למה New Relic עדיף על Prometheus לניטור תשתית?

New Relic מספק תאם בין APM לתשתית ללא רכיבים נוספים. ב-Prometheus, תצטרכו שילוב של exporters, Thanos, וכלי התראות נפרד (Alertmanager). New Relic מציע שפת שאילתות אחת NRQL, המאפשרת לבצע JOIN על מדדי מארח ועסקאות — מה שמאיץ את האבחון פי 3. לפי הניסיון שלנו, זמן הגילוי הממוצע יורד מ-45 דקות ל-10 דקות. New Relic תומך גם באינטגרציות עם 30+ שירותים פופולריים מחוץ לקופסה, בעוד ש-Prometheus דורש הגדרה ידנית של exporters.

איך New Relic פותר את בעיית התאם?

התכונה המרכזית היא NRQL, שפה דמוית SQL המאפשרת לבצע JOIN על מדדי מארח (SystemSample) עם נתוני עסקאות (Transaction). דוגמת שאילתה:

SELECT average(cpuPercent), average(duration) 
FROM SystemSample, Transaction 
WHERE appName = 'production-api' 
FACET hostname 
TIMESERIES 5 minutes 
SINCE 3 hours ago

שאילתה זו מראה שכאשר ה-CPU על מארח SELECT average(cpuPercent), average(duration) FROM SystemSample, Transaction WHERE appName = 'production-api' FACET hostname TIMESERIES 5 minutes SINCE 3 hours ago מזנק, זמן התגובה גדל פי 3. ללא תאם כזה, תבזבזו שעות בהתאמה ידנית של לוחות מחוונים. מידע נוסף על תחביר NRQL בתיעוד הרשמי.

סוכן תשתית New Relic: התקנה ותצורה

הסוכן מותקן על מארחי Linux באמצעות סקריפט:

curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash
sudo NEW_RELIC_API_KEY="${NR_API_KEY}" NEW_RELIC_ACCOUNT_ID="${NR_ACCOUNT_ID}" \
/usr/local/bin/newrelic install -n infrastructure-agent-installer

קובץ תצורה prod-api-01:

---
license_key: "${NR_LICENSE_KEY}"
display_name: "prod-api-01"
custom_attributes:
  environment: production
  team: backend
  region: eu-west-1
log:
  level: info
  file: /var/log/newrelic-infra/newrelic-infra.log
---

curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash sudo NEW_RELIC_API_KEY="${NR_API_KEY}" NEW_RELIC_ACCOUNT_ID="${NR_ACCOUNT_ID}" \ /usr/local/bin/newrelic install -n infrastructure-agent-installer הם כמו תוויות Prometheus, המשמשות לסינון ב-NRQL. ב-Kubernetes, הסוכן נפרס באמצעות Helm chart /etc/newrelic-infra.yml, הכולל איסוף מדדי אשכול, נקודות קצה של Prometheus, ואירועי Kubernetes.

אינטגרציות על-מארח: ניטור שירותים

הסוכן מתחבר לשירותים פופולריים באמצעות אינטגרציות מוכנות על-מארח. תצורה עבור Nginx:

---
integrations:
  - name: nri-nginx
    config:
      status_url: http://127.0.0.1/nginx_status
      status_module: ngx_http_stub_status_module
      metrics: true
      inventory: true
---

לאחר הפעלה מחדש, מדדי license_key: "${NR_LICENSE_KEY}" display_name: "prod-api-01" custom_attributes: environment: production team: backend region: eu-west-1 log: level: info file: /var/log/newrelic-infra/newrelic-infra.log מופיעים. השוו לאיסוף ידני: ללא אינטגרציה, תצטרכו לכתוב סקריפט, להגדיר exporter, ולפתוח פורטים. כאן — שלוש שורות של YAML.

טבלת אינטגרציות נתמכות:

שירות מדדים תצורה
MySQL custom_attributes, nri-bundle integrations: - name: nri-nginx config: status_url: http://127.0.0.1/nginx_status status_module: ngx_http_stub_status_module metrics: true inventory: true
PostgreSQL nginx.*, mysql.queriesPerSecond mysql.innodb.rowLockTime
Redis nri-mysql, postgresql.commitsPerSecond postgresql.cacheHitRatio
RabbitMQ nri-postgresql, redis.opsPerSec redis.memoryUsage

איך להגדיר תאם בין APM לתשתית ב-3 שלבים?

  1. התקינו את סוכן התשתית על כל המארחים עם custom_attributes (סביבה, צוות, אזור).
  2. הגדירו אינטגרציות לשירותים מרכזיים (MySQL, Nginx, Redis) באמצעות קובץ YAML.
  3. צרו לוח מחוונים NRQL המבצע JOIN על nri-redis ו-rabbitmq.queueDepth לפי rabbitmq.messagesPublished.

לאחר מכן, כל זינוק ב-CPU נראה מיידית לצד שינויי זמן התגובה. זה הופך את ניתוח התקלות משעות לדקות.

איך להגדיר התראות ללא אזעקות שווא?

ההתראות נבנות באמצעות Alert Policies → Condition → Workflow. Condition הוא שאילתת NRQL עם סף. דוגמה טיפוסית: nri-rabbitmq עם סף >90% למשך 5 דקות. כדי למנוע אזעקות שווא, אנו משתמשים בתנאים מורכבים (AND) וחלונות זמן. עבור CPU, אנו מוסיפים בדיקה ששיעור השגיאות גם הוא עולה. ה-Workflow שולח הודעות ל-Slack ו-PagerDuty. אנו גם מתאמים עם פריסות באמצעות Change Tracking API: לאחר פריסה, מופיע סמן על לוח המחוונים, ואם שיעור השגיאות עולה, זה נראה מיידית.

רשימת בדיקה להגדרת התראות
  • זיהוי מדדים קריטיים (CPU, זיכרון, שיעור שגיאות).
  • קביעת קו בסיס באמצעות NRQL על פני 14 הימים האחרונים.
  • הגדרת תנאים תוך התחשבות בשעה ביום וביום/לילה.
  • הוספת הסלמה: Slack → PagerDuty → שיחת טלפון.
  • ביצוע בדיקות עומס לאימות.

מה כלול בהגדרת ניטור New Relic?

אנו מספקים שירות מקיף:

שלב מה אנו עושים תוצאה משך משוער
ביקורת מלאי של מארחים, שירותים, ניטור קיים מסמך עם המלצות יום אחד
עיצוב סכימת custom_attributes, רשימת אינטגרציות, מבנה Alert Policies דיאגרמת ארכיטקטורה יום אחד
פריסה התקנת סוכנים המונית (Ansible, cloud-init), הגדרת אינטגרציות סוכנים פעילים על כל המארחים יומיים
לוחות מחוונים לוחות מחוונים NRQL לשירותים מרכזיים 3+ לוחות מחוונים מותאמים יום אחד
התראות הגדרת תנאים באמצעות NRQL, קישור ל-PagerDuty/Slack 10+ כללי התראה יום אחד
תיעוד מדריך תקלות, הוראות תורנות מסמך PDF חצי יום

הניסיון וההבטחות שלנו

יש לנו 5 שנות ניסיון ב-DevOps ו-50+ הטמעות ניטור על New Relic, Prometheus ו-Zabbix. מהנדסים מוסמכים מבטיחים שההתראות לא יפעילו אזעקות שווא ולוחות המחוונים יציגו בדיוק את המדדים הדרושים לקבלת החלטות. ההשקעה מחזירה את עצמה תוך 3 חודשים על ידי הפחתת זמן השבתה ושיפור מהירות התגובה לתקלות. צרו קשר כדי לדון בפרויקט שלכם ולקבל ייעוץ על הגדרת ניטור New Relic.

לוחות זמנים: בין 1 ל-3 ימים בהתאם לגודל התשתית. העלות מחושבת באופן אישי. הזמינו הגדרת ניטור סוהר — והתשתית שלכם תהיה תחת שליטה 24/7. קבלו ייעוץ היום.