Google Cloud Observability כולל שירותי יכולת תצפית שעוזרים להבין את ההתנהגות, התקינות והביצועים של האפליקציות, כולל אפליקציות מבוססות-סוכנים. הבנה של אופן הפעולה של האפליקציות ושל אופן החיבור בין הרכיבים עוזרת לצפות שינויים לא צפויים, לזהות אותם ולהגיב להם במהירות וביעילות.
המסמך הזה כולל את הפרטים הבאים:
- הגדרות של מונחים כמו ניראות (observability), ניראות של סוכן (agent) וניראות של אפליקציה ו-APM.
- היתרונות של שירותי ניראות (observability) בפיתוח ובשמירה של אפליקציות אמינות.
- איך Google Cloud Observability עוזר לכם לעקוב אחרי התקינות של האפליקציות והתשתית ולשמור עליה.
- השלבים לתחילת העבודה עם יכולות ניטור ב-Google Cloud.
ניראות (observability)
יכולת התבוננות היא גישה מקיפה לאיסוף ולניתוח של נתוני טלמטריה, כדי לעזור לכם להבין את מצב האפליקציות שלכם, כולל אפליקציות מבוססות-סוכנים, ואת סביבת ההפעלה שלהן. נתוני טלמטריה כוללים נתוני יומן, נתוני מדדים ונתוני מעקב. הוא יכול לכלול גם נתונים אחרים שהאפליקציות שלכם יוצרות, כמו הנחיות ותשובות. נתוני טלמטריה מספקים את המידע שדרוש כדי להבין את התקינות והביצועים של האפליקציות.
- נתוני מדדים
- נתוני מדדים הם נתונים מספריים על בריאות או ביצועים שהמערכת מודדת במרווחי זמן קבועים – למשל, ניצול מעבד וחביון בקשות. שינויים לא צפויים בנתוני המדדים עשויים להצביע על בעיה שצריך לבדוק. עם הזמן, תוכלו גם לנתח דפוסים כדי להבין את דפוסי השימוש ולצפות את הצרכים של המשאבים.
- נתוני יומן
יומן הוא רשומה שנוצרת של פעילות המערכת או האפליקציה לאורך זמן. כל יומן הוא אוסף של רשומות ביומן עם חותמת זמן, וכל רשומה ביומן מתארת אירוע ספציפי.
נתוני יומן לרוב מכילים מידע עשיר ומפורט שעוזר להבין מה קרה בחלק מסוים של האפליקציה. עם זאת, נתוני יומן לא מציגים בצורה יעילה את הקשר בין שינוי ברכיב באפליקציה לבין פעילות ברכיבים אחרים. נתוני מעקב יכולים לגשר על הפער הזה.
- נתוני מעקב
Trace מייצג את הנתיב של בקשה ברכיבים של האפליקציה המבוזרת. כלומר, כל מעקב מייצג פעולה אחת מקצה לקצה. עקבות מורכבים מטווחים, שהם רשומות של פונקציה או פעולה יחידה, ולכן הם מאפשרים לעקוב אחרי זרימת הבקשות ולבדוק את נתוני ההשהיה. המידע הזה יכול לעזור לכם לזהות את שורש הבעיה.
באפליקציות שמבוססות על סוכנים, המעקב מתעד את הפעולות שהסוכן מבצע. לדוגמה, אפשר לתעד שיחות של MCP באמצעות כלי המעקב.
- נתונים אחרים
כדי לקבל תובנות נוספות, אפשר לנתח נתוני יומן, נתוני מדדים ונתוני מעקב, וגם מידע רלוונטי אחר. לדוגמה, תווית שמציינת את חומרת ההתראה או מזהה לקוח בנתוני יומן מספקת הקשר שימושי לפתרון בעיות ולניפוי באגים.
יכולת התבוננות לעומק בסוכנים
יכולת התבוננות לעומק בסוכנים מתייחסת לשיטות להבנת המצב הפנימי וההתנהגות של סוכני תוכנה, במיוחד סוכנים מבוססי-AI שנבנו באמצעות מודלים גדולים של שפה (LLM). סוכני AI הם לא דטרמיניסטיים ומורכבים. לכן, יכולת התצפית חיונית כדי להבין, לנפות באגים, להעריך ולשפר את הביצועים, הבטיחות והמהימנות שלהם.
Google Cloud מספק תמיכה בבדיקת יכולת ההבחנה של אפליקציות באמצעות Application Monitoring, שיוצר לוחות בקרה שמציגים נתוני טלמטריה, נתוני מדדים של משאבי AI ומידע כמו התראות פתוחות. מידע נוסף מופיע בקטע Agent and application observability in Google Cloud בהמשך המאמר הזה.
ניראות של אפליקציות ו-APM
מעקב אחרי ביצועי אפליקציות (APM) מאפשר לעקוב אחרי הביצועים, הזמינות וחוויית המשתמש של אפליקציות תוכנה, כולל אפליקציות מבוססות-סוכנים, לאבחן בעיות ולנהל אותן. מערכת APM בדרך כלל מספקת לוחות בקרה שבהם מוצגים נתוני טלמטריה ושירותים שעוקבים אחרי נתוני טלמטריה. המערכות האלה עוזרות לכם לזהות כשלים.
היכולת לניטור אפליקציות מתבססת על נתוני טלמטריה כדי ליצור תובנות שיעזרו לכם להבין את ההתנהגות של האפליקציות שלכם.
Google Cloud מספק תמיכה בבדיקת יכולת ההבחנה של אפליקציות באמצעות Application Monitoring, שיוצר לוחות בקרה שמציגים נתוני טלמטריה, נתוני מדדים של משאבי AI ומידע כמו התראות פתוחות. מידע נוסף מופיע בקטע Agent and application observability in Google Cloud בהמשך המאמר הזה.
שירותי ניראות (observability)
שירותי יכולת צפייה אוספים, מנתחים ומשייכים נתוני טלמטריה, כמו נתוני יומן, נתוני מדדים ונתוני מעקב. הם מספקים את היכולות הבאות כדי לעזור לכם לשמור על מהימנות האפליקציה:
- לזהות בעיות באופן יזום לפני שהן משפיעות על המשתמשים.
- לפתור בעיות מוכרות ובעיות חדשות.
- ניפוי באגים באפליקציות במהלך הפיתוח.
- הבנת ההשפעה של שינויים באפליקציות.
- גילוי תובנות חדשות באמצעות ניתוח נתונים.
כדי לקבל מידע נוסף על שיטות עבודה מומלצות בנושא אמינות, כולל עקרונות ושיטות עבודה שקשורים ליכולת צפייה, אפשר לקרוא את הספר Site Reliability Engineering: How Google Runs Production Systems. הנושאים כוללים מעקב אחר מערכות מבוזרות, התראות ופתרון בעיות.
Google Cloud Observability
השירותים ב-Google Cloud Observability עוזרים לכם לאסוף, לנתח ולקשר נתונים טלמטריים מהאפליקציות ומהתשתית הבסיסית. השירותים האלה מספקים גם הגדרות ברירת מחדל מובנות שיעזרו לכם להתחיל. לדוגמה, Application Monitoring יוצר לוחות בקרה ומפות טופולוגיה לאפליקציות, לשירותים ולעומסי העבודה שרשומים ב-מרכז האפליקציות.
איסוף אוטומטי של נתוני טלמטריה
Monitoring, Logging ו-Trace הם שירותים שמופעלים כברירת מחדל כשיוצרים פרויקט ב- Google Cloud . השירותים האלה מספקים את היכולות הבסיסיות לאיסוף, לניתוח ולהצגה של נתוני הטלמטריה:
- איסוף אוטומטי של נתוני טלמטריה עבור רוב Google Cloud השירותים.
- איסוף אוטומטי של יומני ביקורת עבור רוב השירותים של Google Cloud.
- לספק שירותי ויזואליזציה, כולל לוחות בקרה וכלי לבדיקת טלמטריה, שמאפשרים לכם לראות ולבדוק את נתוני הטלמטריה. לדוגמה, Trace explorer מאפשר לכם לראות עקבות, טווחים ומטא נתונים, כולל פרומפטים ותשובות מרובי-מוֹדָל. מידע נוסף זמין במאמר בנושא שאילתה של נתוני טלמטריה והצגתם.
- לספק שירותי ניתוח מבוססי SQL לנתוני היומן ולנתוני המעקב. לדוגמה, אתם יכולים להשתמש ב-BigQuery כדי להשוות כתובות URL בנתוני היומן שלכם למערך נתונים ציבורי של כתובות URL זדוניות ידועות.
- לספק מעקב אחרי אפליקציות ומעקב אחרי טלמטריה. לדוגמה, אתם יכולים ליצור מדיניות התראות שתשלח לכם התראות כשנתוני היומן או נתוני המדדים עומדים בתנאים שציינתם. אפשר גם להשתמש בניטור סינתטי כדי לבדוק את הביצועים של האפליקציות.
איסוף נתוני טלמטריה מהאפליקציות שמוגדרות למעקב. הוספת קוד למעקב היא קוד שמוסיפים לאפליקציה כדי לשלוח נתוני טלמטריה.
כדי להוסיף לאפליקציה כלי מדידה, מומלץ להשתמש במסגרת מדידה ניטרלית ובעלת קוד פתוח, כמו OpenTelemetry, במקום בממשקי API או בספריות לקוח ספציפיים לספקים ולמוצרים. מידע על המסגרות האלה זמין במאמרים מדידה ויכולת צפייה ובחירת גישה למדידה.
יכולת התבוננות לעומק בסוכנים ובאפליקציות
Application Monitoring ב- Google Cloud מספק ניראות של סוכן וניראות של אפליקציה. השירות הזה מספק לוחות בקרה ומפות טופולוגיה שמאפשרים לכם להבין את תקינות הביצועים של האפליקציות, השירותים ועומסי העבודה שלכם ב-מרכז האפליקציות. הוא גם יוצר ומציג מדדים כמו שיעורי שגיאות ושימוש באסימונים למשאבי AI. כדי ליצור את המדדים האלה, התכונה 'מעקב אחר ביצועי אפליקציות' מסננת ומצברת את נתוני העקבות באמצעות תוויות ואירועים ספציפיים לאפליקציה, בהתאם למוסכמות הסמנטיות של OpenTelemetry GenAI.
כדי לקבל יכולת התבוננות לעומק בסוכנים, מומלץ ליצור אותם באמצעות מסגרת ערכה לפיתוח סוכנים (ADK). מכיוון ש-ADK מסתמך על OpenTelemetry, הטלמטריה ש-ADK יוצר עקבית עם המוסכמות הסמנטיות של OpenTelemetry GenAI.
כדי לנפות באגים, לעקוב אחרי עלויות או לנתח את התנהגות הסוכן – כולל סוכנים מ-Gemini Enterprise Agent Platform, מ-Agent Gateway ומ-Model Armor – אתם צריכים נתונים של יומנים, מדדים ומעקב:
- היומנים מספקים מידע על אירועים ועל שגיאות.
- המדדים מאפשרים לכם לעקוב אחרי זמן האחזור והשימוש באסימונים.
- הנתונים האלה מספקים מידע על נתיבי הביצוע, והמערכת מנתחת אותם כדי להפיק מדדים כמו מספר הקריאות למודל או השימוש הכולל בטוקנים. המדדים הנגזרים האלה מספקים תובנות לגבי הביצועים וההתנהגות של הסוכנים. מידע נוסף זמין במאמר בנושא צפייה במשאבי AI.
- נתוני ההנחיות והתשובות מאפשרים לכם להעריך את איכות הסוכן ואת תהליך קבלת ההחלטות שלו באמצעות שירות ההערכה של AI גנרטיבי.
לוח הבקרה של ניטור האפליקציות מציג רשימה של השירותים ועומסי העבודה של האפליקציה, כמו אפליקציות Gemini Enterprise, סוכנים של Gemini Enterprise Agent Platform ושרתי MCP:
אפשר לזהות שירותים ועומסי עבודה סוכניים באמצעות סוג התשתית או הסוג הפונקציונלי של מרכז האפליקציות. עמודת הסוג הפונקציונלי מוסתרת כברירת מחדל.
דוגמאות קוד:
תמיכה בזיהוי שגיאות
Error Reporting מנתח רשומות ביומן מ-Cloud Logging כדי למצוא שגיאות. כשError Reporting מוצא שגיאות, הוא מוסיף הערות לרשומות היומן שקשורות לשגיאות ויוצר קבוצת שגיאות. כדאי לעיין בקבוצות השגיאות האלה כדי לזהות את הסיבה לשגיאה ואת ההיסטוריה שלה.
תמיכה ביצירת פרופילים
Cloud Profiler מאפשר לכם לנתח את השימוש במעבד ובזיכרון באפליקציות שלכם כדי לזהות הזדמנויות לשיפור הביצועים.
קדימה, מתחילים
בקטע הזה מוסבר איך להכיר את התכונות של יכולת הצפייה ב- Google Cloud.
כדאי לנסות את המדריכים לתחילת העבודה
כדאי לנסות את המדריכים למתחילים כדי להכיר את השירותים הזמינים.
צפייה בנתונים שנאספים באופן אוטומטי
רוב Google Cloud השירותים יוצרים באופן אוטומטי נתוני יומן ונתוני מדדים. המשמעות היא שתוכלו להתחיל לצפות בחלק מנתוני הניטור של שירותים נתמכים ב- Google Cloud ללא הגדרות נוספות.
- חלק Google Cloud מהשירותים, כמו Google Kubernetes Engine (GKE), Compute Engine ו-Cloud SQL, מספקים לוחות בקרה שמוגדרים כברירת מחדל במסוף Google Cloud כדי להציג נתונים של יכולת צפייה בהקשר של השירות.
- שירותי Compute Engine, GKE ו-Cloud Run יוצרים נתוני מדדים של המערכת ונתוני יומנים כברירת מחדל. אתם מגדירים את האיסוף של נתונים נוספים.
- פונקציות של Cloud Run ו-App Engine יוצרות באופן אוטומטי נתוני מדדים, נתוני יומן ונתוני מעקב.
אפשר גם ליצור תרשים של נתוני מדדים שנאספו ב-Metrics Explorer, לצפות בנתוני יומן ב-Logs Explorer או לצפות בנתוני מעקב ב-Trace. כדי לבדוק נתונים קשורים ביחד, אפשר ליצור מרכזי בקרה בהתאמה אישית. לדוגמה, אפשר ליצור לוח בקרה שכולל נתוני יומן, נתוני מדד לבדיקת ביצועים ומדיניות התראות למכונות וירטואליות.
הגדרת מכונות וירטואליות ב-Compute Engine לאיסוף נתונים נוספים
כברירת מחדל, במכונות וירטואליות ב-Compute Engine נאספים רק נתונים של מדדים בסיסיים של המערכת ונתוני יומנים. עם זאת, אפשר להתקין את Ops Agent כדי לאסוף נתוני טלמטריה נוספים מהאפליקציות ומהמופעים של Compute Engine לצורך פתרון בעיות, מעקב אחר ביצועים והתראות. סוכן תפעול הוא לא אפליקציה סוכנית. במקום זאת, מדובר בתוכנה דטרמיניסטית שאוספת נתוני טלמטריה.
- איסוף אוטומטי של נתוני מדדים של המארח, כמו נתוני מדדים של CPU, GPU, זיכרון ותהליכים.
- איסוף אוטומטי של נתוני יומן מערכת, כמו syslog ממכונות וירטואליות של Linux ויומן האירועים של Windows ממכונות וירטואליות של Windows.
- אפשר לצפות באפליקציות באמצעות:
- שילובים עם אפליקציות של צד שלישי לתוכנות פופולריות, כמו Postgres, MongoDB ו-Java Virtual Machine. השילובים האלה כוללים לוחות בקרה מוגדרים מראש וכללי מדיניות להתראות.
- נתוני מדדים של Prometheus
- נתוני מדדים ונתוני מעקב של OpenTelemetry Protocol (OTLP)
- נתונים מיומני אפליקציות
- סיכום של נתוני הטלמטריה שנאספו זמין במאמר סקירה כללית על סוכן תפעול.
הגדרת אשכולות 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.