בדף הזה מוסבר איך להפעיל מעקבים בצד הלקוח באמצעות OpenTelemetry כשמשתמשים בספריות הלקוח של Cloud Storage כדי ליצור אינטראקציה עם Cloud Storage. אתם יכולים לאסוף נתוני מעקב ולהציג אותם באמצעות ספריות הלקוח הנתמכות הבאות של Cloud Storage:
סקירה כללית
הפעלת מעקב בספריות הלקוח של Cloud Storage מאפשרת לכם לעקוב אחרי הביצועים, לזהות בעיות של זמן אחזור ולבצע במהירות ניפוי באגים בבקשות של Cloud Storage. באמצעות Traces אפשר לראות את הרצף של בקשה שהושלמה, ולקבל תצוגה מפורטת של האופן שבו הבקשה התקבלה, טופלה ונענתה על ידי Cloud Storage. עקבות יחיד מורכב מכמה טווחים, שהם רשומות מפורטות עם חותמת זמן של כל פונקציה או פעולה שהאפליקציה ביצעה במהלך הבקשה ל-Cloud Storage.
יתרונות
איסוף והפצה של נתוני מעקב מספקים את היתרונות הבאים לאפליקציה:
שיפור הניראות של הביצועים: נתוני המעקב נוצרים כמעט בזמן אמת כש-Cloud Storage משלים כל בקשה שאתם שולחים, כך שאתם יכולים לזהות במהירות צווארי בקבוק בביצועים ובעיות של זמן אחזור.
טיפול בשגיאות: אתם יכולים לזהות איפה הבעיות מתרחשות, לזרז את ניתוח שורש הבעיה ולצמצם את זמן ההשבתה באמצעות המידע על כל בקשה ל-Cloud Storage שמופיע במעקב.
איך פועלים מעקבים בצד הלקוח
בקטעים הבאים מוסבר בפירוט איך פועל איסוף המעקבים.
איך פועל איסוף המעקבים באמצעות OpenTelemetry
ספריות הלקוח של Cloud Storage תומכות באיסוף נתוני מעקב באמצעות OpenTelemetry SDK, כדי להגדיר את הרכיבים הבאים שנדרשים לאיסוף ולהפצה של נתוני מעקב:
ספק מעקב: ספריות הלקוח של Cloud Storage משתמשות בספק המעקב כדי ליצור ולנהל את מערכת המעקב, כולל יצירה וניהול של מעקבים וטווחים באפליקציה.
מייצא המעקב: משמש את ה-SDK של OpenTelemetry, ואחראי לשליחת נתוני המעקב לפלטפורמת ניטור בקצה העורפי, כמו Cloud Trace, שבה אפשר לנתח את נתוני המעקב ולהציג אותם באופן חזותי. איך פועלים מייצאים של נתוני מעקב
איך פועלים כלי ייצוא של נתוני מעקב
כדי להגדיר מעקבים באמצעות OpenTelemetry SDK, צריך לבחור בקצה עורפי של ניראות שאליו אפשר לייצא את הנתונים כדי לנתח, לאחסן ולהציג אותם באופן חזותי. אפשר לייצא את נתוני המעקב לכל קצה עורפי לבחירתכם, אבל אנחנו ממליצים להשתמש ב-Cloud Trace, שאפשר לגשת אליו באמצעות מסוף Cloud de Confiance ומספק שילוב עם שירותי Cloud de Confiance by S3NS אחרים.
אחרי שמגדירים ומפעילים את ספק ה-trace ואת כלי הייצוא של ה-trace, אפשר לראות את נתוני ה-trace כמעט בזמן אמת, כשמערכות יוצרות trace ו-span לכל בקשה של Cloud Storage.
באמצעות הכלי Cloud Trace explorer בCloud de Confiance מסוף, אפשר לראות כל מעקב שמכיל את הפרטים הבאים:
תצוגה ברמה גבוהה של בקשה ל-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 Explorer כדי להציג את נתוני המעקב במסוף Cloud de Confiance :
-
במסוף Cloud de Confiance , נכנסים לדף
Trace explorer:
אפשר גם למצוא את הדף הזה באמצעות שורת החיפוש.
בדף Trace explorer, לוחצים על מעקב ספציפי בתרשים הפיזור כדי לראות את פרטי המעקב.
בחלונית Trace details מוצגת טבלה של פרקי זמן למעקב.
אופציונלי: לוחצים על שורה של טווח כדי לראות מידע מפורט על טווח ספציפי, כמו המידע הבא:
מאפיינים: צמדי מפתח/ערך שמספקים מידע נוסף על ה-span.
יומנים ואירועים: רשומות ביומן שמשויכות לטווח.
דוחות קריסות: דוחות קריסות שמשויכים ליחידה לוגית למעקב.
מטא-נתונים וקישורים: קישורים לשירותי Cloud de Confiance by S3NS אחרים שמשויכים ל-span.
מידע נוסף על השימוש בכלי Cloud Trace Explorer זמין במאמר חיפוש עקבות ועיון בהם.