יכולת צפייה ב-Google Cloud

‫Google Cloud Observability כולל שירותי יכולת צפייה שעוזרים לכם להבין את ההתנהגות, המצב והביצועים של האפליקציות שלכם. היכולת לראות איך האפליקציות מתנהגות ואיך הרכיבים מחוברים עוזרת לכם לצפות שינויים לא צפויים, לזהות אותם ולהגיב אליהם בצורה מהירה ויעילה יותר.

המסמך הזה כולל את הפרטים הבאים:

מידע על ניראות (observability)

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

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

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

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

רכיבים מוליכים

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

נתונים אחרים

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

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

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

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

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

כדי לקבל מידע נוסף על שיטות עבודה מומלצות בנושא מהימנות, כולל עקרונות ושיטות עבודה שקשורים לניראות (observability), אפשר לקרוא את הספר Site Reliability Engineering: How Google Runs Production Systems. בין הנושאים:

Google Cloud Observability

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

‫Cloud Monitoring,‏ Cloud Logging ו-Cloud Trace הם חלק מהשירותים שמופעלים כברירת מחדל כשיוצרים Google Cloud פרויקט.

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

  • הצגת תקינות האפליקציות ב-App Hub.
  • איסוף אוטומטי של מדדים לרוב Google Cloud השירותים.
  • איסוף מדדים של מערכות ואפליקציות מאפליקציות של צד שלישי.
  • הצגה חזותית של מדדים וניתוח שלהם באמצעות מרכזי בקרה שמוגדרים כברירת מחדל או בהתאמה אישית.
  • אפשר להשתמש בניטור סינתטי כדי לבדוק את הביצועים של האפליקציות.
  • הגדרת יעדים למדידת רמת השירות (SLO) כדי לעקוב אחרי אמינות השירות.
  • קבלת התראות כשיש בעיות.

Logging: שימוש ביומנים שנאספו כדי לבצע ניפוי באגים, לפתור בעיות ולקבל תובנות לגבי האפליקציות.

  • איסוף אוטומטי של יומנים עבור רוב Google Cloud השירותים.
  • איסוף אוטומטי של יומני ביקורת עבור רוב השירותים של Google Cloud.
  • איסוף יומנים מתוכנות של צד שלישי.
  • עיון ביומנים וניתוח שלהם.
  • אפשר להשתמש ב-Log Analytics כדי לבצע ניתוח של היומנים ונתונים אחרים באמצעות BigQuery. לדוגמה, אפשר להשתמש ב-BigQuery כדי להשוות כתובות URL ביומנים למערך נתונים ציבורי של כתובות URL זדוניות ידועות.
  • יצירת מדדים מיומנים.
  • קבלת התראות כשמופיעה הודעה ספציפית ביומן.

Error Reporting: צפייה בשגיאות משירותי ענן פעילים וניתוח שלהן:

  • לצפות ביומנים המשויכים לשגיאות המצטברות שמתגלה על ידי Error Reporting (דיווח על שגיאות).
  • צבירת שגיאות שהאפליקציות שולחות אל Error Reporting API.

Trace: צפייה בזרימה ובזמן האחזור של בקשות לאפליקציות וניתוח שלהם כשמבצעים ניפוי באגים ופתרון בעיות.

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

Cloud Profiler: ניתוח של השימוש במעבד (CPU) ובשימוש בזיכרון באפליקציות, כדי לזהות הזדמנויות לשיפור הביצועים.

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

קדימה, מתחילים

בקטע הזה מוסבר איך אפשר להכיר את התכונות של יכולת התצפית ב- Google Cloud.

כדאי לנסות את המדריכים להתחלה מהירה

כדאי לנסות את המדריכים למתחילים כדי להכיר את השירותים הזמינים.

בדיקת נתונים שנאספים באופן אוטומטי

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

  • חלק מהשירותים, כמו Google Kubernetes Engine‏ (GKE),‏ Compute Engine ו-Cloud SQL, מספקים מרכזי בקרה שמוגדרים כברירת מחדל במסוף Google Cloud , כדי להציג נתונים של יכולת צפייה בהקשר של השירות. Google Cloud
  • שירותי Compute Engine,‏ GKE ו-Cloud Run יוצרים מדדים ויומנים של המערכת כברירת מחדל, ואתם יכולים להגדיר איסוף של נתונים נוספים.
  • פונקציות Cloud Run ו-App Engine יוצרות באופן אוטומטי מדדים, יומנים ועקבות.

אפשר גם ליצור תרשים של המדדים שנאספו ב-Metrics Explorer, לצפות ביומנים ב-Logs Explorer או לצפות ביומני מעקב ב-Trace. כדי לבדוק נתונים קשורים ביחד, אפשר ליצור מרכזי בקרה בהתאמה אישית. לדוגמה, אפשר ליצור לוחות בקרה שכוללים יומנים, מדדי ביצועים ומדיניות התראות למכונות וירטואליות.

הגדרת מכונות וירטואליות ב-Compute Engine לאיסוף נתונים נוספים

מכונות וירטואליות ב-Compute Engine אוספות כברירת מחדל רק יומנים ומדדים בסיסיים של המערכת ללא סוכן התפעול

מתקינים את Ops Agent כדי לאסוף נתוני טלמטריה נוספים (יומנים, מדדים ועקבות) מהאפליקציות וממופעי Compute Engine לצורך פתרון בעיות, מעקב אחר ביצועים והתראות.

הגדרת אשכולות GKE לאיסוף נתונים נוספים

כברירת מחדל, אשכולות GKE שולחים יומני מערכת ומדדי מערכת ל-Logging ול-Monitoring. השירות המנוהל של Google Cloud ל-Prometheus מטפל באיסוף של מדדים של צד שלישי ומדדים שהוגדרו על ידי המשתמש.

  • כדאי להשתמש בחבילות של מדדי יכולת צפייה כדי להבין טוב יותר את המצב של האפליקציות ומשאבי האשכול. לדוגמה, מדדים של מישור הבקרה שימושיים ליצירת SLO כדי לעקוב אחרי זמינות השירות והחביון.
  • מעקב אחרי אפליקציות של צד שלישי כמו Postgres,‏ MongoDB ו-Redis. השילובים האלה מספקים מרכזי בקרה מוגדרים מראש ומדיניות התראות.

הגדרת Cloud Run לאיסוף נתונים בהתאמה אישית

אם יש לכם שירות Cloud Run שכותב מדדי Prometheus, אתם יכולים להשתמש ב-Prometheus sidecar כדי לשלוח את המדדים ל-Cloud Monitoring.

אם שירות Cloud Run כותב מדדי OTLP, אפשר להשתמש ב-OpenTelemetry sidecar. דוגמה מופיעה במדריך לאיסוף מדדי OTLP באמצעות קובץ ה-sidecar.

הוספת כלי מדידה לאפליקציות

אינסטרומנטציה היא קוד שמוסיפים לאפליקציה כדי לשלוח נתוני טלמטריה. יש כמה מסגרות קוד פתוח לאינסטרומנטציה שמאפשרות לכם לאסוף מדדים, רישומים ועקבות מהאפליקציה ולשלוח את הנתונים האלה לכל ספק, כולל Google Cloud. עם זאת, יכול להיות שלא תצטרכו להגדיר את האפליקציה. לדוגמה, ב-Cloud Run, בפונקציות Cloud Run וב-App Engine יש מעקב אוטומטי.

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

דוגמאות קוד שמראות איך להטמיע באפליקציה את האפשרות לשלוח נתוני טלמטריה אל Google Cloud:

אולי יעניין אותך גם לעיין בנושאים הבאים: