Afficher les journaux des autoscalers

Cette page décrit comment afficher et interpréter les journaux liés à l'autoscaling. Lorsque vous activez l'autoscaling, l'autoscaler prend des décisions de mise à l'échelle basées sur les options que vous spécifiez. Chacune de ces décisions est consignée par Stackdriver Logging, et vous pouvez voir ces journaux dans la visionneuse de journaux.

La visionneuse de journaux vous permet de voir les événements liés au(x) :

  • Redimensionnement d'un groupe d'instances. Si l'autoscaler redimensionne un groupe d'instances, le redimensionnement est décrit dans les journaux des autoscalers.
  • 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. Certains messages d'état courants sont décrits dans la section relative aux Messages d'état fréquemment affichés.

Avant de commencer

Afficher les journaux des autoscalers

Pour afficher les journaux des autoscalers, utilisez la console Google Cloud Platform, l'outil gcloud ou l'API Stackdriver Logging.

Console

  1. Accédez à la page de la visionneuse de journaux.

    Accéder à la page de la visionneuse de journaux

  2. Déroulez le menu déroulant des ressources et sélectionnez Autoscaler GCE.
  3. Ensuite, développez la liste déroulante Tous les journaux. Choisissez Autoscaler pour afficher les journaux d'autoscaling.

gcloud

Avec l'outil gcloud, exécutez la commande logging read bêta pour rechercher tous les journaux liés à l'autoscaling (y compris les journaux d'activité et d'audit). Exemple :

gcloud beta logging read "resource.type=gce_autoscaler" --limit 10 \
    --format json

Si vous souhaitez limiter les entrées des journaux aux actions de redimensionnement de l'autoscaler, indiquez le paramètre logName et filtrez avec le champ jsonPayload.newSize. Définissez le logName sur :

`projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler`

Exemple :

gcloud beta logging read 'logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler" AND jsonPayload.newSize:*' \
    --limit 10 --format json

Pour les modifications d'état de l'autoscaler, utilisez le paramètre logName et filtrez avec le champ jsonPayload.new_status. Définissez le logName sur :

`projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler`

Exemple :

gcloud beta logging read 'logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler" AND jsonPayload.new_status:*' \
    --limit 10 --format json

API

Envoyez une requête à l'API Stackdriver 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 dont vous souhaitez afficher les journaux. Par exemple, pour effectuer une requête afin d'obtenir une liste d'actions de redimensionnement :

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "logName=\"projects\/[PROJECT_ID]\/logs\/compute.googleapis.com%2Fautoscaler\" AND jsonPayload.new_size:*",
  "pageSize": 10,
  "resourceNames": [
    "projects\/[PROJECT_ID]"
  ]
}

Pour effectuer une requête afin d'obtenir une liste de modifications d'état :

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "logName=\"projects\/[PROJECT_ID]\/logs\/compute.googleapis.com%2Fautoscaler\" AND jsonPayload.new_status:*",
  "pageSize": 10,
  "resourceNames": [
    "projects\/[PROJECT_ID]"
  ]
}

Journaux de redimensionnement

Les journaux associés aux actions de redimensionnement contiennent des informations sur la taille précédente et la nouvelle taille du groupe d'instances. Ces entrées de journaux sont identifiables par la présence des champs suivants dans la charge utile JSON :

jsonPayload.new_size
jsonPayload.old_size

Par exemple, dans l'entrée suivante, le journal décrit les modifications de l'ancien groupe d'instances de taille 8, vers un nouveau groupe d'instances de taille 10.

{
"insertId": "1l68z7sg4jw7kzo",
"jsonPayload": {
  "autoscaler_name": "example-autoscaler",
  "instance_group_name": "example-igm",
  "new_size": 10,
  "old_size": 8,
  "project_id": "myproject",
  "zone_name": "europe-west1-b"
},
"logName": "projects/myproject/logs/compute.googleapis.com%2Fautoscaler",
"receiveTimestamp": "2017-10-24T16:12:08.294439822Z",
"resource": {
  "labels": {
    "autoscaler_id": "1234567890123456789",
    "location": "europe-west1-b",
    "project_id": "myproject"
  },
  "type": "gce_autoscaler"
},
"severity": "INFO",
"timestamp": "2017-10-24T16:12:07.715125478Z"

}

Explication de chaque champ du journal :

