כשמפעילים את ההתאמה האוטומטית לעומס, המידרוג האוטומטי מקבל החלטות לגבי ההתאמה לעומס על סמך האפשרויות שציינתם. כל החלטה לגבי שינוי גודל נרשמת ביומן על ידי Cloud Logging. כדי להבין טוב יותר את החלטות המידרוג האוטומטי של גודל הקבוצה, כדאי לקרוא את היומנים האלה בLogs Explorer.
באמצעות הכלי Logs Explorer, תוכלו לראות אירועים שקשורים ל:
- המלצה של Autoscaler לשינוי הגודל של קבוצת מופעי מכונה מנוהלים (MIG). אם ה-autoscaler מחשב גודל מומלץ חדש ל-MIG, השינוי בגודל המומלץ מתואר ביומני ה-autoscaler. שינוי הגודל של רשומה ביומן
- שינויים בסטטוס של קנה המידה האוטומטי. לדוגמה, אם המידרוג האוטומטי פעל כמצופה אבל נתקל בבעיה, השינוי בסטטוס יתואר ביומני המידרוג האוטומטי. אפשר לעיין ברשומה ביומן שינויים.
לפני שמתחילים
- מומלץ לקרוא את מסמכי התיעוד בנושא התאמה אוטומטית לעומס.
- יש לכם מידרוג אוטומטי פעיל שאתם רוצים לראות את היומנים שלו.
- אפשר להיעזר בהוראות שבמאמר איך משתמשים ב-Logs Explorer.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
הצגת יומנים של התאמה אוטומטית לעומס (autoscaler)
כדי להציג את יומני ההתאמה האוטומטית לעומס, אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud או ב-REST.
המסוף
אם הפעלתם התאמה אוטומטית לעומס, תוכלו לראות את יומני ההתאמה האוטומטית לעומס ב-Google Cloud console.
- עוברים לדף Logs Explorer.
- פותחים את התפריט הנפתח Resource ובוחרים באפשרות Autoscaler.
אפשר גם לנווט לדף Logs Explorer מ-MIG באופן הבא:
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על השם של קבוצת ה-MIG שרוצים להציג את היומנים שלה.
לוחצים על הכרטיסייה Monitoring.
בכרטיסייה מעקב, החלונית יומנים נמצאת בתחתית הדף. מרחיבים את החלונית על ידי לחיצה על keyboard_capslock החלפת החלונית 'יומנים' בסוף החלונית.
כדי לפתוח את הדף Logs explorer, לוחצים על open_in_new View in logs explorer.
הכלי Log Explorer נפתח עם שאילתת ברירת מחדל לאחזור כל היומנים של ה-autoscaler של ה-MIG.
gcloud
כדי לחפש את כל היומנים שקשורים להתאמה אוטומטית לעומס, משתמשים בפקודה logging read.
לדוגמה:
gcloud logging read "resource.type=autoscaler" --limit 10 \
--format json
כדי להציג את יומני ה-autoscaler של קבוצת MIG ספציפית, מציינים את instance_group_manager_name באופן הבא:
gcloud logging read "resource.type=autoscaler AND \
resource.labels.instance_group_manager_name=example-igm" \
--limit 10 --format json
כדי להציג את רשומות היומן שקשורות לפעולות שינוי הגודל של המידרוג האוטומטי, מציינים את שם השיטה 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
כדי לראות את רשומות היומן שקשורות לשינויים בסטטוס של המידרוג האוטומטי, מציינים את שם השיטה 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 של היומנים שרוצים להציג. לדוגמה, כדי לשלוח בקשה לקבלת רשימה של פעולות שינוי גודל של קבוצת MIG ספציפית:
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"
]
}
כדי לשלוח בקשה לקבלת רשימה של שינויי סטטוס של MIG ספציפי:
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, 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 באופן הבא:
|
autoscalingReason |
פרטים על הסיבה להתאמה אוטומטית לעומס. |
autoscalingReason.scalingLimit
|
פרטים על תכונת ההתאמה האוטומטית לעומס שהגבילה את calculatedSize, שהוא הגודל שחושב על ידי ההתאמה האוטומטית לעומס על סמך האות להתאמה אוטומטית לעומס. התכונות של ההתאמה האוטומטית לעומס שיכולות להגביל את calculatedSize הן מספר המכונות המקסימלי או המינימלי, אמצעי הבקרה לצמצום אופקי בהתאם לעומס (scale in) או תקופת הייצוב.
אם לא חלה מגבלה על calculatedSize, השדה scalingLimit לא מופיע ביומנים.
|
autoscalingReason.scalingLimit.limitPolicy
|
ההגדרה של התכונה 'התאמה אוטומטית לעומס' שהגבילה את calculatedSize. השדה limitPolicy לא מוגדר כשהייצוב מגביל את calculatedSize, כי הייצוב הוא תכונת ברירת מחדל של התאמה אוטומטית לעומס (automatic scaling).
|
autoscalingReason.scalingLimit.limitSize
|
מספר המכונות הווירטואליות שמבוסס על התכונה של שינוי גודל אוטומטי שהגבילה את calculatedSize.
|
autoscalingReason.scalingLimit.name
|
השם של תכונת ההתאמה האוטומטית לעומס שהגבילה את calculatedSize. |
autoscalingReason.scalingSignal
|
פרטים על אות ההתאמה האוטומטית לעומס שמשמש לחישוב מספר המכונות הווירטואליות שצריכות להיות ב-MIG. אם למדיניות ההתאמה האוטומטית לעומס יש כמה אותות, המידרוג האוטומטי מתייחס לאות שדורש את המספר הגדול ביותר של מכונות וירטואליות. |
autoscalingReason.scalingSignal.calculatedSize
|
מספר המכונות הווירטואליות שצריכות להיות בקבוצת ה-MIG על סמך אותות של התאמה אוטומטית לעומס. אם scalingLimit חל, אז המידרוג האוטומטי מגביל את calculatedSize ל-scalingLimit.limitSize.
|
autoscalingReason.scalingSignal.calculationDetails
|
פרטים שמשמשים לקביעת calculatedSize.
|
autoscalingReason.scalingSignal.name
|
השם של אות ההתאמה האוטומטית לעומס שעל פיו המערכת להתאמה אוטומטית לעומס חישבה את מספר המכונות הווירטואליות, שמיוצג על ידי calculatedSize ביומן.
|
autoscalingReason.scalingSignal.signalPolicy
|
ההגדרה של אות ההתאמה האוטומטית לעומס שלפיו נקבע המידרוג האוטומטי של calculatedSize.
|
autoscalingReason.summary
|
תיאור של הסיבה להתאמה אוטומטית לעומס. |
newSize
|
הגודל המומלץ הנוכחי של ה-MIG. בהתאם לערך של
autoscalingMode, המידרוג האוטומטי משנה את הגודל של קבוצת ה-MIG לערך של
newSize באופן הבא:
|
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"
}
}
מידע על שדות אחרים ברשומה ביומן מופיע במאמר פורמט של רשומות ביומן הביקורת.
המאמרים הבאים
- מעדכנים את ה-autoscaler באמצעות המידע שקיבלתם מהיומנים.
- איך מידרוג אוטומטי מקבל החלטות
- בודקים את האפשרויות להתאמה אוטומטית לעומס.