בדף הזה מפורטים השלבים הבאים:
- מתקינים את חבילות OpenTelemetry.
- מגדירים את האפליקציה לייצא טווחים ל-Cloud Trace.
- מגדירים את הפלטפורמה.
מידע על הגרסה זמין במאמרים הבאים:
לתוכן עזר בנושא OpenTelemetry, אפשר לעיין במקורות הבאים:
פרטים עדכניים על OpenTelemetry ל-C++, וגם תיעוד ודוגמאות נוספים, זמינים בOpenTelemetry.
לפני שמתחילים
מפעילים את Cloud Trace API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים
התקנת חבילות OpenTelemetry
- הגדרת סביבת פיתוח בשפת C++
- מתקינים את ספריית כלי הייצוא של OpenTelemetry ב-C++. Google Cloud למידע על התקנה, אפשר לעיין במדריך למתחילים של OpenTelemetry.
הגדרת ייצוא של טווחים ל-Cloud Trace
כדי להגדיר את הייצוא של נתוני מעקב, צריך להפעיל את השיטה google::cloud::otel::ConfigureBasicTracing(...) בשיטה main():
השדה project_id הוא הפרויקט Google Cloud שבו רוצים לאחסן את העקבות.
ה-method ConfigureBasicTracing(...) יוצרת מופע של אובייקט TracerProvider שמטמיע יצואן של Cloud Trace. אם האובייקט שמוחזר על ידי הקריאה ל-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/
- open-telemetry/opentelemetry-cpp מאגר GitHub
- google-cloud-cpp OpenTelemetry Exporters Library מאגר GitHub.