סקירה כללית על מעקב סינתטי

במאמר הזה מתואר סוג התמיכה ש-Cloud Monitoring מספק למוניטורים סינתטיים, שמאפשרים לבדוק את הזמינות, העקביות והביצועים של השירותים, האפליקציות, דפי האינטרנט וממשקי ה-API שלכם. במהלך בדיקות סינתטיות, המערכת שולחת מעת לעת בקשות מדומה, ואז מתעדת אם הבקשות האלה הצליחו. היא גם מתעדת נתונים נוספים על הבקשה, כמו זמן האחזור. כדי לקבל התראה כשבדיקה נכשלת, אפשר ליצור מדיניות התראות למעקב אחרי תוצאות הבדיקה.

כדי לבדוק את השירותים והאפליקציות, אפשר להשתמש באחת מהגישות הבאות:

  • בדיקות זמינות מאפשרות לשלוח שאילתה מעת לעת לאפליקציה שמגיבה לבקשות HTTP,‏ HTTPS או TCP. Google Cloud בדיקות זמינות יכולות לבדוק נקודות קצה (endpoints) ציבוריות או פרטיות, והן יכולות לאמת את נתוני התגובה.

  • בעזרת בדיקות סינתטיות מותאמות אישית ובדיקות סינתטיות שמבוססות על Mocha, אפשר לפרוס חבילת בדיקות שבהן אפשר להשתמש כדי לבדוק אפליקציה שמגיבה לבקשות HTTP או HTTPS. כדי ליצור את הבדיקות הסינתטיות האלה, מתחילים עם framework שסופק על ידי Cloud Monitoring – מותאם אישית או Mocha – ואז כותבים את הבדיקות. אם יש לכם גישה ל-Gemini Code Assist בפרויקט הזה, תוכלו להזין הנחיה כדי ליצור את קוד הבדיקה.

  • בודקי קישורים שבורים מאפשרים Google Cloud לבצע בדיקה תקופתית של URI, ולבדוק מספר קישורים שניתן להגדרה שנמצאים ב-URI הזה.

בטבלה הבאה מפורטים הכלים שבהם אפשר להשתמש כדי ליצור בדיקות זמני פעילות וניטור סינתטי:

מסוףGoogle Cloud Cloud Monitoring API Terraform ספריות לקוח
בדיקות זמני פעילות Y Y Y Y
מכשירים סינתטיים לניטור Y Y Y
בודקי קישורים מנותקים Y Y Y

מידע על בדיקות זמני פעילות

יש שני סוגים של בדיקות זמני פעילות:

  • בדיקות זמני פעילות ציבוריות שולחות בקשות מכמה מיקומים ברחבי העולם לכתובות URL או למשאבים שזמינים לציבור. Google Cloud
  • בדיקות זמני פעילות פרטיות שולחות בקשות לכתובות IP פנימיות של משאבים. Google Cloud בדיקות זמינות פרטיות יכולות לשלוח בקשות ברשת פרטית למשאבים כמו מכונה וירטואלית (VM) או מאזן עומסים פנימי (ILB) ברמה 4.

הבקשות שנשלחות בשם בדיקות הזמינות מגיעות מבודקים שנמצאים בכמה Google Cloud אזורים. כשיוצרים בדיקת זמינות, מציינים את האזורים של הבודקים.

מערכת ביצוע הבקשות לבדיקות זמני פעילות, שמסופקת על ידיGoogle Cloud, מנהלת את הפעולות הבאות:

  • הפעלת הבודקים שהוגדרו.
  • אימות התוצאות.

    הבקשה שהונפקה על ידי בודק מצליחה אם המשאב מגיב ומתקיימות כל הדרישות של הגדרת בדיקת הזמינות. אחרת, הבקשה תיכשל. השאילתות של כל בודק הן חסרות מצב (stateless), כלומר כל שאילתה היא פעולה עצמאית.

  • איסוף התוצאות ואחסונן במדדים של בדיקת זמני הפעילות.

    מידע נוסף על המדדים האלה זמין בערכים uptime_check בטבלת המדדים monitoring.

  • כתיבת רשומות ביומן במקרה של כשל.

    אם יוצרים את בדיקת זמני הפעילות באמצעות Google Cloud המסוף, אפשר להגדיר את בדיקת זמני הפעילות כך שתכתוב גם רשומה ביומן, כשהבדיקה נכשלת. אם הגדרתם בדיקת זמינות ציבורית לשליחת פינגים של ICMP, התוצאות של הפינגים האלה נכתבות ביומנים של Cloud Logging כשהפינג נכשל. מידע נוסף זמין במאמר שימוש בפינגים של ICMP.

מידע על כלי לבדיקת קישורים שבורים ועל כלי מעקב סינתטיים אחרים

בעזרת בדיקות סינתטיות אפשר להגדיר מה רוצים לבדוק ורצף של בדיקות. לדוגמה, אפשר לבדוק את דף הכניסה של האפליקציה, את תהליך התשלום בחנות המסחר האלקטרוני או את הקריאות ל-API שהאפליקציה מבצעת לשירותי צד שלישי.

כשיוצרים בדיקה סינתטית, פורסים פונקציית Cloud Run מדור שני שמבוססת על Cloud Run. הפונקציה צריכה להיכתב ב-Node.js ולהסתמך על מסגרת Synthetics SDK בקוד פתוח. שירות Cloud Monitoring מפיץ את המסגרת הזו ומנהל אותה.

‫Cloud Monitoring תומך בסוגים הבאים של בדיקות סינתטיות:

מערכת ביצוע הבקשות של כלי המעקב הסינתטיים, שמסופקת על ידיGoogle Cloud, מנהלת את הפעולות הבאות:

  • הפעלה תקופתית של פונקציית Cloud Run.
  • איסוף ואחסון של תוצאות כל הרצה:

    • מידע על הצלחה וכישלון, כמו הודעת השגיאה, סוג השגיאה ושורת הקוד.
    • זמן הביצוע
    • יומנים
    • מדדים

    מידע על צפייה בתוצאות ההרצה זמין במאמר הסבר על תוצאות של ניטור סינתטי.

מעקב אחר התוצאות וצפייה בהן

אפשר לראות את התוצאות של בדיקות זמינות ובדיקות סינתטיות במסוף Google Cloud :

  • לגבי בדיקות סינתטיות, עוברים לדף Synthetic monitors.
  • כדי לבדוק את זמני הפעילות, עוברים לדף בדיקת זמני פעילות.

כדי לקבל התראה כשבדיקת זמינות או בדיקה סינתטית נכשלות, צריך ליצור מדיניות התראות באמצעות מסוףGoogle Cloud או Google Cloud CLI.

פתרון בעיות שגורמות לכשלים

כדי לעזור לכם לפתור בעיות, כותרות הבקשה והנתונים שנרשמו ביומן כוללים את המזהה של הבדיקה הסינתטית או של בדיקת הזמינות המשויכת. מידע נוסף זמין במאמר פתרון בעיות בבדיקות סינתטיות או בבדיקות זמני פעילות.

מיקום הנתונים

אל תשתמשו בבדיקות סינתטיות או בבדיקות זמינות אם הגדרתם Assured Workloads כי יש לכם דרישות לגבי מיקום הנתונים או רמת השפעה 4 (IL4).

ב-Cloud Monitoring אין ערובה לכך שהנתונים בבקשה לבדיקת זמינות יישמרו במיקום גיאוגרפי ספציפי.

במקרה של בדיקות סינתטיות שתלויות בפונקציית Cloud Run, אפשר לציין את האזור שבו פונקציית Cloud Run נפרסת. עם זאת, אפשר להפעיל את הפונקציה מכל אזור שנתמך על ידי השרתים של בדיקת הזמינות. אי אפשר להגדיר את ההתנהגות הזו.

תמחור

למידע על התמחור של Cloud Monitoring, אפשר לעיין בדף התמחור של Google Cloud Observability.

מגבלות

המגבלות הבאות חלות על השימוש שלכם בבדיקות סינתטיות:

קטגוריה ערך
בדיקות זמני פעילות לכל היקף מדדים * 100
מספר הפינגים של ICMP המקסימלי לכל בדיקת זמינות ציבורית 3
‫Synthetic monitors per metrics scope 100
*המגבלה הזו חלה על מספר ההגדרות של בדיקות זמינות. כל הגדרה של בדיקת זמינות כוללת את מרווח הזמן בין בדיקות הסטטוס של המשאב שצוין.
מידע על הגדלת המגבלה הזו זמין במאמר בנושא בקשה לשינוי המכסות.

המאמרים הבאים