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 permet de valider votre identité pour accéder aux Cloud de Confiance by S3NS 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 :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la Cloud de Confiance console pour accéder aux Cloud de Confiance by S3NS services et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Cloud de Confiance authentification.
Afficher les journaux de l'autoscaler
Pour afficher les journaux de l'autoscaler, utilisez la Cloud de Confiance console, la gcloud CLI ou REST.
Console
Si vous avez activé l'autoscaling, vous pouvez consulter les journaux d'autoscaling dans la Cloud de Confiance console.
- 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 la Cloud de Confiance 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. Développez le panneau en cliquant sur le keyboard_capslock Activer/désactiver le panneau "Journaux" à la fin de ce panneau.
Pour ouvrir la page Explorateur de journaux, cliquez sur open_in_new Afficher dans l'explorateur de journaux.
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.
gcloud
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
REST
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. Cette entrée inclut les nouvelles et les anciennes tailles recommandées, ainsi que la raison de la modification de la recommandation.
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. |
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.