Journalisation et surveillance du plan de contrôle

Ce document explique comment utiliser Cloud Logging et Cloud Monitoring pour afficher les journaux et les métriques du plan de contrôle de Traffic Director.

L'utilisation d'un maillage de services vous permet d'observer le trafic vers et depuis des services. Vous disposez ainsi de données enrichies pour la surveillance et le débogage, sans modifications du code dans le service lui-même. Les entrées de journal peuvent fournir des informations importantes pour résoudre votre problème de maillage de services, y compris des enregistrements de connexions et de déconnexions réussies, des rapports d'erreurs pour les clients mal configurés et des alertes en cas de conflits de ressources de l'API.

Cas d'utilisation

Voici trois cas d'utilisation concernant la journalisation et la surveillance du plan de contrôle :

  • Cloud Logging pour le plan de contrôle Traffic Director : vous pouvez stocker, rechercher, analyser et définir des alertes sur toutes vos données et événements de journalisation Traffic Director en toute sécurité à l'aide de l'ensemble des fonctionnalités intégrées de Logging. Traffic Director exporte les journaux vers Logging lorsqu'un client Envoy ou gRPC se connecte ou se déconnecte, et lorsqu'il détecte des problèmes de configuration.
  • Cloud Monitoring pour le plan de contrôle Traffic Director : Traffic Director exporte vers Monitoring une métrique clé, indiquant le nombre de clients connectés au plan de contrôle Traffic Director. Vous pouvez configurer un tableau de bord dans Monitoring et visualiser cette métrique en temps réel afin de surveiller l'état du maillage lorsque les clients se connectent et se déconnectent. Cela vous permet également de configurer un SLO pour votre maillage.
  • Résolution immédiate des problèmes : par défaut, Traffic Director exporte la télémétrie vers Logging et Monitoring. Aucune configuration supplémentaire n'est nécessaire pour configurer la journalisation et la surveillance. Vous pouvez ainsi résoudre les problèmes à tout moment, y compris lors de la configuration initiale du maillage.

Afficher les journaux

Pour afficher les journaux Traffic Director, utilisez l'explorateur de journaux. La section suivante présente un exemple de requête permettant d'afficher les journaux Traffic Director, mais vous pouvez utiliser le lien précédent pour créer votre propre requête.

  1. Dans Google Cloud Console, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans la liste Ressource :
    • Si vous utilisez les API de routage de services, sélectionnez Gateway Scope ou Mesh.
    • Si vous utilisez les anciennes API, sélectionnez GCE Network.
  3. Dans la liste Nom du journal, sélectionnez trafficdirector.googleapis.com/events.
  4. Cliquez sur Run query.

Champs d'entrées de journal Traffic Director

Champ Description
node_id ID du nœud xDS-client, tel que fourni par le client xDS.
client_type Type de client xDS connecté à Traffic Director. Valeurs possibles :
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip Adresse IP du nœud, telle que fournie par le client.
api_version Version de l'API xDS utilisée par les clients xDS pour se connecter à Traffic Director. Les valeurs possibles sont V2 et V3.
description Description textuelle de l'événement avec des détails supplémentaires.

Exemple d'entrées de journal

Exemple d'entrée de journal Description
"Traffic Director n'a trouvé aucune configuration pour le client xDS." Ce journal est généré lorsque le client xDS est refusé par Traffic Director, car aucune configuration n'existe. Cela peut être dû à une configuration incomplète des ressources de l'API liées à Traffic Director.
"Le client est connecté." Ce type de message de journal est généré chaque fois qu'un client se connecte avec succès à Traffic Director.
"Le client a bien été déconnecté." Ce type de message de journal est généré à chaque fois qu'un client établi est déconnecté de Traffic Director.
"La variable de métadonnées TRAFFICDIRECTOR_INTERCEPTION_PORT n'est pas définie. Une configuration de routage pour l'écouteur d'interception existe, mais elle sera ignorée." Ce type de message de journal est généré lorsque les ressources Traffic Director sont correctement configurées, mais que la variable TRAFFICDIRECTOR_INTERCEPTION_PORT n'est pas définie dans les métadonnées du nœud xDS-client. Vous ne pouvez donc pas ajouter cette configuration au client.
"L'écouteur d'interception est basé sur le port 15001 donné, mais la configuration de routage n'existe pas pour ce port." Ce type de message de journal est généré lorsque la variable TRAFFICDIRECTOR_INTERCEPTION_PORT est définie dans les métadonnées du nœud du client xDS, mais qu'aucune ressource n'a été configurée pour que Traffic Director génère une réponse xDS complète.
"Échec de l'envoi de la réponse ADS depuis Traffic Director. La dernière requête de découverte du nœud comportait une version et/ou une version incorrecte." Ce type de message de journal est généré lorsque Traffic Director n'a pas pu traiter la réponse xDS correctement en raison d'une communication corrompue du client xDS. Ce message indique une erreur de mise en œuvre dans le client. Nous vous recommandons de vérifier les journaux du client.
"Client envoyant du trafic interrégional vers le service de backend backend_service_id. Région source : source_region Région(s) de destination : destination_region1, destination_region2" Ce type de message de journal est généré lorsqu'un client indique à Traffic Director qu'il a envoyé du trafic interrégional depuis une région source vers une ou plusieurs régions de destination.

Afficher les métriques

Traffic Director exporte trois métriques vers Cloud Monitoring : les flux connectés xDS, le nombre de requêtes et le nombre de requêtes par zone. Les flux connectés xDS indiquent le nombre de clients connectés à votre plan de contrôle ; le nombre de requêtes indique le nombre de requêtes envoyées à un service de backend, regroupées par région source, région de destination et état de la requête. Le nombre de requêtes par zone indique le nombre de requêtes envoyées à un service de backend, regroupées par zone source, zone de destination et état de la requête. Pour afficher ces métriques, utilisez l'Explorateur de métriques.

Pour afficher les métriques Traffic Director, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Explorateur de métriques.

    Accéder à l'explorateur de métriques

  2. Dans la liste Type de ressource, sélectionnez une ressource.
    • Si vous utilisez les API de routage de services, sélectionnez Gateway Scope ou Mesh.
    • Si vous utilisez les anciennes API, sélectionnez Network.
  3. Dans la liste Métrique, sélectionnez connected_clients.
  4. Revenez à la liste Type de ressource, puis sélectionnez Compute Engine Backend Service.
  5. Dans la liste Métrique, sélectionnez Request count ou Request count by zone.

Vous pouvez également utiliser une requête pour afficher le nombre de requêtes interrégionales :

  1. Sélectionnez MQL.
  2. Dans le champ, saisissez l'exemple de requête suivant :
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. Cliquez sur Run query.

Configurer des métriques et des alertes basées sur les journaux

Les étapes suivantes nécessitent la configuration de métriques basées sur les journaux. Pour en savoir plus sur la configuration des métriques basées sur les journaux, consultez la présentation.

Vous pouvez configurer des alertes afin d'être averti lorsque des messages spécifiés par l'utilisateur apparaissent dans vos journaux inclus. Ces alertes peuvent avertir l'opérateur en cas d'événement inattendu. Par exemple, si une modification de la configuration de Traffic Director entraîne des conflits de ressources d'API, vous pouvez recevoir une alerte sur le message d'erreur. Pour configurer des alertes sur vos métriques basées sur les journaux, consultez la section Configurer des graphiques et des alertes.