אתם יכולים לבחור את גישת המדידה הכי יעילה לאפליקציה שלכם, בהתאם ל 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 . קוד האפליקציה שלכם נשאר ניטרלי לחלוטין מבחינת הספק.
ייצוא ישיר (ספציפי לספק): אתם מוסיפים לקוד האפליקציה את ה-SDK של OpenTelemetry ומגדירים את 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 או מסגרת Agent Development Kit (ADK).
מסמכי התיעוד של OpenTelemetry
בקטע הזה יש קישורים ל-OpenTelemetry SDK ולכלי הייצוא של OTLP בשפות שונות.
חומר עיוני כללי: