צפייה ביומנים של מידרוג אוטומטי

כשמפעילים את התכונה 'התאמה אוטומטית לעומס (automatic scaling)', המידרוג האוטומטי מקבל החלטות לגבי התאמה לעומס (scaling) על סמך האפשרויות שאתם מציינים. כל החלטה לגבי שינוי גודל נרשמת ביומן על ידי Cloud Logging. כדי להבין טוב יותר את ההחלטות של הכלי לשינוי גודל אוטומטי, כדאי לקרוא את היומנים האלה בכלי לבדיקת יומנים.

באמצעות Logs Explorer, אפשר לראות אירועים שקשורים ל:

  • המלצה לשינוי הגודל של קבוצת מופעי מכונה מנוהלים (MIG) באמצעות Autoscaler. אם הכלי לשינוי גודל אוטומטי מחשב גודל מומלץ חדש ל-MIG, השינוי בגודל המומלץ מתואר ביומני הכלי לשינוי גודל אוטומטי. שינוי הגודל של רשומה ביומן
  • שינויים בסטטוס של קנה המידה האוטומטי. לדוגמה, אם שינוי הגודל האוטומטי פעל כמצופה אבל נתקל בבעיה, השינוי בסטטוס יתואר ביומני שינוי הגודל האוטומטי. יומן שינויים בסטטוס

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

  • קוראים את מסמכי התיעוד בנושא התאמה אוטומטית לעומס.
  • יש לכם מידרוג אוטומטי פעיל שאתם רוצים לראות את היומנים שלו.
  • אפשר להיעזר בהוראות שבמאמר איך משתמשים ב-Logs Explorer.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

צפייה ביומנים של שינוי הגודל האוטומטי

כדי לראות את היומנים של שינוי הגודל האוטומטי, משתמשים במסוף Cloud de Confiance , ב-CLI של gcloud או ב-REST.

המסוף

אם הפעלתם את התכונה 'שינוי גודל אוטומטי', תוכלו לראות את היומנים של שינוי הגודל האוטומטי ב-Cloud de Confiance console.

  1. עוברים לדף Logs Explorer.

    כניסה לדף Logs Explorer

  2. פותחים את התפריט הנפתח Resource ובוחרים באפשרות Autoscaler.

אפשר גם לעבור לדף Logs Explorer מ-MIG באופן הבא:

  1. נכנסים לדף Instance groups במסוף Cloud de Confiance .

    כניסה לדף Instance groups

  2. לוחצים על השם של קבוצת ה-MIG שרוצים להציג את היומנים שלה.

  3. לוחצים על הכרטיסייה Monitoring (מעקב).

  4. בכרטיסייה מעקב, החלונית יומנים מופיעה בתחתית הדף. מרחיבים את החלונית על ידי לחיצה על keyboard_capslock החלפת החלונית 'יומנים' בסוף החלונית.

  5. כדי לפתוח את הדף Logs explorer (כלי לבדיקת יומנים), לוחצים על open_in_new View in logs explorer (הצגה בכלי לבדיקת יומנים).

    כלי הניתוח של היומנים נפתח עם שאילתת ברירת מחדל לאחזור כל היומנים של קבוצת המופעים המנוהלת (MIG) של קנה המידה האוטומטי.

gcloud

כדי לחפש את כל היומנים שקשורים להתאמה אוטומטית לעומס, משתמשים בפקודה logging read. לדוגמה:

gcloud logging read "resource.type=autoscaler" --limit 10 \
    --format json

כדי לראות את היומנים של קבוצת מופעים מנוהלת מסוימת, מציינים את instance_group_manager_name באופן הבא:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm" \
    --limit 10 --format json

כדי לעיין ברשומות ביומן שקשורות לפעולות שינוי הגודל של Autoscaler, מציינים את שם השיטה compute.autoscalers.resize:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm AND \
    protoPayload.methodName=compute.autoscalers.resize" \
    --limit 10 --format json

כדי לראות את רשומות היומן שקשורות לשינויים בסטטוס של Autoscaler, מציינים את שם השיטה compute.autoscalers.changeStatus:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm AND \
    protoPayload.methodName=compute.autoscalers.changeStatus" \
    --limit 10 --format json

REST

שולחים בקשה ל-Logging V2 API. גוף הבקשה צריך להכיל את הפרמטר filter שבו יש להשתמש כשמחפשים יומנים, ואת הפרמטר project של היומנים שרוצים לראות. לדוגמה, כדי לשלוח בקשה לקבלת רשימה של פעולות שינוי גודל של קבוצת מופעים מנוהלת ספציפית:

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "resource.type=autoscaler AND
    resource.labels.instance_group_manager_name=example-igm AND
    protoPayload.methodName=compute.autoscalers.resize",
  "pageSize": 10,
  "resourceNames": [
    "projects/example-project"
  ]
}

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

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "resource.type=autoscaler AND
    resource.labels.instance_group_manager_name=example-igm AND
    protoPayload.methodName=compute.autoscalers.changeStatus",
  "pageSize": 10,
  "resourceNames": [
    "projects/example-project"
  ]
}

שינוי הגודל של רשומה ביומן

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

בדוגמה הבאה מוצגת רשומה ביומן של קבוצת MIG אזורית. בדוגמה הזו, המידרוג האוטומטי חישב 3 מכונות וירטואליות כדי להשיג את יעד ניצול המעבד של 35%, על סמך התאמה אוטומטית לעומס מבוססת-תחזיות. אבל המספר המקסימלי של מופעים שהוגדר במדיניות ההתאמה האוטומטית לעומס הוא רק 2. לכן, הכלי לשינוי גודל אוטומטי מגביל את הגודל המומלץ ל-2.

    {
    insertId: "1l68z7sg4jw7kzo"
    logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload: {
      @type: "type.googleapis.com/google.cloud.audit.AuditLog"
      metadata: {
        @type: "type.googleapis.com/autoscaler.AutoscalerSizeChangeExplanation"
        autoscalingMode: "ON"
        autoscalingReason: {
          scalingLimit: {
            limitPolicy: {
              maxNumReplicas: 2
            }
            limitSize: 2
            name: "MAX_INSTANCES"
          }
          scalingSignal: {
            calculatedSize: 3
            calculationDetails: {
              servingSize: 1
              signalTarget: 0.35
              signalValue: 1.03533
            }
            name: "PREDICTED_CPU_UTILIZATION"
            signalPolicy: {
              coolDownPeriodSec: 15
              cpuUtilization: {
                predictiveMethod: "OPTIMIZE_AVAILABILITY"
                utilizationTarget: 0.35
              }
            }
          }
          summary: "The autoscaler's recommended size changed from 1 to 2
          because the autoscaler predicted that in 15 seconds the average CPU
          utilization across 1 serving instance will be 103.533%, which is above
          the utilization target of 35%. The calculated size was 3 to achieve
          the target CPU utilization but the size was limited by the maximum
          number of instances set in the autoscaling policy."
        }
        newSize: 2
        oldSize: 1
      }
      methodName: "compute.autoscalers.resize"
      resourceName: "projects/example-project/zones/us-east1-d/autoscalers/example-autoscaler"
      serviceName: "compute.googleapis.com"
    }
    receiveTimestamp: "2022-06-13T22:34:43.045973046Z"
    resource: {
      labels: {
        autoscaler_id: "1234567890123456789"
        autoscaler_name: "example-autoscaler"
        instance_group_manager_id: "1357908642148074125"
        instance_group_manager_name: "example-igm"
        location: "us-east1-d"
        project_id: "example-project"
      }
      type: "autoscaler"
    }
    severity: "INFO"
    timestamp: "2022-06-13T22:34:42.810216614Z"
    }

בטבלה הבאה מתוארים השדות מרשומת היומן:

מאפיין (property) ערך
autoscalingMode מצב התאמה אוטומטית לעומס בזמן שהרשומה נרשמה ביומן. בכל מצב, הכלי לשינוי גודל אוטומטי מחשב את הגודל המומלץ, שמיוצג על ידי newSize ביומן. בהתאם למצב של התאמה אוטומטית לעומס, המידרוג האוטומטי משנה את הגודל של ה-MIG באופן הבא:
  • ON: המידרוג האוטומטי משנה את הגודל של ה-MIG ל-newSize.
  • OFF: המידרוג האוטומטי לא משנה את הגודל של ה-MIG.
  • ONLY_SCALE_OUT: המידרוג האוטומטי משנה את הגודל של ה-MIG רק אם newSize גדול מגודל היעד של ה-MIG.
