אתם יכולים לבחור את גישת המדידה הכי יעילה לאפליקציה שלכם, בהתאם ל Google Cloud פלטפורמת המחשוב ולדרישות הטלמטריה. במדריך הזה מפורטות המלצות ל-Google Kubernetes Engine (GKE), ל-Compute Engine ול-Cloud Run, שיעזרו לכם להחליט אם להשתמש ב-Google-Built OpenTelemetry Collector, בסוכן תפעול או בייצוא ישיר של OpenTelemetry בתהליך.
במאמר הזה מפורטות המלצות כלליות והנחיות לפלטפורמות הבאות:
דוגמאות לאפליקציות ומדריכי הטמעה
ההמלצות בדף הזה הן לא הפתרונות היחידים, ויש גישות אחרות שיכולות לעבוד. לקבלת הנחיות נוספות, פנו אל Cloud Customer Care.
המלצות כלליות
בקטע הזה מפורטות המלצות כלליות להוספת אינסטרומנטציה לאפליקציה. במאמר המלצות לפלטפורמה מפורטות הנחיות ספציפיות לפלטפורמה.
נתוני יומנים: מומלץ להשתמש במסגרת שאפשר להגדיר כך שתפיק יומנים בפורמט JSON בשביל Cloud Logging. לכתיבת נתוני יומן, מומלץ:
נתוני מדדים: מומלץ להשתמש ב-OpenTelemetry או בספריות הלקוח של Prometheus:
- OpenTelemetry מספקת מסגרת וספריות לקוח בקוד פתוח, שלא תלויות בספק, כדי להוסיף אינסטרומנטציה לאפליקציות לצורך איסוף מדדים.
- ספריות לקוח של Prometheus (Go, Java, Python וכו') יוצרות מדדים שאפשר לחשוף בנקודת קצה (endpoint) של HTTP ולגרד באמצעות סוכן.
נתוני מעקב: מומלץ להשתמש ב-OpenTelemetry כדי ליצור נתוני מעקב מבוזרים מקוד האפליקציה.
ארכיטקטורות של איסוף נתונים ב-OpenTelemetry
כשמגדירים אפליקציה עם ספריות OpenTelemetry, אפשר לנתב את נתוני הטלמטריה דרך OpenTelemetry Collector העצמאי או לייצא ישירות מתהליך האפליקציה. קובץ התצורה של OpenTelemetry Collector קובע איך ה-Collector מקבל, מעבד ומייצא נתוני טלמטריה. באופן כללי, מומלץ שהאוספים יקבלו וישלחו נתוני טלמטריה באמצעות פרוטוקול OpenTelemetry (OTLP). Telemetry (OTLP) API מטמיע את הפרוטוקול הזה.
יש שתי גישות בסיסיות לשליחת נתוני טלמטריה לפרויקט ב- Google Cloud :
ייצוא מבוסס-אוסף (לא תלוי בספק): אתם מבצעים אינסטרומנטציה של קוד האפליקציה באמצעות OpenTelemetry SDK ומשתמשים בייצוא OTLP בתהליך כדי לשלוח נתונים לאוסף OpenTelemetry, כמו Google-Built OpenTelemetry Collector או מקלט של סוכן תפעול. הנתונים נשלחים מהאוסף לפרויקט ב- Google Cloud . קוד האפליקציה שלכם נשאר ניטרלי לחלוטין מבחינת הספק.
ייצוא ישיר (ספציפי לספק): אתם יכולים להוסיף לקוד האפליקציה את OpenTelemetry SDK ולהגדיר את OpenTelemetry כך שישלח נתוני טלמטריה לפרויקט באמצעות Telemetry API. לא צריך לפרוס אוסף, אבל קוד האפליקציה כולל יחסי תלות ספציפיים לספק.
מומלץ להשתמש באספן OpenTelemetry אם סביבת המחשוב שלכם תומכת בו. בסביבות שבהן לא ניתן להריץ תהליך איסוף נפרד, צריך להשתמש בייצוא ישיר בתוך התהליך.
המלצות לפלטפורמות
בגלל שלסביבות המחשוב של Google Cloud יש יכולות שונות של מחזור חיים ו-sidecar, דפוס האיסוף האופטימלי משתנה בהתאם לפלטפורמה. בקטעים הבאים מפורטות המלצות ספציפיות לסביבת הפריסה שלכם.
GKE
למידע כללי על GKE, קראו את הסקירה הכללית על GKE.
| סוג | המלצה |
|---|---|
| מדדים | מומלץ להשתמש בשירות המנוהל של Google Cloud ל-Prometheus. כדי להוסיף את הכלים, מבצעים אחת מהפעולות הבאות:
|
| מעקבים | מבצעים את הפעולות הבאות:
|
| יומנים | מגדירים את האפליקציה כך שתוציא יומנים בפורמט JSON ל- GKE אוסף באופן אוטומטי יומנים שנכתבו ב- |
Compute Engine
למידע כללי על Compute Engine, קראו את המאמר מכונות וירטואליות.
| סוג | המלצה |
|---|---|
| מדדים ומעקבים | מבצעים את הפעולות הבאות:
לחלופין, אם אתם רוצים להגדיר איסוף רק של מדדים בפורמט Prometheus, אתם יכולים להשתמש במקלט Prometheus של סוכן תפעול כדי לאסוף מדדים שנוצרו באמצעות ספריות הלקוח של Prometheus או OpenTelemetry SDK. |
| יומנים | מבצעים את הפעולות הבאות:
|
Cloud Run
למידע כללי על Cloud Run, קראו את המאמר מה זה Cloud Run.
| סוג | המלצה |
|---|---|
| מדדים ומעקבים | מבצעים את הפעולות הבאות:
לחלופין, אם אתם רוצים להגדיר איסוף רק של מדדים בפורמט Prometheus, אתם יכולים להשתמש ב-Prometheus sidecar ל-Cloud Run כדי לאסוף מדדים שנוצרו באמצעות ספריות הלקוח של Prometheus או OpenTelemetry SDK. |
| יומנים | מגדירים את האפליקציה כך שתוציא יומנים בפורמט JSON ל- Cloud Run אוסף באופן אוטומטי יומנים שנכתבו ב- |
פונקציות Cloud Run
למידע כללי על פונקציות Cloud Run, קראו את הסקירה הכללית על פונקציות Cloud Run.
| סוג | המלצה |
|---|---|
| מדדים | בפונקציות Cloud Run אי אפשר לכתוב נתוני מדדים באופן ישיר. אפשר ליצור מדדים מבוססי-יומנים. |
| מעקבים | משתמשים בערכת ה-SDK של OpenTelemetry ובמייצא ה-OTLP לשפה שלכם. |
| יומנים | מגדירים את האפליקציה כך שתוציא יומנים בפורמט JSON ל- פונקציות Cloud Run אוספות באופן אוטומטי יומנים שנכתבו ב- |
App Engine
למידע כללי על App Engine, קראו את הסקירה הכללית על App Engine.
| סוג | המלצה |
|---|---|
| מדדים | משתמשים בערכת ה-SDK של OpenTelemetry ובמייצא ה-OTLP לשפה שלכם. |
| מעקבים | משתמשים בערכת ה-SDK של OpenTelemetry ובמייצא ה-OTLP לשפה שלכם. |
| יומנים | מגדירים את האפליקציה כך שתוציא יומנים בפורמט JSON ל- App Engine אוסף באופן אוטומטי יומנים שנכתבו ב- |
דוגמאות ומדריכי הטמעה
בסקירה הכללית של הדוגמאות מתוארת הארכיטקטורה והתפקידים הנדרשים בניהול הזהויות והרשאות הגישה (IAM) לדוגמאות הקוד הבאות שמבוססות על אוסף:
במאמר מעבר מהמייצא של Trace לנקודת הקצה של OTLP מוסבר איך לעדכן אפליקציה שמשתמשת בייצוא ישיר כדי לשלוח נתוני מעקב בפורמט OTLP.
במאמר יכולת תצפית למפתחים של סוכני AI מוסבר איך להפעיל סוכני AI גנרטיביים שנוצרו באמצעות LangGraph או מסגרת הערכה לפיתוח סוכנים (ADK).
המסמכים של OpenTelemetry
בקטע הזה יש קישורים ל-OpenTelemetry SDK ולכלי הייצוא של OTLP בשפות שונות.
מקורות מידע כלליים: