Wenn Sie Autoscaling aktivieren, werden Skalierungsentscheidungen basierend auf den von Ihnen festgelegten Optionen vorgenommen. Jede Skalierungsentscheidung wird von Cloud Logging protokolliert. Lesen Sie diese Logs im Log-Explorer, um die Skalierungsentscheidungen des Autoscalings besser zu verstehen.
Im Log-Explorer sehen Sie folgende Ereignisse:
- Autoscaling-Empfehlung zum Anpassen der Größe einer verwalteten Instanzgruppe (MIG). Wenn das Autoscaling eine neue empfohlene Größe für eine MIG berechnet, wird die Änderung der empfohlenen Größe in den Autoscaling-Logs beschrieben. Weitere Informationen finden Sie unter Größe des Logeintrags anpassen.
- Änderungen beim Autoscaling-Status. Wenn beispielsweise das Autoscaling wie erwartet funktioniert, dann aber ein Problem auftritt, wird diese Statusänderung in den Autoscaling-Logs beschrieben. Siehe Logeintrag für die Statusänderung.
Vorbereitung
- Lesen Sie die Dokumentation zum Autoscaling.
- Sie benötigen ein aktives Autoscaling, dessen Logs Sie anzeigen möchten.
- Lesen Sie die Informationen über die Verwendung des Log-Explorers.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
-
Autoscaling-Logs ansehen
Zum Aufrufen von Autoscaling-Logs verwenden Sie die Google Cloud Console, die gcloud CLI oder REST.
Wenn Sie das Autoscaling aktiviert haben, können Sie Autoscaling-Logs in der Google Cloud Console aufrufen.
- Rufen Sie die Seite Log-Explorer auf.
- Maximieren Sie das Drop-down-Menü Ressource und wählen Sie Autoscaling aus.
Sie können auch so die Seite Log-Explorer über Ihre MIG aufrufen:
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf den Namen der MIG, für die Sie die Logs aufrufen möchten.
Klicken Sie auf den Tab Monitoring.
Im Tab Monitoring befindet sich der Bereich Logs unten auf der Seite. Klicken Sie auf das Symbol am Ende dieses Steuerfelds, um das Steuerfeld zu öffnen.
Klicken Sie zum Öffnen der Seite Log-Explorer in diesem Bereich auf das Symbol Im Log-Explorer ansehen. Der Log-Explorer wird mit einer Standardabfrage geöffnet, um alle Autoscaling-Logs der MIG abzurufen.
Verwenden Sie den Befehl logging read
, um alle Logs im Zusammenhang mit dem Autoscaling aufzurufen.
Beispiel:
gcloud logging read "resource.type=autoscaler" --limit 10 \ --format json
Geben Sie zum Aufrufen der Autoscaling-Logs einer bestimmten MIG den instance_group_manager_name
so an:
gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm" \ --limit 10 --format json
Geben Sie den Methodennamen compute.autoscalers.resize
an, um die Logeinträge für Größenänderungen des Autoscalings aufzurufen:
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
Geben Sie den Methodennamen compute.autoscalers.changeStatus
an, um die Logeinträge für Statusänderungen des Autoscalings aufzurufen:
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
Stellen Sie eine Anfrage an die Logging V2 API.
Der Text der Anfrage muss den Parameter filter
zum Suchen nach Logs und das project
haben, für das Sie Logs aufrufen möchten. Hier ein Beispiel für eine Anfrage zum Abrufen einer Liste von Größenänderungen einer bestimmten 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" ] }
Anfrage zum Abrufen einer Liste von Statusänderungen einer bestimmten 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" ] }
Logeintragsgröße anpassen
Wenn das Autoscaling eine empfohlene Größe für Ihre MIG berechnet, erstellt Compute Engine einen Logeintrag, der die neuen und alten empfohlenen Größen erfasst. Bei zonalen MIGs erfasst der Logeintrag auch den Grund für die Änderung der empfohlenen Größe.
Das folgende Beispiel zeigt einen Logeintrag für eine zonale MIG. In diesem Beispiel berechnet das Autoscaling anhand von vorausschauendem Autoscaling 3
VMs, um das CPU-Auslastungsziel von 35%
zu erreichen. Die maximale Anzahl von Instanzen, die in der Autoscaling-Richtlinie konfiguriert sind, beträgt jedoch nur 2
. Das Autoscaling begrenzt daher die empfohlene Größe auf 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" }
In der folgenden Tabelle werden die Felder aus dem Logeintrag beschrieben:
Attribut | Wert |
---|---|
autoscalingMode |
Der Autoscaling-Modus zu dem Zeitpunkt, zu dem der Eintrag protokolliert wurde. Unabhängig vom Modus berechnet das Autoscaling die empfohlene Größe, die durch newSize im Log dargestellt wird. Je nach Autoscaling-Modus passt das Autoscaling die MIG so an:
|
autoscalingReason |
Details zum Grund für das Autoscaling. Dieses Feld wird nur für zonale MIGs angezeigt. |
autoscalingReason.scalingLimit
|
Details zum Autoscaling-Feature, das die calculatedSize begrenzt hat. Dies ist die Größe, die das Autoscaling basierend auf dem Autoscaling-Signal berechnet hat. Die Autoscaling-Features, die die calculatedSize begrenzen, sind die maximale oder minimale Anzahl von Instanzen, Einstellungen für die Herunterskalierung oder der Stabilisierungszeitraum.
Wenn für calculatedSize kein Limit gilt, wird das Feld scalingLimit nicht in den Logs angezeigt.
|
autoscalingReason.scalingLimit.limitPolicy
|
Die Konfiguration des Autoscaling-Features, das die calculatedSize begrenzt hat. Das Feld limitPolicy wird nicht festgelegt, wenn die Stabilisierung die calculatedSize begrenzt, da die Stabilisierung ein Standardfeature des Autoscalings ist.
|
autoscalingReason.scalingLimit.limitSize
|
Die Anzahl der VMs, die auf dem Autoscaling-Feature basieren, das die calculatedSize begrenzt hat.
|
autoscalingReason.scalingLimit.name
|
Der Name des Autoscaling-Features, das die calculatedSize eingeschränkt hat. |
autoscalingReason.scalingSignal
|
Details zum Autoscaling-Signal, das zur Berechnung der Anzahl von VMs verwendet wird, die die MIG haben sollte. Wenn die Autoscaling-Richtlinie mehrere Signale hat, berücksichtigt das Autoscaling das Signal, das die größte Anzahl von VMs erfordert. |
autoscalingReason.scalingSignal.calculatedSize
|
Die Anzahl der VMs, die die MIG basierend auf dem Autoscaling-Signal haben sollte. Wenn scalingLimit gilt, beschränkt das Autoscaling calculatedSize auf scalingLimit.limitSize .
|
autoscalingReason.scalingSignal.calculationDetails
|
Details zur Bestimmung der calculatedSize .
|
autoscalingReason.scalingSignal.name
|
Der Name des Autoscaling-Signals, anhand dessen das Autoscaling die die Anzahl der VMs berechnet hat, dargestellt durch calculatedSize im Log.
|
autoscalingReason.scalingSignal.signalPolicy
|
Die Konfiguration des Autoscaling-Signals, anhand dessen das Autoscaling die calculatedSize bestimmt hat.
|
autoscalingReason.summary
|
Eine Beschreibung des Grunds für das Autoscaling. |
newSize
|
Die aktuell empfohlene Größe der MIG. Je nach autoscalingMode passt das Autoscaling die Größe der MIG so an newSize an:
|
oldSize
|
Die vorherige empfohlene Größe der MIG. |
Informationen zu den anderen Feldern im Logeintrag finden Sie unter Format von Audit-Logeinträgen.
Logeintrag für die Statusänderung
Wenn sich der Status des Autoscalings ändert, erstellt Compute Engine einen Logeintrag, in dem die alten und neuen Statusmeldungen erfasst werden. Anhand dieser Statusmeldungen können Sie herausfinden, warum Ihr Autoscaling nicht wie erwartet funktioniert, oder Probleme beheben, die Ihnen aufgefallen sind. Einige der häufig auftretenden Statusmeldungen finden Sie unter Häufige Statusrückmeldungen.
Die folgenden Felder in protoPayload
beschreiben die alten und neuen Status:
metadata.newStatus.details
: Der neue Status des Autoscalings.metadata.oldStatus.details
: Der vorherige Status des Autoscalings.
Das folgende Beispiel zeigt einen Logeintrag, der eine Statusänderung beschreibt. In diesem Beispiel können Sie anhand der neuen Statusmeldung Probleme mit der Load Balancing-Konfiguration erkennen.
{ 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" } }
Informationen zu den anderen Feldern im Logeintrag finden Sie unter Format von Audit-Logeinträgen.
Nächste Schritte
- Autoscaling auf der Grundlage von Loginformationen aktualisieren
- So trifft das Autoscaling Entscheidungen
- Autoscaling-Optionen