Lorsque vous activez l'autoscaling, l'autoscaler prend des décisions en matière de scaling en fonction des options que vous spécifiez. Chaque décision de scaling est consignée par Cloud Logging. Lisez ces journaux dans l'explorateur de journaux pour mieux comprendre les décisions de scaling prises par l'autoscaler.
L'explorateur de journaux vous permet de voir les événements liés au(x) :
- Recommandation de l'autoscaler pour le redimensionnement d'un groupe d'instances géré (MIG, Managed Instance Groups). Si l'autoscaler calcule une nouvelle taille recommandée pour un MIG, la modification de la taille recommandée est décrite dans les journaux de l'autoscaler. Consultez la section Redimensionner l'entrée de journal.
- Modifications de l'état de l'autoscaler. Par exemple, si l'autoscaler rencontre un problème après avoir fonctionné comme prévu, le changement d'état est décrit dans les journaux de l'autoscaler. Consultez la section Entrée du journal des modifications d'état.
Avant de commencer
- Lisez la documentation sur l'Autoscaling.
- Procurez-vous un autoscaler actif, avec affichage des journaux.
- Découvrez comment utiliser l'explorateur de journaux.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux Google Cloud services et aux API.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
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
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
-
Afficher les journaux de l'autoscaler
Pour afficher les journaux de l'autoscaler, utilisez la console Google Cloud, la gcloud CLI ou REST.
Si vous avez activé l'autoscaling, vous pouvez consulter les journaux d'autoscaling dans la console Google Cloud.
- Accédez à la page Explorateur de journaux.
- Déroulez le menu déroulant Ressource et sélectionnez Autoscaler.
Vous pouvez également accéder à la page Explorateur de journaux de votre MIG comme suit :
Dans Google Cloud Console, accédez à la page Groupes d'instances.
Cliquez sur le nom du MIG pour lequel vous souhaitez afficher les journaux.
Cliquez sur l'onglet Surveillance.
Dans l'onglet Surveillance, le panneau Journaux se trouve en bas de la page. Ouvrez le panneau en cliquant sur l'icône située en bas de ce panneau.
Pour ouvrir la page Explorateur de journaux, cliquez sur l'icône Afficher dans l'explorateur de journaux dans ce panneau. L'explorateur de journaux s'ouvre avec une requête par défaut pour récupérer tous les journaux de l'autoscaler du MIG.
Pour rechercher tous les journaux liés à l'autoscaling, utilisez la commande logging read
.
Exemple :
gcloud logging read "resource.type=autoscaler" --limit 10 \ --format json
Pour afficher les journaux de l'autoscaler d'un MIG spécifique, spécifiez l'élément instance_group_manager_name
comme suit :
gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm" \ --limit 10 --format json
Pour afficher les entrées de journal associées aux actions de redimensionnement de l'autoscaler, spécifiez le nom de la méthode 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
Pour afficher les entrées de journal liées aux modifications d'état de l'autoscaler, spécifiez le nom de la méthode 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
Envoyez une requête à l'API Logging V2.
Le corps de la requête doit contenir le paramètre de filtre (filter
) à utiliser lors de la recherche de journaux et le projet (project
) pour lequel vous souhaitez afficher les journaux. Par exemple, pour effectuer une requête afin d'obtenir la liste des actions de redimensionnement d'un MIG spécifique, procédez comme suit :
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" ] }
Pour effectuer une requête afin d'obtenir la liste des modifications d'état d'un MIG spécifique, procédez comme suit :
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" ] }
Redimensionner une entrée de journal
Lorsque l'autoscaler calcule une taille recommandée pour votre MIG, Compute Engine crée une entrée de journal capturant les nouvelles et les anciennes tailles recommandées. Pour les MIG zonaux, l'entrée de journal capture également la raison de la modification de la taille recommandée.
Voici un exemple d'entrée de journal pour un MIG zonal. Dans cet exemple, en se basant sur l'autoscaling prédictif, l'autoscaler a calculé 3
VM pour atteindre l'objectif d'utilisation du processeur de 35%
. Toutefois, le nombre maximal d'instances configurées dans la règle d'autoscaling n'est que de 2
. L'autoscaler limite donc la taille recommandée à 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" }
Le tableau suivant décrit les champs de l'entrée de journal :
Propriété | Valeur |
---|---|
autoscalingMode |
Mode d'autoscaling au moment où l'entrée a été consignée. Quel que soit le mode, l'autoscaler calcule la taille recommandée, qui est représentée par newSize dans le journal. Selon le mode d'autoscaling, l'autoscaler redimensionne le MIG comme suit :
|
autoscalingReason |
Détails sur le motif de l'autoscaling. Ce champ n'apparaît que pour les MIG zonaux. |
autoscalingReason.scalingLimit
|
Détails sur la fonctionnalité d'autoscaling ayant limité l'élément calculatedSize , qui est la taille calculée par l'autoscaler en fonction du signal d'autoscaling. Les fonctionnalités d'autoscaling pouvant limiter le paramètre calculatedSize sont le nombre maximal ou minimal d'instances, les contrôles de scaling vertical ou la période de stabilisation.
Si aucune limite ne s'applique à calculatedSize , le champ scalingLimit n'apparaît pas dans les journaux.
|
autoscalingReason.scalingLimit.limitPolicy
|
Configuration de la fonctionnalité d'autoscaling ayant limité l'élément calculatedSize . Le champ limitPolicy n'est pas défini lorsque la stabilisation limite la valeur calculatedSize , car la stabilisation est une fonctionnalité d'autoscaling par défaut.
|
autoscalingReason.scalingLimit.limitSize
|
Nombre de VM basées sur la fonctionnalité d'autoscaling ayant limité calculatedSize .
|
autoscalingReason.scalingLimit.name
|
Nom de la fonctionnalité d'autoscaling ayant limité l'élément calculatedSize . |
autoscalingReason.scalingSignal
|
Informations détaillées sur le signal d'autoscaling qui est utilisé pour calculer le nombre de VM que le MIG doit contenir. Si la règle d'autoscaling comporte plusieurs signaux, l'autoscaler prend en compte le signal nécessitant le plus grand nombre de VM. |
autoscalingReason.scalingSignal.calculatedSize
|
Nombre de VM que le MIG doit avoir en fonction du signal d'autoscaling. Si scalingLimit s'applique, l'autoscaler limite calculatedSize à scalingLimit.limitSize .
|
autoscalingReason.scalingSignal.calculationDetails
|
Détails utilisés pour déterminer la valeur calculatedSize .
|
autoscalingReason.scalingSignal.name
|
Nom du signal d'autoscaling sur lequel est basé le nombre de VM calculé par l'autoscaler, représenté par calculatedSize dans le journal.
|
autoscalingReason.scalingSignal.signalPolicy
|
Configuration du signal d'autoscaling en fonction duquel l'autoscaler a déterminé calculatedSize .
|
autoscalingReason.summary
|
Description de la raison de l'autoscaling. |
newSize
|
Taille recommandée actuelle du MIG. En fonction de autoscalingMode , l'autoscaler redimensionne le MIG sur newSize comme suit :
|
oldSize
|
Taille recommandée précédente du MIG. |
Pour en savoir plus sur les autres champs de l'entrée de journal, consultez la section Format des entrées du journal d'audit.
Entrée du journal des modifications d'état
Lorsque l'état de l'autoscaler change, Compute Engine crée une entrée de journal capturant les anciens et les nouveaux messages d'état. Vous pouvez utiliser ces messages d'état pour déterminer pourquoi votre autoscaler ne se comporte pas comme prévu ou pour déboguer les problèmes que vous avez remarqués. Pour obtenir certains messages d'état courants, consultez la section Messages d'état fréquemment affichés.
Les champs suivants de protoPayload
décrivent les anciens et nouveaux états :
metadata.newStatus.details
: nouvel état de l'autoscaler.metadata.oldStatus.details
: état précédent de l'autoscaler.
Voici un exemple d'entrée de journal décrivant une modification d'état. Dans cet exemple, vous remarquerez peut-être le nouveau message d'état indiquant des problèmes liés à votre configuration d'équilibrage de charge.
{ 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" } }
Pour en savoir plus sur les autres champs de l'entrée de journal, consultez la section Format des entrées du journal d'audit.
Étapes suivantes
- Mettez à jour votre autoscaler à partir des informations que vous avez collectées dans les journaux.
- Découvrez comment l'autoscaler prend des décisions.
- Examinez les options d'autoscaling.