הגדרת מעקב אוטומטי אחרי אפליקציות לעומסי עבודה

כדי לחסוך זמן ומאמץ בהגדרת אפליקציות למעקב שפועלות ב-Google Kubernetes Engine‏ (GKE) ובתחזוקה שלהן, אפשר להפעיל מעקב אוטומטי אחרי אפליקציות עבור עומסי עבודה נתמכים.

איך עובד מעקב אוטומטי אחרי אפליקציות

כשמפעילים מעקב אוטומטי אחרי אפליקציות, מערכת GKE מזהה מופעים של עומסי עבודה נתמכים שנפרסו ומקצה משאבי PodMonitoring לכל מופע של עומס עבודה שזוהה.

בנוסף, המערכת מתקינה באופן אוטומטי לוחות בקרה מוכנים מראש למעקב אחרי אפליקציות. המדדים נאספים על ידי השירות המנוהל של Google Cloud ל-Prometheus.

עומסי עבודה נתמכים

המעקב האוטומטי אחרי אפליקציות תומך בעומסי העבודה הבאים:

המרווח בין סריקות המדדים בשרתים של מודלים של 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 לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.

הדרישות למעקב אוטומטי אחרי אפליקציות

כדי להפעיל מעקב אוטומטי אחרי אפליקציות, אשכול GKE צריך לעמוד בדרישות הבאות:

הפעלת מעקב אוטומטי אחרי אפליקציות

אפשר להפעיל מעקב אוטומטי אחרי אפליקציות באשכולות GKE חדשים או קיימים באמצעות מסוף Google Cloud , Google Cloud CLI או GKE API.

תהליך גירוד המדדים מתחיל תוך 10 דקות לכל היותר עבור עומסי עבודה נתמכים אחרי פריסת עומס עבודה חדש או אחרי הפעלת מעקב אוטומטי אחרי אפליקציות באשכול.

המסוף

כדי להפעיל מעקב אוטומטי אחר אפליקציות באשכול חדש:

  1. נכנסים לדף Create an Autopilot cluster במסוף Google Cloud .

    כניסה לדף Create an Autopilot cluster

    אפשר גם ליצור אשכול רגיל כדי להשלים את המשימה הזו.

  2. במצב Autopilot, לוחצים על הגדרות מתקדמות. במקרה של אשכול במצב רגיל, לוחצים על תכונות.

  3. בקטע פעולות, בוחרים באפשרות הפעלת מעקב אוטומטי אחרי אפליקציות.

  4. לוחצים על יצירה.

אפשר גם להפעיל מעקב אוטומטי אחרי אפליקציות באשכול קיים. לשם כך, צריך לעדכן את השדה 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

מחליפים את מה שכתוב בשדות הבאים:

אפשר גם לעדכן אשכול קיים באמצעות הפקודה 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.

המסוף

מבצעים את הפעולות הבאות:

  1. נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :

    מעבר אל Google Kubernetes Engine

  2. ברשימת האשכולות, לוחצים על שם האשכול.

  3. בקטע תכונות, השדה מעקב אוטומטי אחרי אפליקציות מציין אם המעקב האוטומטי אחרי אפליקציות מופעל או מושבת.

gcloud

תארו את האשכול:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'

מחליפים את מה שכתוב בשדות הבאים:

הפלט אמור להיראות כך:

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, מבצעים את הפעולות הבאות:

  1. נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :

    מעבר אל Google Kubernetes Engine

  2. לוחצים על שם האשכול שרוצים להציג בו את מרכזי הבקרה של עומסי העבודה שנמצאים במעקב אוטומטי.

  3. לוחצים על הכרטיסייה Observability (יכולת תצפית). בקטע Integrations מוצגים לוחות בקרה מוגדרים עבור עומסי עבודה נתמכים שפועלים באשכול.

כדי לראות את לוחות הבקרה עם נתוני הטלמטריה של עומסי עבודה שבמעקב אוטומטי בדף Cloud Monitoring:

  1. עוברים לדף מרכז בקרה.

    מעבר למרכז בקרה

  2. לוחצים על הכרטיסייה רשימת מרכזי בקרה.

  3. בוחרים בקטגוריה שילובים.

  4. לוחצים על השם של מרכז הבקרה. לדוגמה, RabbitMQ Prometheus Overview.

מרכזי בקרה למדדי יכולת הצפייה ב-AI/ML

כדי לראות מרכזי בקרה עם מדדי יכולת הצפייה של AI/ML:

  1. במסוף Google Cloud , עוברים לדף Deployed Models:

    מעבר אל 'מודלים שנפרסו'

  2. כדי לראות פרטים על פריסה ספציפית, כולל המדדים, היומנים ולוחות הבקרה שלה, לוחצים על שם המודל ברשימה.

  3. כדי לראות את לוחות הבקרה של יכולת התצפית, לוחצים על הכרטיסייה 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.

המסוף

  1. נכנסים לדף Google Kubernetes Engine במסוף Google Cloud :

    מעבר אל Google Kubernetes Engine

  2. לוחצים על שם האשכול.

  3. ברשימה Features, מחפשים את השדה Automatic application monitoring.

  4. לוחצים על עריכה.

  5. מבטלים את הסימון של האפשרות הפעלת מעקב אוטומטי אחר אפליקציות.

  6. לוחצים על Save.

gcloud

מעדכנים את האשכול באמצעות האפשרות --auto-monitoring-scope=NONE:

gcloud container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=NONE

מחליפים את מה שכתוב בשדות הבאים:

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 :

  1. עוברים לדף חלונית האובייקטים.

    כניסה לחלונית האובייקטים

  2. בשדה Cluster (אשכול), מזינים את שם האשכול.

  3. בשדה Namespace, מזינים את השם של מרחב השמות.

  4. במסנן Object Kinds, בוחרים באפשרות PodMonitoring.

  5. בקטע monitoring.googleapis.com, בוחרים באפשרות PodMonitoring.

  6. לוחצים על שם של אובייקט כדי לבדוק אותו. תווית המטא-נתונים 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

כדי למחוק את ההגדרה של מעקב אוטומטי אחרי אפליקציה של עומס עבודה ספציפי:

  1. להחריג את עומס העבודה ממעקב אוטומטי של אפליקציות.
  2. מזהים את משאב PodMonitoring שנוצר על ידי GKE עבור עומס העבודה.
  3. מוחקים את המשאב PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • POD_MONITORING_NAME: השם של משאב PodMonitoring.
    • NAMESPACE: מרחב השמות של משאב PodMonitoring.

כדי למחוק את ההגדרה של מעקב אוטומטי אחרי אפליקציות בכל עומסי העבודה באשכול:

  1. השבתה של מעקב אוטומטי אחר אפליקציות.
  2. מחיקת כל משאבי PodMonitoring באשכול עם תווית המטא-נתונים source:gke-auto-monitoring:

    kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
    

תמחור

ההגדרה האוטומטית של מעקב אחרי אפליקציות וההתקנה של לוחות בקרה מוכנים מראש למעקב אחרי עומסי עבודה נתמכים זמינות ללא תשלום נוסף. עם זאת, יש חיובים על Monitoring על הטמעה של מדדים על ידי השירות המנוהל של Google Cloud ל-Prometheus, בהתאם לתמחור של Monitoring.

המאמרים הבאים