במאמר הזה נסביר איך להפעיל את Google-Built OpenTelemetry Collector ב-Compute Engine כדי לאסוף יומנים, מדדים ועקבות OTLP מאפליקציות עם אינסטרומנטציה, ואז לייצא את הנתונים האלה אל Google Cloud.
לפני שמתחילים
כדי להריץ את Google-Built OpenTelemetry Collector, צריך את המשאבים הבאים:
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- מכונה של Compute Engine. אם אין לכם מכונה של Compute Engine, אתם צריכים לפעול לפי ההוראות שבמאמר יצירת מכונה של Compute Engine והפעלה שלה.
- התקנה של
gcloud. מידע על התקנה שלgcloudזמין במאמר התקנה שלgcloudCLI.
הגדרת הרשאות עבור הכלי לאיסוף נתונים
כברירת מחדל, מכונות ב-Compute Engine משתמשות בחשבון השירות שמוגדר כברירת מחדל של Compute Engine, PROJECT_NUMBER-compute@developer.gserviceaccount.com.
בדרך כלל לחשבון השירות הזה יש את התפקידים הנדרשים לניהול זהויות והרשאות גישה (IAM) כדי לכתוב את המדדים והיומנים שמתוארים במסמך הזה:
- כתיבת מדדי מעקב (
roles/monitoring.metricWriter) - כתיבת יומנים (
roles/logging.logWriter) - Cloud Trace Agent
אם בוחרים להשתמש בחשבון שירות בניהול המשתמשים במקום בחשבון שמוגדר כברירת מחדל, צריך להקצות לו את אותם תפקידים. למידע נוסף, קראו את המאמר חשבונות שירות.
התקנת האוסף
כדי להתקין את Google-Built OpenTelemetry Collector כחבילה במכונה שלכם ב-Compute Engine, פועלים לפי השלבים הבאים.
Debian ו-Ubuntu
פותחים חיבור לטרמינל של מופע המכונה הווירטואלית באמצעות SSH או כלי דומה, ומוודאים שיש לכם גישה
sudo.מריצים את הפקודה הבאה כדי להגדיר את מאגר החבילות:
sudo mkdir -p /etc/apt/keyrings sudo curl -o /etc/apt/keyrings/otelcol-google.asc https://packages.cloud.google.com/apt/doc/apt-key.gpg cat <<EOF | sudo tee /etc/apt/sources.list.d/otelcol-google.list deb [signed-by=/etc/apt/keyrings/otelcol-google.asc] https://us-apt.pkg.dev/projects/cloud-ops-agents-artifacts google-cloud-opentelemetry-collector-apt main EOFמרעננים את מנהל החבילות ומתקינים את החבילה:
sudo apt update sudo apt install otelcol-googleאחרי ההתקנה, Google-Built OpenTelemetry Collector מופעל באופן אוטומטי.
CentOS, RHEL ו-Rocky Linux
פותחים חיבור לטרמינל של מופע המכונה הווירטואלית באמצעות SSH או כלי דומה, ומוודאים שיש לכם גישה
sudo.מריצים את הפקודה הבאה כדי להגדיר את מאגר החבילות:
cat <<EOF | sudo tee /etc/yum.repos.d/otelcol-google.repo [otelcol-google] name=Google Built OpenTelemetry Collector baseurl=https://us-yum.pkg.dev/projects/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector-yum autorefresh=0 enabled=1 type=rpm-md gpgcheck=1 repo_gpgcheck=0 gpgkey=http://dl.google.com/linux/linux_signing_key.pub EOFמתקינים את החבילה:
sudo yum install otelcol-googleאחרי ההתקנה, Google-Built OpenTelemetry Collector מופעל באופן אוטומטי.
SLES
פותחים חיבור לטרמינל של מופע המכונה הווירטואלית באמצעות SSH או כלי דומה, ומוודאים שיש לכם גישה
sudo.מריצים את הפקודה הבאה כדי להגדיר את מאגר החבילות:
cat <<EOF | sudo tee /etc/zypp/repos.d/otelcol-google.repo [otelcol-google] name=Google Built OpenTelemetry Collector baseurl=https://us-yum.pkg.dev/projects/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector-yum autorefresh=0 enabled=1 type=rpm-md gpgkey=http://dl.google.com/linux/linux_signing_key.pub EOFמתקינים את החבילה:
sudo zypper install otelcol-googleאחרי ההתקנה, Google-Built OpenTelemetry Collector מופעל באופן אוטומטי.
Windows
מתחברים למופע באמצעות RDP או כלי דומה ומתחברים ל-Windows.
פותחים טרמינל ב-PowerShell עם הרשאות אדמין. לשם כך, לוחצים לחיצה ימנית על סמל PowerShell ובוחרים באפשרות הפעלה כמנהל מערכת.
מריצים את פקודת PowerShell הבאה כדי להגדיר את מאגר החבילות:
googet addrepo otelcol-google ` https://us-googet.pkg.dev/projects/cloud-ops-agents-artifacts/repos/google-cloud-opentelemetry-collector-googetמתקינים את החבילה:
googet install otelcol-googleאחרי ההתקנה, Google-Built OpenTelemetry Collector מופעל באופן אוטומטי.
פריסת ה-Collector
ה-OpenTelemetry Collector שנוצר על ידי Google כולל כברירת מחדל הגדרה מינימלית שלא מייצאת טלמטריה. כדי לייצא את נתוני הטלמטריה, אחרי שמתקינים את ה-Collector, צריך להגדיר את ה-Collector על ידי שינוי הגדרות ברירת המחדל. מכניסים את ההגדרות של ה-Collector לקבצים הבאים:
- ב-Linux:
/etc/otelcol-google/config.yaml - ב-Windows:
C:\Program Files\Google\OpenTelemetry Collector\config.yaml
הגדרת האספן
אנחנו מספקים הגדרה של OpenTelemetry Collector שתוכלו להשתמש בה עם Collector שנוצר על ידי Google. ההגדרה הזו נועדה לספק נפחים גדולים של מדדים, יומנים ועקבות של OTLP. ההגדרה הזו נועדה גם למנוע בעיות נפוצות בהעברה. אפשר להוסיף להגדרה, אבל מומלץ מאוד לא להסיר ממנה רכיבים.
בקטע הזה מתואר ההגדרה שסופקה, הרכיבים העיקריים כמו יצואנים, מעבדים, מקלטים ורכיבים אחרים שזמינים.
הגדרות של כלי האיסוף שסופקו
אפשר למצוא את ההגדרה של Collector בספרייהgoogle-built-opentelemetry-collector במאגר opentelemetry-operations-collector:
יצואנים
ההגדרות של Collector כוללות את האקספורטרים הבאים:
googlecloudexporter, for logs and traces. כלי הייצוא הזה מוגדר עם שם יומן ברירת מחדל.
googlemanagedprometheusexporter, למדדים. לא צריך להגדיר את הכלי הזה לייצוא, אבל יש אפשרויות הגדרה. מידע על אפשרויות ההגדרה שלgooglemanagedprometheusexporter זמין במאמר תחילת העבודה עם OpenTelemetry Collector במסמכי התיעוד של השירות המנוהל של Google Cloud ל-Prometheus.
מעבדים
ההגדרה של Collector כוללת את המעבדים הבאים:
batch: ההגדרה היא לשליחת בקשות טלמטריה בקבוצות, עם Google Cloud מספר הרשומות המקסימלי לכל בקשה, או עם Google Cloud המרווח המינימלי של כל 5 שניות (המוקדם מביניהם).
memory_limiter: מגביל את השימוש בזיכרון של כלי האיסוף כדי למנוע קריסות בגלל חוסר זיכרון. לשם כך, הכלי משמיט נקודות נתונים כשהמגבלה נחצית.
resourcedetection: מזהה באופן אוטומטי Google Cloud תוויות משאבים כמוproject_id.
מקלטים
ההגדרה של כלי האיסוף כוללת רק את otlp מקלט.
מידע על הגדרת האפליקציות לשליחת עקבות ומדדים של OTLP לנקודת הקצה של OTLP ב-Collector זמין במאמר בנושא בחירת גישה להגדרה.
רכיבים זמינים
ה-OpenTelemetry Collector שנוצר על ידי Google מכיל את הרכיבים שרוב המשתמשים יצטרכו כדי להפעיל חוויה עשירה ב-Google Cloud Observability. רשימה מלאה של הרכיבים הזמינים מופיעה בקטע Components במאגר opentelemetry-operations-collector.
כדי לבקש שינויים או תוספות לרכיבים הזמינים, צריך להגיש בקשה להוספת תכונה במאגר opentelemetry-operations-collector.
יצירת טלמטריה
אתם יכולים לבדוק את ההגדרה באמצעות הכלי telemetrygen בקוד פתוח. הוראות להורדה ולהרצה של הכלי מופיעות בקישור. כדי להריץ את הכלי, צריך להתקין את Go או את Docker.
אחרי כמה דקות, נתוני הטלמטריה שנוצרו על ידי האפליקציה מתחילים לזרום דרך ה-Collector אל Google Cloud המסוף עבור כל אות.
צפייה בטלמטריה
OpenTelemetry Collector מבית Google שולח מדדים, יומנים ועקבות מהאפליקציות עם האינסטרומנטציה אל Google Cloud Observability. ה-Collector שולח גם מדדים של יכולת התבוננות עצמית. בקטעים הבאים מוסבר איך לצפות בטלמטריה הזו.
הצגת המדדים
הכלי Google-Built OpenTelemetry Collector אוסף מדדים של Prometheus שאפשר לראות באמצעות Metrics Explorer. המדדים שנאספים תלויים במכשיר המדידה של האפליקציה, אבל כלי האיסוף ש-Google יצרה גם כותב כמה מדדים עצמיים.
כדי לראות את המדדים שנאספו על ידי Google-Built OpenTelemetry Collector:-
נכנסים לדף leaderboard Metrics explorer במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בסרגל הכלים של מסוף Google Cloud , בוחרים את Google Cloud הפרויקט. בהגדרות של מרכז האפליקציות, בוחרים את הפרויקט המארח של מרכז האפליקציות או את פרויקט הניהול של התיקייה לניהול אפליקציות.
- ברכיב Metric, מרחיבים את התפריט Select a metric, כותבים
Prometheus Targetבשורת הסינון ומשתמשים בתפריטי המשנה כדי לבחור סוג ספציפי של משאב ומדד:- בתפריט Active resources בוחרים באפשרות Prometheus Target.
- כדי לבחור מדד, משתמשים בתפריטים Active metric categories ו-Active metrics.
למדדים שנאספים על ידי Google-Built OpenTelemetry Collector יש את הקידומת
prometheus.googleapis.com. - לוחצים על אישור.
כדי להוסיף מסננים שמסירים סדרות זמן מתוצאות השאילתה, משתמשים ברכיב Filter.
- מגדירים את אופן התצוגה של הנתונים.
כשמדובר במדד עם מדידות מצטברות, הכלי Metrics Explorer מבצע נרמול אוטומטי של הנתונים שנמדדו לפי תקופת ההתאמה, וכתוצאה מכך התרשים מציג קצב. מידע נוסף זמין במאמר סוגים, סוגים והמרות.
כשמודדים ערכים מסוג integer או double, כמו במדדים מסוג
counter, הכלי Metrics Explorer מסכם באופן אוטומטי את כל סדרות הזמנים. כדי לשנות את ההתנהגות הזו, מגדירים את התפריט הראשון של הערך Aggregation (צבירה) לNone (ללא).מידע נוסף על הגדרת תרשים זמין במאמר איך בוחרים מדדים כשמשתמשים ב-Metrics Explorer.
הצגת העקבות
כדי להציג את נתוני העקבות:
-
נכנסים לדף Trace explorer במסוף Google Cloud :
אפשר גם להשתמש בסרגל החיפוש כדי למצוא את הדף הזה.
- בסרגל הכלים של מסוף Google Cloud , בוחרים את Google Cloud הפרויקט. בהגדרות של מרכז האפליקציות, בוחרים את הפרויקט המארח או את פרויקט הניהול של מרכז האפליקציות.
- בקטע הטבלה בדף, בוחרים שורה.
בתרשים גאנט בחלונית Trace details, בוחרים יחידה לוגית למעקב.
תיפתח חלונית עם מידע על הבקשה שנבדקה. הפרטים האלה כוללים את השיטה, קוד הסטטוס, מספר הבייטים וסוכן המשתמש של המתקשר.
כדי לראות את היומנים שמשויכים למעקב הזה, בוחרים בכרטיסייה יומנים ואירועים.
בכרטיסייה מוצגים יומנים בודדים. כדי לראות את הפרטים של הרשומה ביומן, מרחיבים את הרשומה. אפשר גם ללחוץ על הצגת יומנים כדי לראות את היומן באמצעות Logs Explorer.
מידע נוסף על השימוש בכלי Cloud Trace Explorer זמין במאמר חיפוש עקבות ועיון בהם.
הצגת רישומי היומן
בכלי Logs Explorer אפשר לבדוק את היומנים, וגם לראות את העקבות המשויכים, אם הם קיימים.
-
במסוף Google Cloud , נכנסים לדף Logs Explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים רשומה ביומן מהאפליקציה שבה הוטמעו כלי המדידה. כדי לראות את הפרטים, מרחיבים את הרשומה ביומן.
לוחצים על
Traces ברשומה ביומן עם הודעת מעקב, ואז בוחרים באפשרות View trace details.נפתחת חלונית Trace details ומוצג בה ה-Trace שנבחר.
מידע נוסף על השימוש ב-Logs Explorer מופיע במאמר הצגת יומנים באמצעות Logs Explorer.
צפייה ב-Collector וניפוי באגים שלו
הכלי Google-Built OpenTelemetry Collector מספק באופן אוטומטי מדדים של יכולת התבוננות עצמית כדי לעזור לכם לעקוב אחרי הביצועים שלו ולוודא שצינור ההזנה של OTLP ממשיך לפעול.
כדי לעקוב אחרי ה-Collector, צריך להתקין את לוח הבקרה לדוגמה של ה-Collector. לוח הבקרה הזה מציג תובנות במבט חטוף לגבי כמה מדדים מ-Collector, כולל זמני פעילות, שימוש בזיכרון וקריאות ל-Google Cloud Observability API.
כדי להתקין את מרכז הבקרה:
-
במסוף Google Cloud , עוברים לדף Dashboards:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- לוחצים על תבניות של לוחות בקרה.
- מחפשים את מרכז הבקרה OpenTelemetry Collector.
- אופציונלי: כדי לראות תצוגה מקדימה של לוח הבקרה, בוחרים אותו.
לוחצים על playlist_add הוספת מרכז הבקרה לרשימה ומשלימים את תיבת הדו-שיח.
בתיבת הדו-שיח אפשר לבחור את השם של לוח הבקרה ולהוסיף לו תוויות.
מידע נוסף על התקנת לוחות בקרה זמין במאמר התקנה של תבנית לוח בקרה.