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

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

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

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

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

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

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

מרווח הגירוד של מדדים לשרתי מודלים של AI הוא 15 שניות. עבור עומסי עבודה שלא מבוססים על AI, מרווח הגירוד הוא 30 שניות.

מידע נוסף על פתרונות אחרים לניטור שניתן להגדיר באופן ידני זמין במאמר מבוא להגדרת כלי ייצוא במאמרי העזרה של Google Cloud Observability.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:

  • מפעילים את ממשק Google Kubernetes Engine API.
  • הפעלת Google Kubernetes Engine API
  • כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את gcloud CLI. אם התקנתם בעבר את ה-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 ,‏ gcloud CLI או GKE API.

המסוף

צריך לבצע את הפעולות הבאות:

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

    מעבר אל Google Kubernetes Engine

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

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

gcloud

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

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

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

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

ALL

בפלט, אם הערך שמוחזר הוא 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 של האשכול.

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

{
  "monitoringConfig": {
    "managedPrometheusConfig": {
      "autoMonitoringConfig": {
        "scope": "ALL"
      }
    }
  }
}

בפלט JSON, אם הערך של השדה scope בתוך autoMonitoringConfig הוא "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.

מרכזי בקרה למדדי ניראות (observability) של AI/ML

כדי לראות את לוחות הבקרה של מדדי יכולת הצפייה ב-AI/ML:

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

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

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

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

    • בלוח הבקרה Infrastructure usage מוצגים מדדי השימוש.
    • בלוח הבקרה DCGM מוצגים מדדים של NVIDIA Data Center GPU Manager ‏ (DCGM).
    • אם הפריסה משתמשת ב-vLLM, לוח הבקרה Model performance זמין ומציג מדדים של ביצועי מודל vLLM.

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

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

אפשר להשבית את המעקב האוטומטי אחרי אפליקציות באשכול באמצעות מסוףGoogle Cloud , gcloud CLI או 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. עוברים לדף Object browser.

    מעבר לחלונית האובייקטים

  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.

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