כדי לחסוך זמן ומאמץ בהגדרת אפליקציות למעקב שפועלות ב-Google Kubernetes Engine (GKE) ובתחזוקה שלהן, אפשר להפעיל מעקב אוטומטי אחרי אפליקציות עבור עומסי עבודה נתמכים.
איך עובד מעקב אוטומטי אחרי אפליקציות
כשמפעילים מעקב אוטומטי אחרי אפליקציות, מערכת GKE מזהה מופעים של עומסי עבודה נתמכים שנפרסו ומקצה משאבי PodMonitoring לכל מופע של עומס עבודה שזוהה.
בנוסף, המערכת מתקינה באופן אוטומטי לוחות בקרה מוכנים מראש למעקב אחרי אפליקציות. המדדים נאספים על ידי השירות המנוהל של Google Cloud ל-Prometheus.
עומסי עבודה נתמכים
המעקב האוטומטי אחרי אפליקציות תומך בעומסי העבודה הבאים:
- Apache Airflow
- Istio
- RabbitMQ
- שרתי מודל AI:
המרווח בין סריקות המדדים בשרתים של מודלים של AI הוא 15 שניות. עבור עומסי עבודה שלא מבוססים על AI, מרווח הגירוד הוא 30 שניות.
מידע נוסף על פתרונות אחרים לניתוח נתונים שניתן להגדיר באופן ידני זמין במאמר מבוא להגדרת כלי לייצוא נתונים במאמרי העזרה של Google Cloud Observability.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
- מפעילים את Cloud Monitoring API.
הדרישות למעקב אוטומטי אחרי אפליקציות
כדי להפעיל מעקב אוטומטי אחרי אפליקציות, אשכול GKE צריך לעמוד בדרישות הבאות:
- האשכול צריך לפעול ב-GKE בגרסה 1.28 ומעלה.
- צריך להשתמש ב-CLI של gcloud בגרסה 492.0.0 ואילך.
- צריך להפעיל באשכול את האיסוף המנוהל של השירות המנוהל של Google Cloud ל-Prometheus. איסוף מנוהל של השירות המנוהל של Google Cloud ל-Prometheus מופעל כברירת מחדל באשכולות חדשים.
הפעלת מעקב אוטומטי אחרי אפליקציות
אפשר להפעיל מעקב אוטומטי אחרי אפליקציות באשכולות GKE חדשים או קיימים באמצעות מסוף Google Cloud , Google Cloud CLI או GKE API.
תהליך גירוד המדדים מתחיל תוך 10 דקות לכל היותר עבור עומסי עבודה נתמכים אחרי פריסת עומס עבודה חדש או אחרי הפעלת מעקב אוטומטי אחרי אפליקציות באשכול.
המסוף
כדי להפעיל מעקב אוטומטי אחר אפליקציות באשכול חדש:
נכנסים לדף Create an Autopilot cluster במסוף Google Cloud .
כניסה לדף Create an Autopilot cluster
אפשר גם ליצור אשכול רגיל כדי להשלים את המשימה הזו.
במצב Autopilot, לוחצים על הגדרות מתקדמות. במקרה של אשכול במצב רגיל, לוחצים על תכונות.
בקטע פעולות, בוחרים באפשרות הפעלת מעקב אוטומטי אחרי אפליקציות.
לוחצים על יצירה.
אפשר גם להפעיל מעקב אוטומטי אחרי אפליקציות באשכול קיים. לשם כך, צריך לעדכן את השדה Enable automatic application monitoring (הפעלת מעקב אוטומטי אחרי אפליקציות) בקטע Operations (פעולות) בכרטיסייה Cluster Details (פרטי האשכול).
gcloud
כדי להפעיל מעקב אוטומטי אחר אפליקציות באשכול חדש, משתמשים באפשרות --auto-monitoring-scope=ALL:
gcloud container clusters create-auto CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--auto-monitoring-scope=ALL
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול החדש. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
אפשר גם לעדכן אשכול קיים באמצעות הפקודה gcloud container clusters update.
API
כדי להפעיל מעקב אוטומטי אחר אפליקציות באשכול חדש, שולחים בקשת POST אל ה-method clusters.create:
POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters
{
"cluster": {
"name": "CLUSTER_NAME",
"initialNodeCount": 1,
"monitoringConfig": {
"managedPrometheusConfig": {
"enabled": true,
"autoMonitoringConfig": {
"scope": "ALL"
}
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CLUSTER_NAME: השם של האשכול החדש. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
איך בודקים אם המעקב האוטומטי אחרי אפליקציות מופעל
אפשר לקבוע אם המעקב האוטומטי אחר אפליקציות מופעל או מושבת באשכול באמצעות מסוף Google Cloud , ה-CLI של gcloud או GKE API.
המסוף
מבצעים את הפעולות הבאות:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :
ברשימת האשכולות, לוחצים על שם האשכול.
בקטע תכונות, השדה מעקב אוטומטי אחרי אפליקציות מציין אם המעקב האוטומטי אחרי אפליקציות מופעל או מושבת.
gcloud
תארו את האשכול:
gcloud container clusters describe CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
הפלט אמור להיראות כך:
autoMonitoringConfig.scope: ALL
בפלט, אם הערך של השדה autoMonitoringConfig.scope הוא ALL, המעקב האוטומטי אחר האפליקציה מופעל. אחרת, המעקב האוטומטי אחר האפליקציות מושבת.
API
שולחים בקשת GET ל-method clusters.get:
GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CLUSTER_NAME: שם האשכול. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
הפלט אמור להיראות כך:
autoMonitoringConfig.scope: ALL
בפלט, אם הערך של השדה autoMonitoringConfig.scope הוא ALL, המעקב האוטומטי אחר האפליקציה מופעל. אחרת, המעקב האוטומטי אחר האפליקציות מושבת.
הצגת מרכזי בקרה
כשמפעילים מעקב אוטומטי אחרי אפליקציות, GKE מתקין לוחות בקרה מוכנים מראש למעקב אחרי אפליקציות עבור עומסי עבודה נתמכים שנפרסו באשכול. לא יוצגו לכם מרכזי בקרה עבור עומסי עבודה נתמכים שמעולם לא הופעלו באשכול.
מרכזי בקרה עם טלמטריה מעומסי עבודה (workloads) שנמצאים במעקב אוטומטי
כדי לראות את לוחות הבקרה עם נתוני טלמטריה מעומסי עבודה שנמצאים במעקב אוטומטי בדף Google Kubernetes Engine, מבצעים את הפעולות הבאות:
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :
לוחצים על שם האשכול שרוצים להציג בו את מרכזי הבקרה של עומסי העבודה שנמצאים במעקב אוטומטי.
לוחצים על הכרטיסייה Observability (יכולת תצפית). בקטע Integrations מוצגים לוחות בקרה מוגדרים עבור עומסי עבודה נתמכים שפועלים באשכול.
כדי לראות את לוחות הבקרה עם נתוני הטלמטריה של עומסי עבודה שבמעקב אוטומטי בדף Cloud Monitoring:
עוברים לדף מרכז בקרה.
לוחצים על הכרטיסייה רשימת מרכזי בקרה.
בוחרים בקטגוריה שילובים.
לוחצים על השם של מרכז הבקרה. לדוגמה, RabbitMQ Prometheus Overview.
מרכזי בקרה למדדי יכולת הצפייה ב-AI/ML
כדי לראות מרכזי בקרה עם מדדי יכולת הצפייה של AI/ML:
במסוף Google Cloud , עוברים לדף Deployed Models:
כדי לראות פרטים על פריסה ספציפית, כולל המדדים, היומנים ולוחות הבקרה שלה, לוחצים על שם המודל ברשימה.
כדי לראות את לוחות הבקרה של יכולת התצפית, לוחצים על הכרטיסייה Observability. אם מוצגת בקשה, לוחצים על הפעלה כדי להפעיל את איסוף המדדים באשכול.
- בלוח הבקרה Infrastructure usage מוצגים מדדי השימוש.
- בלוח הבקרה DCGM מוצגים מדדים של NVIDIA Data Center GPU Manager (DCGM).
- אם הפריסה משתמשת ב-vLLM, לוח הבקרה ביצועי המודל זמין ומציג מדדים של ביצועי מודל vLLM.
השבתת המעקב האוטומטי אחרי אפליקציות
אם משביתים את הניטור האוטומטי של אפליקציות באשכול, משאבי PodMonitoring שנוצרו על ידי GKE נשארים ללא שינוי, ו-GKE ממשיך לנטר עומסי עבודה נתמכים קיימים. GKE מפסיק את המעקב האוטומטי אחרי מופעים חדשים של עומסי עבודה נתמכים שאתם פורסים באשכול. כדי להפסיק את המעקב אחרי עומסי עבודה קיימים שנתמכים, צריך למחוק את משאבי PodMonitoring שנוצרו על ידי GKE. אם מפעילים מחדש את המעקב האוטומטי אחר אפליקציות באשכול, GKE מזהה את המשאבים PodMonitoring שהוא יצר קודם ומבצע התאמה ביניהם.
אפשר להשבית את המעקב האוטומטי אחרי אפליקציות באשכול באמצעות מסוףGoogle Cloud , ה-CLI של gcloud או GKE API.
המסוף
נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :
לוחצים על שם האשכול.
ברשימה Features, מחפשים את השדה Automatic application monitoring.
לוחצים על editעריכה.
מבטלים את הסימון של האפשרות הפעלת מעקב אוטומטי אחר אפליקציות.
לוחצים על Save.
gcloud
מעדכנים את האשכול באמצעות האפשרות --auto-monitoring-scope=NONE:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--auto-monitoring-scope=NONE
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: שם האשכול. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
API
שולחים בקשת PUT ל-method clusters.update:
PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME
{
"update": {
"desiredMonitoringConfig": {
"managedPrometheusConfig": {
"autoMonitoringConfig": {
"scope": "NONE"
}
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CLUSTER_NAME: שם האשכול. -
COMPUTE_LOCATION: המיקום של Compute Engine עבור האשכול.
התאמה אישית של מעקב אוטומטי אחרי עומסי עבודה נתמכים
אתם יכולים להתאים אישית את הגדרות המעקב עבור מקרים ספציפיים של עומסי עבודה נתמכים, או לבטל את המעקב עבור מקרים ספציפיים של עומסי עבודה נתמכים.
כדי להתאים אישית את משאב PodMonitoring עבור מופע פרוס של עומס עבודה נתמך בלי להשפיע על המעקב האוטומטי אחרי אפליקציות של עומסי עבודה אחרים, צריך להחריג את המופע מהמעקב האוטומטי אחרי אפליקציות, ואז לעדכן את ההגדרה או להחליף את משאב PodMonitoring שמשויך למופע של עומס העבודה הרצוי.
אם מעדכנים או מוחקים משאב PodMonitoring שנוצר על ידי GKE בלי להחריג את עומס העבודה המשויך, GKE משחזר את משאב PodMonitoring כדי להבטיח המשכיות בזמן המעקב אחרי עומסי עבודה נתמכים אחרים.
חיפוש משאב PodMonitoring של עומס עבודה
כדי לזהות את משאב PodMonitoring שנוצר על ידי GKE עבור עומס עבודה, אפשר להשתמש במסוף Google Cloud :
עוברים לדף חלונית האובייקטים.
בשדה Cluster (אשכול), מזינים את שם האשכול.
בשדה Namespace, מזינים את השם של מרחב השמות.
במסנן Object Kinds, בוחרים באפשרות PodMonitoring.
בקטע monitoring.googleapis.com, בוחרים באפשרות PodMonitoring.
לוחצים על שם של אובייקט כדי לבדוק אותו. תווית המטא-נתונים
source:gke-auto-monitoringמציינת שמשאבPodMonitoringנוצר על ידי GKE.
החרגת מופעים שנפרסו ממעקב אוטומטי
אם אתם לא רוצים לעקוב אחרי מופע פרוס של עומס עבודה נתמך, או אם אתם רוצים להתאים אישית את הגדרות המעקב של עומס עבודה, אתם יכולים להחריג את עומס העבודה ממעקב אוטומטי של אפליקציות.
כדי להחריג עומס עבודה, צריך להוסיף את תווית המטא-נתונים allow-gke-auto-monitoring: false להגדרת עומס העבודה של היעד.
לדוגמה, קובץ המניפסט הבא מתאר RabbitMQ StatefulSet שלא מנוטר על ידי ניטור אוטומטי של אפליקציות:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: rabbitmq
labels:
allow-gke-auto-monitoring: "false"
spec:
serviceName: rabbitmq
replicas: 3
אחרי שמוציאים מכלל החישוב עומס עבודה, אפשר למחוק את המשאב ש-GKE יצר עבור עומס העבודה.PodMonitoring GKE לא מנסה לשחזר את משאב PodMonitoring אם מוחקים או משנים אותו. אם פורסים עומס עבודה חדש עם תווית המטא-נתונים allow-gke-auto-monitoring: false, מערכת GKE לא יוצרת משאב PodMonitoring לעומס העבודה.
מחיקת הגדרת המעקב של עומס עבודה
אם רוצים להפסיק את המעקב אחרי עומס עבודה או לפרוס משאב מותאם אישית משלכם עבור עומס עבודה, אפשר למחוק את הגדרת המעקב.PodMonitoring
כדי למחוק את ההגדרה של מעקב אוטומטי אחרי אפליקציה של עומס עבודה ספציפי:
- להחריג את עומס העבודה ממעקב אוטומטי של אפליקציות.
- מזהים את משאב
PodMonitoringשנוצר על ידי GKE עבור עומס העבודה. מוחקים את המשאב
PodMonitoring:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACEמחליפים את מה שכתוב בשדות הבאים:
-
POD_MONITORING_NAME: השם של משאבPodMonitoring. -
NAMESPACE: מרחב השמות של משאבPodMonitoring.
-
כדי למחוק את ההגדרה של מעקב אוטומטי אחרי אפליקציות בכל עומסי העבודה באשכול:
- השבתה של מעקב אוטומטי אחר אפליקציות.
מחיקת כל משאבי
PodMonitoringבאשכול עם תווית המטא-נתוניםsource:gke-auto-monitoring:kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
תמחור
ההגדרה האוטומטית של מעקב אחרי אפליקציות וההתקנה של לוחות בקרה מוכנים מראש למעקב אחרי עומסי עבודה נתמכים זמינות ללא תשלום נוסף. עם זאת, יש חיובים על Monitoring על הטמעה של מדדים על ידי השירות המנוהל של Google Cloud ל-Prometheus, בהתאם לתמחור של Monitoring.