בדף הזה מוסבר איך להפעיל מעקב בצד הלקוח באמצעות OpenTelemetry כשמשתמשים בספריות הלקוח של Cloud Storage כדי ליצור אינטראקציה עם Cloud Storage. אפשר לאסוף ולהציג נתוני מעקב באמצעות ספריות הלקוח הנתמכות הבאות של Cloud Storage:
סקירה כללית
הפעלת מעקב בספריות הלקוח של Cloud Storage מאפשרת לכם לעקוב אחרי הביצועים, לאתר בעיות של זמן אחזור ולבצע במהירות ניפוי באגים בבקשות של Cloud Storage. באמצעות Traces אפשר לראות את הרצף של בקשה שהושלמה, ולקבל תצוגה מפורטת של האופן שבו הבקשה התקבלה, טופלה ונענתה על ידי Cloud Storage. כל מעקב מורכב מכמה טווחים, שהם רשומות מפורטות עם חותמת זמן של כל פונקציה או פעולה שהאפליקציה ביצעה במהלך הבקשה ל-Cloud Storage.
יתרונות
איסוף נתוני מעקב והפצתם מספק לאפליקציה את היתרונות הבאים:
שיפור הנראות של הביצועים: נתוני המעקב נוצרים כמעט בזמן אמת כש-Cloud Storage משלים כל בקשה שאתם שולחים, כך שאתם יכולים לזהות במהירות צווארי בקבוק בביצועים ולגלות בעיות של זמן אחזור.
טיפול בשגיאות: אתם יכולים לזהות בדיוק איפה מתעוררות בעיות, וכך לנתח את שורש הבעיה במהירות ולצמצם את זמן ההשבתה באמצעות המידע על כל בקשה ל-Cloud Storage שמופיע במעקב.
איך פועלים מעקבים בצד הלקוח
בקטעים הבאים מוסבר בפירוט איך איסוף נתוני ה-trace מתבצע.
איך מתבצע איסוף של נתוני מעקב באמצעות OpenTelemetry
ספריות הלקוח של Cloud Storage תומכות באיסוף נתוני מעקב באמצעות OpenTelemetry SDK. כך אפשר להגדיר את הרכיבים הבאים שנדרשים לאיסוף ולהפצה של נתוני מעקב:
ספק Trace: ספק Trace נמצא בשימוש בספריות הלקוח של Cloud Storage, והוא אחראי ליצירה ולניהול של מערכת המעקב, כולל יצירה וניהול של מעקבים וטווחים באפליקציה.
Trace exporter: מודול לייצוא נתוני מעקב שמשמש את OpenTelemetry SDK. המודול הזה אחראי לשליחת נתוני מעקב לפלטפורמת קצה עורפי לניטור, כמו Cloud Trace, שבה אפשר לנתח ולהציג נתוני מעקב. מידע נוסף על כלי לייצוא של נתוני מעקב
איך פועלים כלי ייצוא של נתוני מעקב
הגדרת מעקב באמצעות OpenTelemetry SDK כוללת בחירה של קצה עורפי (backend) של יכולת התבוננות (observability) לייצוא הנתונים, שבו הם מנותחים, מאוחסנים ומוצגים באופן חזותי. אפשר לייצא את נתוני העקבות לכל קצה עורפי של מערכת ניהול נתונים (backend) לבחירתכם, אבל מומלץ להשתמש ב-Cloud Trace, שאפשר לגשת אליו באמצעות מסוף Google Cloud והוא מספק שילוב עם שירותים אחרים של Google Cloud .
אחרי שמגדירים ומפעילים את ספק העקבות ואת כלי הייצוא של העקבות, אפשר לראות את נתוני העקבות כמעט בזמן אמת, כשהעקבות והטווחים נוצרים לכל בקשה של Cloud Storage.
באמצעות הכלי Cloud Trace explorer בGoogle Cloud מסוף, אפשר לראות כל מעקב שמכיל את הפרטים הבאים:
תצוגה ברמה גבוהה של בקשה ל-Cloud Storage מקצה לקצה.
כמה יחידות לוגיות למעקב, כשכל אחת מהן מתעדת פעולה יחידה עם חותמת זמן בבקשת Cloud Storage שבוצעה.
מידע נוסף על עקבות וטווחים זמין במסמכי התיעוד של OpenTelemetry בנושא עקבות וטווחים.
תמחור
השימוש בנתוני מעקב כרוך בתשלום. החיובים מבוססים על מספר טווחי המעקב שנקלטים ונבדקים על ידי Cloud Trace. מידע נוסף על טווחים של מעקב שאפשר לחייב עליהם ודוגמאות לתמחור זמין במאמר עלויות של Cloud Trace.
לפני שמתחילים
כדי לאסוף נתוני מעקב על השימוש ב-API של Cloud Storage, צריך לבצע את השלבים הבאים:
-
מפעילים את Cloud Trace API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים מפעילים את Cloud Storage API.
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת לכתיבת נתונים של מעקב ל-Cloud Trace, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Cloud Trace Agent (roles/cloudtrace.agent) בפרויקט שבו הלקוח משתמש.
התפקיד המוגדר מראש הזה כולל את ההרשאה cloudtrace.traces.patch, שנדרשת כדי לכתוב נתונים של מעקב ל-Cloud Trace.
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים מוגדרים מראש, או שתוכלו ליצור תפקידים בהתאמה אישית כדי להעניק הרשאות ספציפיות. הוראות להקצאת תפקידים בפרויקטים מופיעות במאמר הקצאה או ביטול של תפקיד. למידע נוסף על התפקיד של Cloud Trace Agent, אפשר לעיין במשאבי העזרה בנושא ניהול זהויות והרשאות גישה (IAM).
הגדרת מעקב באפליקציה
כדי להגדיר מעקב ולהתחיל לאסוף נתוני מעקב באמצעות ספריית הלקוח של Cloud Storage, פועלים לפי ההוראות הבאות:
C++
מתקינים את הגרסאות הבאות:
ספריית הלקוח C++ בגרסה v2.16.0 ואילך
C++ מגרסה 14 ואילך
כדי להפעיל את כלי המעקב OpenTelemetry בספריית הלקוח C++, צריך לעדכן את ההגדרה של מערכת ה-build ב-CMake או ב-Bazel.
יצירת מופע של לקוח Cloud Storage עם הפעלת מעקב OpenTelemetry.
Java
מתקינים את הגרסאות הבאות של ספריית הלקוח Cloud Storage Java:
com.google.cloud:google-cloud-storage:2.47.0ואילךcom.google.cloud:libraries-bom:26.53.0ואילך
מתקינים את כלי הייצוא של Cloud Trace ל-OpenTelemetry. אפשר גם להשתמש בכל כלי ייצוא אחר שתבחרו.
מתקינים את הכלי להפצת נתונים של Cloud Trace.
יצירת מופע של לקוח Cloud Storage עם הפעלת מעקב OpenTelemetry.
Python
מתקינים את ספריית הלקוח של Cloud Storage Python:
pip install google-cloud-storage[tracing]>=2.18.0
מתקינים את רכיב הייצוא ואת רכיב ההפצה של Cloud Trace. אפשר גם להשתמש בכל כלי ייצוא שתבחרו.
pip install opentelemetry-exporter-gcp-trace opentelemetry-propagator-gcp
מתקינים את כלי המעקב של OpenTelemetry כדי לעקוב אחרי בקשות ה-HTTP הבסיסיות.
pip install opentelemetry-instrumentation-requests
מגדירים את משתנה הסביבה כדי להפעיל מעקב באופן סלקטיבי עבור לקוח האחסון של Python:
export ENABLE_GCS_PYTHON_CLIENT_OTEL_TRACES=True
מגדירים את כלי הייצוא של נתוני המעקב ואת ספק נתוני המעקב.
הצגת העקבות
כדי להציג את נתוני העקבות במסוף, משתמשים בכלי לבדיקת עקבות ב-Cloud Trace: Google Cloud
-
נכנסים לדף Trace explorer במסוף Google Cloud :
אפשר גם להשתמש בסרגל החיפוש כדי למצוא את הדף הזה.
בדף Trace explorer, לוחצים על trace ספציפי בתרשים הפיזור כדי לראות את פרטי ה-trace.
בחלונית Trace details מוצגת טבלה של טווחים של מעקב.
אופציונלי: לוחצים על שורה של יחידה לוגית למעקב כדי לראות מידע מפורט על יחידה לוגית למעקב ספציפית, כמו המידע הבא:
מאפיינים: צמדי מפתח/ערך שמספקים מידע נוסף על יחידה לוגית למעקב.
יומנים ואירועים: רשומות ביומן שמשויכות לטווח.
דוחות קריסות: דוחות קריסות שמשויכים ליחידה לוגית למעקב.
מטא-נתונים וקישורים: קישורים לשירותים אחרים של Google Cloud Google שמשויכים לטווח.
מידע נוסף על השימוש בכלי Cloud Trace Explorer זמין במאמר חיפוש עקבות ועיון בהם.