Propriété Valeur
insertId Identifiant unique pour l'entrée de journal.
jsonPayload Charge utile de l'entrée de journal, représentée par une structure exprimée sous la forme d'un objet JSON.
new_size Nouvelle taille à laquelle ce groupe a été redimensionné automatiquement. Si le groupe a évolué à la hausse, la nouvelle taille sera plus grande que l'ancienne. Si le groupe a évolué à la baisse, la nouvelle taille sera plus petite que l'ancienne.
old_size Ancienne taille du groupe avant modification.
instance_group_name Nom du groupe d'instances géré auquel cette entrée de journal s'applique.
project_id ID de projet du groupe d'instances qui doit toujours correspondre à l'ID du projet en cours.
autoscaler_name Nom de l'autoscaler responsable de l'action.
zone_name Zone de l'autoscaler et du groupe d'instances.
resource Détails sur l'autoscaler.
type Type de ressource dont il s'agit. Pour les autoscalers, ce champ sera toujours gce_autoscaler.
labels Métadonnées concernant l'autoscaler.
location Zone de l'autoscaler.
autoscaler_id ID d'autoscaler numérique, généré par le serveur.
project_id ID du projet auquel appartient l'autoscaler.
timestamp Heure à laquelle l'événement décrit par l'entrée de journal s'est produit. Cet élément utilise un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près.
severity Sévérité du journal. Pour les journaux des autoscalers, il s'agit toujours du champ "INFO".
logName Nom de la ressource du journal à laquelle appartient cette entrée de journal. Pour les journaux de redimensionnement des autoscalers, il s'agira toujours de projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler.
receiveTimestamp Heure à laquelle l'entrée de journal a été reçue par Stackdriver Logging. Cet élément utilise un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près.

Journaux des modifications d'état

Lorsque l'état de l'autoscaler change, Compute Engine crée une entrée de journal capturant la modification d'état. Ces entrées de journaux sont identifiables par la présence des champs suivants dans la charge utile JSON :

jsonPayload.old_status
jsonPayload.new_status

Par exemple, l'entrée suivante décrit une modification d'état de OK à un nouvel état :

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

Vous pouvez utiliser ces messages d'état pour savoir pourquoi votre autoscaler ne se comporte pas comme prévu ou pour déboguer les problèmes que vous avez remarqués. Dans ce cas, vous remarquerez probablement le nouveau message d'état et vous devrez vérifier que votre configuration d'équilibrage de charge est correctement paramétrée.

{
"insertId": "ivho6kg4icqfio",
"jsonPayload": {
  "autoscaler_name": "example-autoscaler",
  "instance_group_name": "example-igm",
  "new_status": {
    "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."
  },
  "old_status": {
    "details": "OK"
  },
  "project_id": "myproject",
  "zone_name": "us-east1-b"
},
"logName": "projects/myproject/logs/compute.googleapis.com%2Fautoscaler",
"receiveTimestamp": "2017-10-24T15:11:58.076196762Z",
"resource": {
  "labels": {
    "autoscaler_id": "1234567890123456789",
    "location": "us-east1-b",
    "project_id": "myproject"
  },
  "type": "gce_autoscaler"
},
"severity": "INFO",
"timestamp": "2017-10-24T15:11:57.619997893Z"

}

Explication de chaque champ du journal :

Propriété Valeur
insertId Identifiant unique pour l'entrée de journal.
jsonPayload Charge utile de l'entrée de journal, représentée par une structure exprimée sous la forme d'un objet JSON.
new_status Nouvel état de l'autoscaler. Voir quelques messages d'état fréquemment affichés.
old_status Ancien état de l'autoscaler, avant modification.
instance_group_name Nom du groupe d'instances géré auquel cette entrée de journal s'applique.
project_id ID de projet du groupe d'instances.
autoscaler_name Nom de l'autoscaler responsable de l'action.
zone_name Zone de l'autoscaler et du groupe d'instances.
resource Détails sur l'autoscaler.
type Type de ressource dont il s'agit. Pour les autoscalers, ce champ sera toujours gce_autoscaler.
labels Métadonnées concernant l'autoscaler.
location Zone de l'autoscaler.
autoscaler_id ID d'autoscaler numérique, généré par le serveur.
project_id ID du projet auquel appartient l'autoscaler. Il devrait toujours s'agir du projet en cours.
timestamp Heure à laquelle l'événement décrit par l'entrée de journal s'est produit. Cet élément utilise un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près.
severity Sévérité du journal. Pour les journaux des autoscalers, il s'agit toujours du champ "INFO".
logName Nom de la ressource du journal à laquelle appartient cette entrée de journal. Pour les journaux des modifications d'état, il s'agira toujours de projects/[PROJECT_ID]/logs/compute.googleapis.com%2Fautoscaler.
receiveTimestamp Heure à laquelle l'entrée de journal a été reçue par Stackdriver Logging. Cet élément utilise un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine