בדף הזה מפורטים השלבים הבאים:
- מתקינים את חבילות OpenTelemetry.
- מגדירים את האפליקציה לייצא טווחים ל-Cloud Trace.
- מגדירים את הפלטפורמה.
מידע על הגרסה זמין במאמרים הבאים:
לעיון בתוכן עזר בנושא OpenTelemetry:
פרטים עדכניים על OpenTelemetry ל-C++, תיעוד נוסף ודוגמאות זמינים בכתובת OpenTelemetry.
לפני שמתחילים
מפעילים את Cloud Trace API, אם הוא עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
התקנת חבילות OpenTelemetry
- הגדרת סביבת פיתוח בשפת C++
- מתקינים את ספריית כלי הייצוא של OpenTelemetry ב-C++. Google Cloud מידע על התקנה זמין במדריך למתחילים של OpenTelemetry.
הגדרת ייצוא של טווחים ל-Cloud Trace
כדי להגדיר את הייצוא של נתוני מעקב, צריך להפעיל את השיטה google::cloud::otel::ConfigureBasicTracing(...) בשיטה main():
השדה project_id הוא Google Cloud הפרויקט שבו רוצים לאחסן את העקבות.
השיטה ConfigureBasicTracing(...) יוצרת מופע של אובייקט TracerProvider שמטמיע Cloud Trace exporter. אם האובייקט שמוחזר על ידי הקריאה ל-ConfigureBasicTracing(...) יוצא מההקשר, האובייקט הקודם TracerProvider מוחזר, אם הוא קיים.
הגדרת תדירות הדגימה
יכול להיות שאפליקציות ייצרו נפח גדול של נתוני מעקב. בדוגמה הבאה אפשר לראות איך מגדירים את קצב הדגימה:
ייצוא ל-Cloud Trace עם TracerProvider מותאם אישית
יכול להיות שיהיו לכם תרחישי שימוש שידרשו אובייקט TracerProvider מותאם אישית. לדוגמה, אם רוצים להשתמש בכמה כלי ייצוא בו-זמנית, צריך ליצור אובייקט TracerProvider בהתאמה אישית. במקרים כאלה, אפשר להשתמש ישירות בכלי לייצוא של Cloud Trace:
לבצע אינסטרומנטציה באפליקציה שלכם
במאמר OpenTelemetry Tracing מוסבר איך להגדיר את האפליקציה כך שתתעד טווחים של מעקבים. בדף הזה נסביר איך לבצע את הפעולות הבאות:
- יצירת טווח
- יצירת טווחים מוטמעים
- הגדרת מאפיינים של span
- יצירת טווחי זמן עם אירועים
- יצירת טווחים עם קישורים
אפליקציה לדוגמה
אפשר לעיין במדריך למתחילים כדי לראות אפליקציה לדוגמה.
הגדרת הפלטפורמה
אפשר להשתמש ב-Cloud Trace ב- Google Cloud ובפלטפורמות אחרות.
הפעילות מתבצעת ב- Google Cloud
כשהאפליקציה שלכם פועלת ב- Google Cloud, אתם לא צריכים לספק לספריית הלקוח פרטי כניסה לאימות בצורה של חשבון שירות. עם זאת, צריך לוודא ש Google Cloud בפלטפורמה שלכם מופעל היקף הגישה של Cloud Trace API.
רשימת הסביבות הנתמכות Google Cloud זמינה במאמר תמיכה בסביבה.
בהגדרות הבאות, הגדרות ברירת המחדל של היקף הגישה מאפשרות את Cloud Trace API:
- סביבה גמישה ב-App Engine
סביבת ברירת המחדל ב-App Engine
Google Kubernetes Engine (GKE)
Compute Engine
Cloud Run
אם אתם משתמשים בהיקפי גישה בהתאמה אישית, אתם צריכים לוודא שהיקף הגישה של Cloud Trace API מופעל:
במאמר הגדרת Google Cloud פרויקט מוסבר איך מגדירים את היקפי הגישה לסביבה באמצעות מסוף Google Cloud .
משתמשי
gcloudצריכים לציין את היקפי הגישה באמצעות הדגל--scopesולכלול את היקף הגישה של Cloud Trace APItrace.append. לדוגמה, כדי ליצור אשכול GKE שמופעל בו רק Cloud Trace API, מבצעים את הפעולות הבאות:gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
הפעלה מקומית ובמקומות אחרים
אם האפליקציה שלכם פועלת מחוץ ל- Google Cloud, אתם צריכים לספק לספריית הלקוח פרטי כניסה לאימות בצורה של חשבון שירות. חשבון השירות צריך לכלול את התפקיד של סוכן Cloud Trace. הוראות מפורטות מופיעות במאמר יצירת חשבון שירות.
Google Cloud ספריות הלקוח משתמשות ב-Application Default Credentials (ADC) כדי למצוא את פרטי הכניסה של האפליקציה.
יש שלוש דרכים לספק את פרטי הכניסה האלה:
מריצים את
gcloud auth application-default loginממקמים את חשבון השירות בנתיב ברירת המחדל של מערכת ההפעלה. ברשימה הבאה מפורטות נתיבי ברירת המחדל ל-Windows ול-Linux:
ב-Windows:
%APPDATA%/gcloud/application_default_credentials.jsonLinux:
$HOME/.config/gcloud/application_default_credentials.json
מגדירים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSלנתיב של חשבון השירות:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
הצגת עקבות
נכנסים לדף Trace explorer במסוף Google Cloud
:
אפשר גם להשתמש בסרגל החיפוש כדי למצוא את הדף הזה.
פתרון בעיות
מידע על פתרון בעיות ב-Cloud Trace זמין בדף פתרון הבעיות.
כדי לנפות באגים בייצוא C++ Cloud Trace, אפשר לעיין בקטע פתרון בעיות במשאבי העזרה.
משאבים
- https://opentelemetry.io/
- מאגר GitHub open-telemetry/opentelemetry-cpp
- google-cloud-cpp OpenTelemetry Exporters Library מאגר GitHub.