מידע על תוויות ספציפיות לאפליקציות
תוויות ספציפיות לאפליקציה מתייחסות לתוויות או למאפיינים שמוזרקים לנתוני היומן, המדד או המעקב. התוויות האלה מזהות את השירות או את עומס העבודה שיצרו את הנתונים. אפשר להשתמש בתוויות ספציפיות לאפליקציה כמו בכל תווית אחרת. לדוגמה, אפשר לסנן נתונים לפי מזהה של אפליקציה. נתוני טלמטריה שנוצרים על ידי תשתית נתמכת כוללים את התוויות האלה באופן אוטומטי. באמצעות אינסטרומנטציה, המדדים והמעקבים שהאפליקציה כותבת יכולים לכלול את התוויות האלה.
בקטע הזה, a.b.{x,y} מתייחס ל-a.b.x ול-a.b.y.
נתוני המדדים מהכלים שהוספתם לאפליקציות יכולים לכלול את תוויות המדדים הבאות:
metric.labels.apphub_application_{container,id,location}metric.labels.apphub_workload_{criticality_type,environment_type,id}
טווחים של מעקב שנוצרו על ידי אינסטרומנטציה שהוספתם לאפליקציות יכולים לכלול את מאפייני המשאבים הבאים:
gcp.apphub.application.{container,id,location}gcp.apphub.{workload,service}.{criticality_type,environment_type,id}
מידע על מדדי שרת HTTP ב-OpenTelemetry
אין מדדי מערכת לעומסי עבודה שפועלים ב-Google Kubernetes Engine שיכולים לדווח על רמת התנועה, שיעור השגיאות בחיבור לשרת או זמן האחזור של בקשות HTTP. עם זאת, אפשר להפיק את הערכים של האותות האלה מהמדד http.server.request.duration, שנאסף באופן אוטומטי על ידי ספריית צד הלקוח ב-HTTP של OpenTelemetry.
הכלי לייצוא נתונים של googlemanagedprometheus ממיר את המדד של http.server.request.duration ב-OpenTelemetry למדד של Prometheus עם המאפיינים הבאים:
- שם:
prometheus/http_server_request_duration_seconds/histogram - מדד:
prometheus.googleapis.com/http_server_request_duration_seconds/histogram - סוגי המשאבים:
prometheus_target - יחידה:
s - סוג:
CUMULATIVE - סוג הערך:
DISTRIBUTION
אם הפרויקט ב- Google Cloud מכיל את המדד http_server_request_duration_seconds, במרכזי הבקרה של מעקב אחר אפליקציות מוצגים רמת התנועה, שיעור השגיאות בחיבור לשרת וזמן האחזור של בקשות HTTP.
כדי ללמוד איך להגדיר את האפליקציה לייצוא המדד http_server_request_duration_seconds, קראו את הקטע שימוש ב-OpenTelemetry ב-Kubernetes במאמר הזה.
הוספת תוויות של אפליקציות לנתוני מדדים
כדי לזהות את המקור של מדדי Prometheus, המערכת של Google Cloud Observability משווה בין המאפיינים שמצורפים למדדי Prometheus שנשלחים לפרויקט לבין הנתונים שמוחזרים מ-App Hub API. בהמשך מפורטות ההגדרות שמאפשרות ל-Google Cloud Observability לזהות את האפליקציה ב-App Hub.
שימוש ב-OpenTelemetry ב-Kubernetes
כדי ש-Google Cloud Observability יצרף תוויות של אפליקציות לנתוני המדדים שנוצרו על ידי עומסי העבודה של האפליקציה שפועלים ב-Google Kubernetes Engine, צריך לבצע את הפעולות הבאות:
שדרוג האפליקציה באמצעות OpenTelemetry.
- מידע כללי זמין במאמר יכולת תצפית למפתחי אפליקציות.
- במאמר סקירה כללית של דוגמאות למדידת ביצועים תוכלו למצוא קישורים לדוגמאות ב-Go, ב-Java, ב-Node.js וב-Python, ומידע על הדוגמאות האלה.
פורסים את ה-Collector של Google או את OpenTelemetry Collector, ומגדירים את ה-Collector באופן הבא:
- ייצוא נתוני מדדים באמצעות הכלי לייצוא של
googlemanagedprometheus. - מגדירים את המעבד (processor)
k8sattributesכדי לחלץ מטא-נתונים, כמוnamespace, מהסביבה. - מגדירים את המעבד (processor) של
transform/collisionכדי להגדיר את המאפייניםproject_id,location,clusterו-namespace. - מגדירים את המעבד
transform/aco-gkeכדי לאכלס את התוויותtop_level_controller_nameו-top_level_controller_type.
לדוגמה, ראו את
otlp-k8s-ingest/config/collector.yaml, שהוא קובץ התצורה של Collector שנוצר על ידי Google. למידע נוסף על הכלי הזה, קראו את המאמר פריסת Google-Built OpenTelemetry Collector ב-GKE.- ייצוא נתוני מדדים באמצעות הכלי לייצוא של
רושמים את עומסי העבודה של האפליקציה ב-App Hub.
שימוש בשירות המנוהל של Google Cloud ל-Prometheus ב-GKE
כדי ש-Google Cloud Observability יצרף תוויות של אפליקציות לנתוני המדדים שנוצרו על ידי עומסי העבודה של האפליקציה שפועלים באשכולות של Google Kubernetes Engine, צריך לבצע את הפעולות הבאות:
משתמשים בשירות המנוהל של Google Cloud ל-Prometheus עם איסוף מנוהל.
פורסים את עומסי העבודה באשכול Google Kubernetes Engine בגרסה
1.32.1-gke.1439000לפחות.רושמים את עומסי העבודה של האפליקציה ב-App Hub.
השירות המנוהל של Google Cloud ל-Prometheus מזהה את הערכים של תוויות האפליקציה באמצעות המטא-נתונים של זיהוי השירותים, ואז מוסיף את התוויות של top_level_controller_{name,type} ל-targetLabels.metadata.
במהלך הטמעת המדדים, Google Cloud Observability משתמש בתוויות top_level_controller_{name,type} וב-App Hub API כדי לזהות את האפליקציה ב-App Hub ולהוסיף את התוויות המתאימות לנתוני המדדים.
שימוש ב-Cloud Run
כדי ש-Google Cloud Observability יצרף תוויות של אפליקציות לנתוני המדדים שנוצרו על ידי עומסי העבודה ב-Cloud Run, צריך לבצע את הפעולות הבאות:
הוספת כלים לאפליקציה באמצעות OpenTelemetry או קובץ העזר של השירות המנוהל ל-Prometheus ב-Cloud Run. מידע נוסף על הגישות האלה זמין במאמרים הבאים:
רושמים את עומסי העבודה של האפליקציה ב-App Hub.
אימות תוויות של מדדים
כדי לוודא שהאפליקציה שולחת מדדי Prometheus לפרויקט:
-
מוודאים שהאפליקציה שולחת לפרויקט מדדים של Prometheus:
-
במסוף Google Cloud , נכנסים לדף leaderboard Metrics explorer:
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של מסוף Google Cloud , בוחרים את הפרויקט ב- Google Cloud . בהגדרות של App Hub, בוחרים את הפרויקט המארח של App Hub או את הפרויקט לניהול של התיקייה לניהול אפליקציות.
- ברכיב Metric, מרחיבים את התפריט Select a metric, מזינים
Prometheus Targetבסרגל הסינון ומשתמשים בתפריטי המשנה כדי לבחור את סוג המשאב הספציפי ואת המדד:- בתפריט Active resources בוחרים באפשרות Prometheus Target.
- כדי לבחור מדד, משתמשים בתפריטים Active metric categories ו-Active metrics.
- לוחצים על אישור.
כדי להוסיף מסננים שמסירים סדרות זמנים מתוצאות השאילתה, משתמשים ברכיב Filter.
- מגדירים את אופן התצוגה של הנתונים.
כדי לראות את התוויות, מרחיבים את התפריט מסנן. כל רשומה בתפריט סינון תואמת לתווית.
מידע נוסף על הגדרת תרשים זמין במאמר איך בוחרים מדדים כשמשתמשים ב-Metrics Explorer.
אם לא מופיעים מדדי Prometheus, צריך לבדוק את ההגדרות האישיות.
-
אם המדדים של Prometheus לא מכילים תוויות של אפליקציות:
מוודאים שרשמתם את עומס העבודה או השירות ב-App Hub.
בודקים את היומנים כדי לראות אם יש שגיאות.
לדוגמה, אם אתם פורסים את OpenTelemetry Collector או את Google-built Collector ופועלים ב-Google Kubernetes Engine, אתם יכולים לבצע את הפעולות הבאות:
-
נכנסים לדף Workloads במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Kubernetes Engine.
- בוחרים את פריסת ה-collector ולוחצים על הכרטיסייה Logs.
-
אם אתם משתמשים ב-OpenTelemetry Collector או ב-Collector שנוצר על ידי Google, בדקו את ההגדרות של ה-Collector. ה-collector צריך לבצע את הפעולות הבאות:
- ייצוא נתוני מדדים באמצעות הכלי לייצוא של
googlemanagedprometheus. - מגדירים את המעבד (processor)
k8sattributesכדי לחלץ מטא-נתונים, כמוnamespace, מהסביבה. - מגדירים את המעבד (processor) של
transform/collisionכדי להגדיר את המאפייניםproject_id,location,clusterו-namespace. - מגדירים את המעבד
transform/aco-gkeכדי לאכלס את התוויותtop_level_controller_nameו-top_level_controller_type.
לדוגמה, אפשר לעיין בקובץ התצורה של Collector שנוצר על ידי Google:
otlp-k8s-ingest/config/collector.yaml.- ייצוא נתוני מדדים באמצעות הכלי לייצוא של
הוספת מאפייני אפליקציה לטווחים של מעקב
אתם לא משתמשים באפליקציה בכלים כך שמאפיינים ספציפיים לאפליקציה מצורפים לטווחים שנשלחים לפרויקט Google Cloud . במקום זאת, Google Cloud Observability משתמש במאפייני משאבים של OpenTelemetry וב-App Hub API כדי לזהות את האפליקציה ב-App Hub שמשויכת לטווח, ואז מוסיף את המאפיינים הספציפיים לאפליקציה לפני אחסון הטווח.
כדי ש-Google Cloud Observability יצרף מאפייני משאבים ספציפיים לאפליקציה לנתוני המעקב שנוצרו על ידי השירותים ועומסי העבודה של האפליקציה, צריך לבצע את הפעולות הבאות:
משדרגים את האפליקציה באמצעות OpenTelemetry ומגדירים את המייצא כך שישלח נתוני מעקב לנקודת הקצה של Telemetry (OTLP) API.
אנחנו ממליצים על ייצוא מבוסס-אוסף. במסמכים הבאים מתוארים אוספים שמצרפים את כל המאפיינים הנדרשים לנתוני הטווח:
- פריסת Google-Built OpenTelemetry Collector ב-Google Kubernetes Engine.
- פריסת Google-Built OpenTelemetry Collector ב-Cloud Run.
- פריסת OpenTelemetry Collector במערכת הפעלה שמותאמת לקונטיינרים.
אם אתם לא משתמשים באחד מהאוספים הקודמים, אתם צריכים להגדיר את הכלים או את האוסף כך שיצרפו את כל המאפיינים הנדרשים.
פורסים את השירותים ועומסי העבודה בתשתית נתמכת.
רושמים את השירותים ועומסי העבודה ב-App Hub.
מידע נוסף על המאפיינים האלה זמין במאמר Google Cloud מוסכמות סמנטיות של App Hub.
מאפייני חובה
הקטע הזה רלוונטי להגדרות שבהן אתם לא משתמשים באחד מהאוספים המומלצים. לדוגמה, יכול להיות שתרצו לכתוב אוסף משלכם, או לייצא ישירות את נתוני המעקב.
מאפיינים שמזהים את הפרויקט ואת מיקום המשאב
מגדירים את המאפיינים הבאים:
-
cloud.provider: מוגדר לערך"gcp". -
cloud.account.id: מזהה הפרויקט. -
cloud.availability_zoneאוcloud.region: האזור או התחום שבהם נמצאים המשאבים. אפשר להגדיר את שני המאפיינים.
גלאי משאבים יכולים לעזור לכם להגדיר את המאפיינים הקודמים:
resourcedetectionprocessor- Go: Google Cloud resource detector
- Java:
opentelemetry-java-contrib/gcp-resources - Node.js:
resource-detector-gcp - Python:
opentelemetry-resourcedetector-gcp
מאפיינים של עומסי עבודה ב-Google Kubernetes Engine
בעומס עבודה של Google Kubernetes Engine, מגדירים את ה-collector או את הכלים כך שיבצעו את הפעולות הבאות:
- מחלצים מהסביבה מטא-נתונים, כמו
namespace. - חילוץ מטא-נתונים רלוונטיים מהמעבד (processor) של
k8sattributes. - מגדירים את המאפיינים
project_id,location,clusterו-namespaceלמדדים. - מגדירים את התוויות
top_level_controller_nameו-top_level_controller_typeלמדדים.
דוגמה שמבוססת על אוסף מופיעה במאמר otlp-k8s-ingest/config/collector.yaml.
האוסף הזה משתמש במעבד k8sattributesprocessor.
מאפיינים של עומסי עבודה במכונות וירטואליות
אם אתם פורסים את האפליקציה במכונה וירטואלית, אתם צריכים לשייך את המכונה הווירטואלית לקבוצת מופעי מכונה מנוהלים (MIG). צריך לצרף גם את המאפיינים הבאים:
gcp.gce.instance_group_manager.namegcp.gce.instance_group_manager.regionאוgcp.gce.instance_group_manager.zone