בחירת גישה לאינסטרומנטציה

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

יש המלצות לגבי הנושאים הבאים:

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

GKE

מידע כללי על GKE זמין במאמר סקירה כללית על GKE.

סוג המלצה
מדדים

מומלץ להשתמש בשירות המנוהל של Google Cloud ל-Prometheus.

כדי להוסיף אינסטרומנטציה, מבצעים אחת מהפעולות הבאות:

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

מבצעים את הפעולות הבאות:

  1. פריסת Google-Built OpenTelemetry Collector ב-Google Kubernetes Engine

    האוסף מקבל נתוני מעקב מהיצואן של OTLP בתהליך של ערכת ה-SDK, מעבד את הנתונים האלה ואז שולח את הנתונים המעובדים לפרויקט Google Cloud באמצעות Telemetry (OTLP) API.

  2. משתמשים ב-OpenTelemetry SDK וב-OTLP exporter בשפה שלכם.
יומנים

מגדירים את האפליקציה כך שתפיק יומנים מובנים ב-JSON ותשלח אותם אל stdout ו-stderr. רשימת המסגרות מופיעה במאמר מסגרות מומלצות לרישום ביומן.

‫GKE אוסף באופן אוטומטי יומנים שנכתבו אל stdout ואל stderr. מידע נוסף זמין במאמר מידע על יומנים ב-GKE.

Compute Engine

מידע כללי על Compute Engine זמין במאמר מכונות וירטואליות.

סוג המלצה
מדדים ורכיבים מוליכים

מבצעים את הפעולות הבאות:

  1. שימוש בסוכן תפעול לאיסוף מדדים ועקבות.

    לדוגמה, אפשר לעיין במאמר בנושא איסוף מדדים ועקבות של OpenTelemetry Protocol‏ (OTLP). במדריך הזה מוסבר איך להגדיר את סוכן תפעול לקבלת נתוני מדדים ומעקב מהפונקציות לייצוא OTLP בתהליך של ה-SDK, לבצע טרנספורמציה של הנתונים ואז לשלוח את הנתונים לפרויקט Google Cloud . נתוני מדדים נשלחים באמצעות Cloud Monitoring API, ונתוני מעקב נשלחים באמצעות Cloud Trace API.

  2. משתמשים ב-OpenTelemetry SDK וב-OTLP exporter בשפה שלכם.

לחלופין, אם רוצים להגדיר איסוף רק של מדדים בפורמט Prometheus, אפשר להשתמש בOps Agent Prometheus Receiver כדי לאסוף מדדים שנוצרו באמצעות ספריות לקוח של Prometheus או OpenTelemetry SDK.

יומנים

מבצעים את הפעולות הבאות:

  1. מגדירים את האפליקציה כך שיומנים מובְנים ב-JSON ייכתבו לקובץ. רשימת המסגרות מופיעה במאמר מסגרות מומלצות לרישום ביומן.
  2. מתקינים את סוכן התפעול ומגדירים מקלט. דוגמה מופיעה במאמר בנושא הגדרת מקבלי יומנים.

Cloud Run

למידע כללי על Cloud Run, ראו מה זה Cloud Run.

סוג המלצה
מדדים ורכיבים מוליכים

מבצעים את הפעולות הבאות:

  1. משתמשים ב-OpenTelemetry SDK וב-OTLP exporter בשפה שלכם.
  2. פריסת OpenTelemetry sidecar לאיסוף מדדים ועקבות.

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

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

לחלופין, אם רוצים להגדיר איסוף רק למדדים בפורמט Prometheus, אפשר להשתמש ב-Prometheus sidecar for Cloud Run כדי לאסוף מדדים שהוגדרו באמצעות Prometheus client libraries או OpenTelemetry SDK.

יומנים

מגדירים את האפליקציה כך שתפיק יומנים מובנים ב-JSON ותשלח אותם אל stdout ו-stderr. רשימת המסגרות מופיעה במאמר מסגרות מומלצות לרישום ביומן.

‫Cloud Run אוסף באופן אוטומטי יומנים שנכתבים ב-stdout וב-stderr. מידע נוסף זמין במאמר בנושא כתיבת יומנים של מאגרי תגים.

פונקציות Cloud Run

למידע כללי על פונקציות Cloud Run, ראו סקירה כללית על פונקציות Cloud Run.

סוג המלצה
מדדים אי אפשר לכתוב מדדים ישירות בפונקציות Cloud Run. אפשר ליצור מדדים מבוססי-יומנים.
רכיבים מוליכים משתמשים ב-OpenTelemetry SDK ובכלי לייצוא Cloud Trace בשפה שלכם.
יומנים

מגדירים את האפליקציה כך שתפיק יומנים מובנים ב-JSON ותשלח אותם אל stdout ו-stderr. רשימת המסגרות מופיעה במאמר מסגרות מומלצות לרישום ביומן.

פונקציות Cloud Run אוספות באופן אוטומטי יומנים שנכתבים ב-stdout וב-stderr. מידע נוסף זמין במאמר פונקציות Cloud Run: סקירה כללית על ניטור ורישום ביומן.

App Engine

מידע כללי על App Engine זמין במאמר סקירה כללית על App Engine.

סוג המלצה
מדדים משתמשים ב-OpenTelemetry SDK ובכלי לייצוא של Cloud Monitoring לשפה הרלוונטית.
רכיבים מוליכים משתמשים ב-OpenTelemetry SDK ובכלי לייצוא Cloud Trace בשפה שלכם.
יומנים

מגדירים את האפליקציה כך שתפיק יומנים מובנים ב-JSON ותשלח אותם אל stdout ו-stderr. רשימת המסגרות מופיעה במאמר מסגרות מומלצות לרישום ביומן.

‫App Engine אוסף באופן אוטומטי יומנים שנכתבו אל stdout ואל stderr. מידע נוסף זמין במאמר בנושא כתיבה של יומנים והצגה שלהם.

מסגרות מומלצות לרישום ביומן

כדי לאסוף יומנים, מומלץ להשתמש במסגרת שאפשר להגדיר בה פלט של אובייקטים מסוג JSON שעברו סריאליזציה אל stdout, אל stderr או אל קובץ. סוכן הרישום ביומן, בין אם הוא משולב או מותקן, סורק את הקובץ וכותב יומנים מובנים ל-Cloud Logging. לכתיבת נתוני יומן, מומלץ:

דוגמאות קוד

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

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

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

מומלץ להשתמש ב-OpenTelemetry Collector כדי לייצא את נתוני הטלמטריה אם הסביבה שלכם תומכת בשימוש ב-Collector. בסביבות מסוימות, צריך להשתמש בכלי לייצוא שפועל בתהליך ושולח נתונים ישירות לGoogle Cloud פרויקט.

דוגמאות לייצוא שמבוסס על כלי איסוף

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

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

דוגמאות לייצוא ישיר באמצעות כלי ייצוא בתוך התהליך

הפניות ל-OpenTelemetry

בקטע הזה יש קישורים ל-SDK של OpenTelemetry ולכלי הייצוא של OTLP,‏ Cloud Trace ו-Cloud Monitoring.

מקורות מידע כלליים:

Go

Java

JavaScript

Python