Journalisation et surveillance des encadrés Cloud Load Balancing

Cette page vous explique comment configurer et utiliser Cloud Logging et Cloud Monitoring avec des callouts d'extensions de service pour Cloud Load Balancing.

Journalisation

Cette section décrit la journalisation des appels d'équilibreur de charge d'application.

Activer la journalisation sur un service de backend

Vous pouvez activer la journalisation pour les appels d'équilibreur de charge d'application lors de la création du service en activant la journalisation sur le service de backend qui est la cible d'une requête (et non sur le service de backend associé à l'extension).

Pour activer la journalisation pour le service de backend cible, utilisez la commande gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

Remplacez les éléments suivants :

  • BACKEND_SERVICE : nom du service de backend
  • RATE : valeur comprise entre 0.0 et 1.0, où 0.0 signifie qu'aucune requête n'est enregistrée et 1.0 signifie que 100 % des requêtes sont enregistrées. La valeur par défaut est 1.0. Ce paramètre n'est efficace que lorsqu'il est utilisé avec le paramètre enable-logging. Lorsque vous omettez enable-logging, la journalisation est désactivée.
  • REGION : région du backend
  • LOGGING_OPTIONAL_MODE : active la journalisation des champs facultatifs dans l'un des modes suivants :

    • INCLUDE_ALL_OPTIONAL inclut tous les champs facultatifs.
    • EXCLUDE_ALL_OPTIONAL (par défaut) exclut tous les champs facultatifs.
    • CUSTOM inclut une liste personnalisée de champs facultatifs.
  • OPTIONAL_FIELDS : liste de champs facultatifs séparés par une virgule lorsque vous sélectionnez le mode CUSTOM

Une fois la journalisation activée sur le service de backend, les requêtes HTTP ou HTTPS sont consignées à l'aide de Cloud Logging.

Pour afficher les journaux, accédez à la page Explorateur de journaux dans la console Google Cloud .

Pour en savoir plus, consultez les pages "Surveiller et résoudre les problèmes" de la documentation sur l'équilibreur de charge d'application, comme Journalisation et surveillance de l'équilibreur de charge d'application interne.

Messages de journal pour un service de backend

En général, les entrées de journal de l'équilibreur de charge d'application contiennent des informations utiles pour surveiller et déboguer votre trafic HTTP ou HTTPS. Il s'agit des types d'informations suivants :

  • Informations figurant dans la plupart des journaux Google Cloud , telles que la gravité, l'ID de projet, le numéro de projet et l'horodatage, comme décrit dans le journal LogEntry.
  • Champs de journal HttpRequest.

Les journaux des requêtes pour les équilibreurs de charge HTTP et HTTPS contiennent un objet service_extension_info dans la charge utile JSON de l'entrée de journal de l'équilibreur de charge, avec les informations suivantes :

Champ Type Description
backend_target_name string Nom de la cible de backend de l'extension.
backend_target_type string Type de la cible de backend.
chain string Nom de la chaîne d'extension dans la ressource d'extension de service qui correspond à la requête.
extension string Nom de l'extension dans la chaîne d'extension.
grpc_status enum État le plus récent du flux gRPC. Pour en savoir plus, consultez Codes d'état gRPC.
per_processing_request_info tableau Liste des statistiques ProcessingRequest pour les extensions ext_proc ou des statistiques CheckRequest pour les extensions ext_authz qui se produisent sur le flux gRPC.
per_processing_request_info[].event_type enum Type d'événement ProcessingRequest. Il peut s'agir de REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS ou RESPONSE_BODY.
per_processing_request_info[].latency duration Durée entre l'envoi du premier octet du message ProcessingRequest à l'extension et la réception du dernier octet du message ProcessingResponse.
resource string Nom de la ressource d'extension

Surveillance

Cette section explique comment surveiller les callouts configurés à l'aide des extensions de service pour Cloud Load Balancing.

Afficher un tableau de bord Monitoring

Les équilibreurs de charge d'application exportent les données de surveillance vers Cloud Monitoring.

Utilisez les métriques de surveillance aux fins suivantes :

  • Évaluation de la configuration, de l'utilisation et des performances d'un équilibreur de charge
  • Résolution des problèmes
  • Amélioration de l'utilisation des ressources et de l'expérience utilisateur

Pour afficher un tableau de bord prédéfini, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Présentation des tableaux de bord.

    Accéder à la page de présentation des tableaux de bord

  2. Dans la section Catégories, cliquez sur GCP.
    • Pour afficher la liste des tableaux de bord de tous vos équilibreurs de charge, dans la liste Tableaux de bord GCP, cliquez sur le tableau de bord nommé Équilibreurs de charge Google Cloud. Pour afficher le tableau de bord d'un équilibreur de charge spécifique, localisez celui-ci dans la liste, puis cliquez sur son nom.
    • Pour n'afficher que les tableaux de bord prédéfinis de vos équilibreurs de charge, sélectionnez le tableau de bord approprié.

En plus des tableaux de bord prédéfinis proposés dans Monitoring, vous pouvez créer des tableaux de bord personnalisés, configurer des alertes et interroger les métriques à l'aide de l'API Cloud Monitoring.

Pour en savoir plus, consultez les pages "Surveiller et résoudre les problèmes" de la documentation sur l'équilibreur de charge d'application, comme Journalisation et surveillance de l'équilibreur de charge d'application interne.

Surveiller les métriques des encarts

Vous pouvez surveiller les métriques suivantes pour les services de backend d'appel.

Ces métriques sont précédées du préfixe loadbalancing.googleapis.com/. Le préfixe est omis dans les entrées du tableau.

Type de métrique Nom à afficher
Genre, type, unité
Description
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
Nombre de requêtes de backend
DELTAINT641
Nombre de fois qu'un service de backend d'appel est appelé à partir de l'équilibreur de charge d'application.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Octets de requête du backend
DELTAINT64By
Nombre d'octets envoyés par l'équilibreur de charge au service de backend de l'appel.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
Octets de réponse du backend
DELTAINT64By
Nombre d'octets reçus par l'équilibreur de charge à partir du backend de l'extension.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Latence du backend
DELTADISTRIBUTIONms
Distribution calculée à partir de la somme des latences de chaque appel d'extension entre l'équilibreur de charge et le service de backend d'appel. Échantillonné toutes les 60 secondes.

Étapes suivantes