ניטור תשתית עם 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 שלבים?
- התקינו את סוכן התשתית על כל המארחים עם custom_attributes (סביבה, צוות, אזור).
- הגדירו אינטגרציות לשירותים מרכזיים (MySQL, Nginx, Redis) באמצעות קובץ YAML.
- צרו לוח מחוונים 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. קבלו ייעוץ היום.







