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 wie folgt bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Rufen Sie die Seite Log-Explorer auf.
- Maximieren Sie das Drop-down-Menü Ressource und wählen Sie Autoscaling aus.
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.
ON
: Das Autoscaling ändert die Größe der MIG innewSize
.OFF
: Das Autoscaling passt die Größe der MIG nicht an.ONLY_SCALE_OUT
: Das Autoscaling passt die Größe der MIG nur dann an, wennnewSize
größer als die Zielgröße der MIG ist.servingSize
: Die Anzahl der VMs in der MIG ohne die VMs, die sich noch in der Initialisierungszeit befinden.signalTarget
: Der Zielwert, den das Autoscaling für die CPU-Auslastung (in Echtzeit), die vorhergesagte CPU-Auslastung, die Load-Balancing-Auslastung oder einen Messwert, der für das Auslastungsziel konfiguriert wurde, verwendet.singleInstanceAssignment
: Wenn die Skalierung auf einem Messwert basiert, der die Gesamtmenge der auszuführenden Arbeit darstellt, istsingleInstanceAssignment
die Arbeitsmenge, die jede VM bewältigen kann.signalValue
: Der Wert des Autoscaling-Signals. WennsignalTarget
festgelegt ist, vergleicht das AutoscalingsignalValue
mitsignalTarget
, um zu berechnen, wie viele VMs benötigt werden. Dies wird dargestellt durchcalculatedSize
.ON
: Das Autoscaling ändert die Größe der MIG innewSize
.OFF
: Das Autoscaling passt die Größe der MIG nicht an.ONLY_SCALE_OUT
: Das Autoscaling passt die Größe der MIG nur dann an, wennnewSize
größer als die Zielgröße der MIG ist.metadata.newStatus.details
: Der neue Status des Autoscalings.metadata.oldStatus.details
: Der vorherige Status des Autoscalings.- Autoscaling auf der Grundlage von Loginformationen aktualisieren
- So trifft das Autoscaling Entscheidungen
- Autoscaling-Optionen
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.
Console
Wenn Sie das Autoscaling aktiviert haben, können Sie Autoscaling-Logs in der Google Cloud Console aufrufen.
Sie können auch so die Seite Log-Explorer über Ihre MIG aufrufen:
gcloud
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
REST
Stellen Sie eine Anfrage an die Logging V2 API. Der Text der Anfrage muss den Parameter
filter
zum Suchen nach Logs und dasproject
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 von35%
zu erreichen. Die maximale Anzahl von Instanzen, die in der Autoscaling-Richtlinie konfiguriert sind, beträgt jedoch nur2
. Das Autoscaling begrenzt daher die empfohlene Größe auf2
.{ 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 diecalculatedSize
begrenzen, sind die maximale oder minimale Anzahl von Instanzen, Einstellungen für die Herunterskalierung oder der Stabilisierungszeitraum. Wenn fürcalculatedSize
kein Limit gilt, wird das FeldscalingLimit
nicht in den Logs angezeigt.autoscalingReason.scalingLimit.limitPolicy
Die Konfiguration des Autoscaling-Features, das die calculatedSize
begrenzt hat. Das FeldlimitPolicy
wird nicht festgelegt, wenn die Stabilisierung diecalculatedSize
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 AutoscalingcalculatedSize
aufscalingLimit.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 annewSize
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: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
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-10-14 (UTC).
-