autoscalingReason פרטים על הסיבה להתאמה אוטומטית לעומס.
autoscalingReason.scalingLimit פרטים על התכונה של התאמה אוטומטית לעומס שהגבילה את calculatedSize, שהוא הגודל שחושב על ידי המידרוג האוטומטי על סמך אות ההתאמה האוטומטית לעומס. התכונות של התאמה אוטומטית לעומס שיכולות להגביל את calculatedSize הן מספר מקסימלי או מינימלי של מופעים, אמצעי הבקרה של הקטנת הקיבולת או תקופת הייצוב. אם לא חלה מגבלה על calculatedSize, השדה scalingLimit לא מופיע ביומנים.
autoscalingReason.scalingLimit.limitPolicy ההגדרה של התכונה 'שינוי גודל אוטומטי' שהגבילה את calculatedSize. השדה limitPolicy לא מוגדר כשהייצוב מגביל את calculatedSize, כי הייצוב הוא תכונת ברירת מחדל של שינוי גודל אוטומטי.
autoscalingReason.scalingLimit.limitSize מספר המכונות הווירטואליות שמבוססות על התכונה של שינוי גודל אוטומטי שהגבילה את calculatedSize.
autoscalingReason.scalingLimit.name השם של תכונת ההתאמה האוטומטית לעומס שהגבילה את calculatedSize.
autoscalingReason.scalingSignal פרטים על אות ההתאמה האוטומטית לעומס שמשמש לחישוב מספר המכונות הווירטואליות שצריכות להיות ב-MIG. אם במדיניות ההתאמה האוטומטית לעומס יש כמה אותות, המידרוג האוטומטי מתחשב באות שדורש את המספר הגדול ביותר של מכונות וירטואליות.
autoscalingReason.scalingSignal.calculatedSize מספר המכונות הווירטואליות שצריכות להיות בקבוצת ה-MIG על סמך אות ההתאמה האוטומטית לעומס. אם scalingLimit חל, אז המערכת להגדלת הקיבולת באופן אוטומטי מגבילה את calculatedSize ל-scalingLimit.limitSize.
autoscalingReason.scalingSignal.calculationDetails פרטים שמשמשים לקביעת calculatedSize.
  • servingSize: מספר המכונות הווירטואליות ב-MIG, לא כולל המכונות הווירטואליות שעדיין נמצאות בתקופת האתחול שלהן.
  • signalTarget: ערך היעד ששומרת עליו התכונה לשינוי גודל הקבוצה באופן אוטומטי (autoscaler) עבור ניצול המעבד (בזמן אמת), ניצול המעבד לפי התחזית, ניצול איזון העומסים או מדד שהוגדר עם יעד ניצול.
  • singleInstanceAssignment: אם ההתאמה מבוססת על ערך מדד שמייצג את כמות העבודה הכוללת שצריך לבצע, אז singleInstanceAssignment היא כמות העבודה שכל מכונה וירטואלית יכולה לבצע.
  • signalValue: הערך של אות ההתאמה האוטומטית של קנה המידה. אם המאפיין signalTarget מוגדר, הכלי לשינוי גודל אוטומטי משווה בין signalValue לבין signalTarget כדי לחשב כמה מכונות וירטואליות נדרשות, והתוצאה מוצגת במאפיין calculatedSize.
autoscalingReason.scalingSignal.name השם של אות ההתאמה האוטומטית לעומס שעל פיו המידרוג האוטומטי חישב את מספר המכונות הווירטואליות, שמיוצג על ידי calculatedSize ביומן.
autoscalingReason.scalingSignal.signalPolicy ההגדרה של אות שינוי הגודל האוטומטי שלפיו נקבע calculatedSize על ידי הכלי לשינוי גודל אוטומטי.
autoscalingReason.summary תיאור של הסיבה להגדרה של התאמה אוטומטית לעומס.
newSize הגודל המומלץ הנוכחי של ה-MIG. בהתאם לautoscalingMode, המערכת לשינוי גודל אוטומטי משנה את גודל ה-MIG לnewSize באופן הבא:
  • ON: המידרוג האוטומטי משנה את הגודל של ה-MIG ל-newSize.
  • OFF: המידרוג האוטומטי לא משנה את הגודל של ה-MIG.
  • ONLY_SCALE_OUT: המידרוג האוטומטי משנה את הגודל של ה-MIG רק אם newSize גדול מגודל היעד של ה-MIG.
oldSize הגודל המומלץ הקודם של ה-MIG.

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

רשומה ביומן השינויים של הסטטוס

כשסטטוס ההרחבה האוטומטית משתנה, Compute Engine יוצר רשומה ביומן שכוללת את הודעות הסטטוס הישנות והחדשות. אפשר להשתמש בהודעות הסטטוס האלה כדי להבין למה המערכת האוטומטית לשינוי גודל לא מתנהגת כמו שציפיתם, או כדי לנפות באגים בבעיות שזיהיתם בעבר. כמה מהודעות הסטטוס הנפוצות מפורטות במאמר הודעות סטטוס נפוצות שמוחזרות.

השדות הבאים ב-protoPayload מתארים את הסטטוסים הישנים והחדשים:

  • metadata.newStatus.details: הסטטוס החדש של הכלי להתאמת גודל הקבוצה.
  • metadata.oldStatus.details: הסטטוס הקודם של שינוי הגודל האוטומטי.

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

    {
      insertId: "ivho6kg4icqfio"
      logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event"
      protoPayload: {
        metadata: {
          @type: "type.googleapis.com/autoscaler.AutoscalerStatusChange"
          newStatus: {
            details: "The autoscaler is configured to scale based on a load
            balancing signal but the instance group has not received any
            utilization data from the load balancer or the utilization is
            constantly 0. Check that the load balancing configuration is
            working"
          }
          oldStatus: {
            details: "OK"
          },
          methodName: "compute.autoscalers.changeStatus"
          resourceName: "projects/example-project/zones/us-east1-b/autoscalers/example-autoscaler"
          serviceName: "compute.googleapis.com"
        }
        receiveTimestamp: "2022-06-08T03:54:12.332329320Z"
        resource: {
          labels: {
            autoscaler_id: "1234567890123456789"
            autoscaler_name: "example-autoscaler"
            instance_group_manager_id: "1357908642148074125"
            instance_group_manager_name: "example-igm"
            location: "us-east1-b"
            project_id: "example-project"
          }
          type: "autoscaler"
        }
        severity: "INFO"
        timestamp: "2022-06-08T03:54:10.675416812Z"
      }
    }

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

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