Problèmes connus
Cette section répertorie les problèmes connus :
- Les spans écrits dans votre projet Google Cloud à l'aide de l'API Telemetry ne sont pas accessibles à l'API Cloud Trace. Par exemple, si vous essayez de lister ces traces, la commande échoue et renvoie une erreur
404 Not Found.
Résoudre les problèmes liés à l'analyse de journaux
Cette section explique comment résoudre les échecs que vous pouvez rencontrer lorsque vous utilisez Log Analytics pour interroger vos données de trace.
Message d'erreur indiquant qu'une vue n'existe pas
Vous saisissez une requête SQL dans le volet de requête de la page Analyse de journaux, mais l'analyseur SQL affiche l'erreur suivante :
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/views/OBS_VIEW_ID does not exist
L'erreur précédente est signalée lorsque la vue spécifiée dans l'instruction FROM est introuvable.
Pour résoudre cette erreur, vérifiez que votre vue utilise la syntaxe appropriée :
Vérifiez que le nom complet de la vue respecte la syntaxe requise par le schéma de dénomination Log Analytics. Pour trouver la syntaxe requise pour une vue, affichez sa requête par défaut.
Si l'ID de projet, l'emplacement, l'ID de bucket, l'ID d'ensemble de données ou l'ID de vue Google Cloud contiennent des points,
(.), vérifiez que le champ est placé entre des accents graves simples,(`).Par exemple, si l'ID de votre projet Google Cloud est
example.com:bluebird, l'instructionFROMse présente comme suit :FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
Aucune donnée sur la page Explorateur Trace
Vous disposez d'une application qui envoie des données de trace à votre projet Google Cloud . Toutefois, lorsque vous ouvrez la page Explorateur Trace, aucune donnée n'est affichée.
Plusieurs raisons peuvent expliquer pourquoi vous ne pouvez pas afficher les données de trace :
- Vous ne disposez pas des autorisations nécessaires pour afficher les données.
- Les spans de trace n'ont pas été envoyés à votre projet.
- Votre application ne dispose pas des autorisations nécessaires pour écrire des données de trace.
- Vos spans de trace ne sont pas stockés.
Les sous-sections suivantes expliquent comment résoudre les problèmes liés aux scénarios d'échec listés.
Vérifier que vous êtes autorisé à afficher les données de trace
Pour afficher les données de trace, assurez-vous de disposer du rôle Utilisateur Cloud Trace (roles/cloudtrace.user).
Vérifier que les étendues de trace sont envoyées à votre projet
Pour vérifier que les spans sont envoyés à votre projet, procédez comme suit :
-
Enable the Cloud Trace and Telemetry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Les deux API peuvent ingérer des étendues de trace. Toutefois, l'API Telemetry est recommandée, car elle est compatible avec l'écosystème OpenTelemetry et parce qu'elle offre des limites plus généreuses que l'API Cloud Trace.
Accédez à la page API et services activés, puis recherchez les lignes correspondant aux API Cloud Trace et Telemetry.
Si le nombre de requêtes pour ces deux API est nul, cela signifie qu'aucune donnée de trace n'est envoyée à votre projet.
Vérifiez que votre application dispose des autorisations requises pour écrire des spans de trace.
Pour déterminer si votre application est autorisée à écrire des données de trace dans votre projet, procédez comme suit :
Accédez à la page API et services activés, recherchez les lignes correspondant aux API Cloud Trace et Telemetry, puis examinez la colonne Erreurs.
Si vous voyez une valeur non nulle dans la colonne Erreurs pour l'une ou l'autre des API, cela signifie qu'il y a des erreurs de lecture ou d'écriture des données de trace via cette API. Pour identifier le type d'erreur, sélectionnez l'API, puis l'onglet Métriques et affichez Erreurs par méthode API :
Si les écritures échouent, accordez les rôles suivants au compte de service qui fournit les identifiants :
- API Cloud Trace : Rôle d'agent Cloud Trace (
roles/cloudtrace.agent) - API Telemetry : Écrivain de trace de télémétrie Cloud (
roles/telemetry.tracesWriter).
- API Cloud Trace : Rôle d'agent Cloud Trace (
Vérifier que vos données de trace sont stockées
Les spans de trace sont stockés dans un bucket d'observabilité nommé _Trace. Ce bucket est provisionné automatiquement lorsque votre projet Google Cloud reçoit des spans de trace.
Toutefois, il existe plusieurs scénarios dans lesquels le provisionnement échoue.
Pour déterminer si un bucket d'observabilité existe pour vos données de trace, vous pouvez [lister vos buckets d'observabilité][trace-storage-list-buckets] ou ouvrir la page Explorateur de traces. Par exemple, vous pouvez effectuer les opérations suivantes :
-
Dans la console Google Cloud , accédez à la page
Explorateur Trace :
Vous pouvez également accéder à cette page à l'aide de la barre de recherche.
Si vous voyez une bannière semblable à celle ci-dessous, cela signifie que le stockage de vos données de trace n'est pas provisionné.
Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data.Pour provisionner un bucket d'observabilité pour vos données de trace, accédez à la bannière et cliquez sur Activer.
Lorsque vous cliquez sur Activer, une étendue est envoyée à votre projet. Lorsque le système reçoit l'étendue, il émet la commande permettant de créer un bucket d'observabilité nommé
_Trace. Cette opération peut prendre plusieurs minutes.Une fois l'initialisation réussie, une bannière de notification s'affiche et Cloud Trace ingère toutes les données de trace envoyées au cours de la dernière heure. Ces données ont été stockées dans une mémoire tampon temporaire. L'affichage des données dans l'explorateur de traces peut prendre quelques minutes. Si vous ne voyez aucune donnée, actualisez la fenêtre.
Si la commande d'activation échoue, le message suivant s'affiche :
Initializing trace storage has failed for an unexpected reason. Please file a support ticket for assistance.Pour résoudre ce problème, contactez l'assistance Google Cloud en cliquant sur Envoyer une demande.
Échec de la recherche d'une trace spécifique
Vous saisissez un ID de trace sur la page Explorateur Trace. La trace est introuvable et un message semblable à celui-ci s'affiche :
The select trace with ID abcde does not exist or is older than 30 days and has been deleted per our retention policy.
Pour résoudre ce problème, procédez comme suit :
Vérifiez que le code temporel associé à l'ID de trace se trouve dans la période de conservation.
Identifiez le projet Google Cloud qui stocke la trace et vérifiez que le sélecteur de ressources de la console Google Cloud sélectionne ce projet. Par défaut, la page Explorateur Trace n'a accès qu'aux données de trace stockées dans le projet sélectionné.
Données anciennes manquantes sur la page Explorateur Trace
Vous utilisez la page Explorateur Trace et vous pouvez afficher les données récentes, mais lorsque vous définissez le sélecteur de période sur 30 jours ou sur une valeur supérieure, les données plus anciennes ne s'affichent pas.
La page Explorateur de traces n'affiche pas les données pour les périodes supérieures à la période de conservation des données de Cloud Trace, qui est de 30 jours.
Si le sélecteur de période est défini sur 30 jours ou moins, les données manquantes indiquent que la base de données interrogée par les requêtes de la page Explorateur de traces a été créée plus récemment que votre paramètre de période. Par exemple, si vous définissez cette valeur sur 20 jours et que vous ne pouvez voir que les 10 derniers jours de données, cela signifie que la base de données a été créée il y a 10 jours. De plus, cette base de données ne contient que les traces qui ont été envoyées à votre projet Google Cloud après sa création.
Une trace incomplète s'affiche
Vous ouvrez la page Explorateur Trace et sélectionnez une étendue à afficher. Le panneau volant Détails affiche la trace, mais celle-ci n'est pas complète. Certaines étendues ne sont pas affichées.
Il peut manquer des étendues pour les raisons suivantes :
La page Explorateur Trace ne recherche pas tous les projets Google Cloud qui stockent les données de span pour la trace.
Votre rôle IAM sur un projet Google Cloud qui stocke les données d'étendue pour la trace ne contient pas les autorisations nécessaires pour afficher les données de trace.
Un problème d'instrumentation est survenu. Par exemple, seules certaines portées d'une trace ont été envoyées à votre projet Google Cloud .
Pour résoudre ces problèmes, procédez comme suit :
Sur la page Explorateur de traces, assurez-vous de définir l'élément Champ d'application sur un champ d'application de trace qui liste les projets stockant les spans de la trace sélectionnée.
S'il n'existe pas de champ d'application de trace incluant les projets que vous avez identifiés à l'étape précédente, créez ou modifiez un champ d'application de trace existant. Pour en savoir plus, consultez Créer et gérer des champs d'application de trace.
Vérifiez que vous disposez du rôle Utilisateur Cloud Trace (
roles/cloudtrace.user) dans les projets qui stockent les données de portée.
Vous ne disposez pas des autorisations nécessaires pour afficher les données de trace
Vous consultez la page Explorateur Trace et la notification suivante s'affiche :
You don't have the required permissions to view trace data for one or more projects listed in the trace scope.
Pour résoudre ce problème, procédez comme suit dans la barre d'outils :
- Développez l'élément Champ d'application et identifiez le champ d'application de la trace sélectionnée.
- Dans le menu déroulant Affiner le champ d'application, sélectionnez Gérer les champs d'application.
- Localisez le champ d'application de la trace que vous avez identifié lors de la première étape, puis développez les détails pour afficher la liste des projets Google Cloud .
- Pour chaque projet Google Cloud dans le champ d'application de la trace, vérifiez que vous disposez du rôle Utilisateur Cloud Trace (
roles/cloudtrace.user). Si vous ne disposez pas de ce rôle pour un projet, demandez à un administrateur ou à un propriétaire de projet de vous l'attribuer.
Message d'ID de span manquant dans la trace
Votre trace contient un message "Missing span ID" (ID de span manquant).
Dans les systèmes de traçage distribué, les traces incomplètes sont normales. Une trace est incomplète lorsqu'une portée échantillonnée contient une référence à une autre portée qui n'a pas été reçue. Une référence non résolue peut se produire pour les raisons suivantes :
- La portée référencée n'a pas été échantillonnée.
- Le span référencé a été échantillonné, mais n'a pas encore été reçu par Cloud Trace, ou il a été reçu, mais pas stocké.
Lorsque vous consultez une trace incomplète, Cloud Trace affiche le message "ID de span manquant" dans le volet de détails de la trace.
Si le message "ID de portée manquant" s'affiche régulièrement, essayez ce qui suit :
Pour les composants que vous gérez, vérifiez qu'ils respectent et propagent l'indicateur
sampledde l'en-tête, lorsque ce champ est présent. Ce paramètre est une indication pour les composants enfants afin d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez Protocoles de propagation du contexte.Les servicesGoogle Cloud respectent généralement cette indication. Toutefois, ils limitent également la fréquence à laquelle ils écrivent les données de trace.
Si vous utilisez Cloud Service Mesh, vérifiez que vous suivez les conseils pour propager le contexte de trace pour ces configurations. Pour obtenir des conseils sur Cloud Service Mesh, consultez la page Propagation du contexte de trace.
Impossible de corréler les données de journaux et de trace
Vous effectuez l'une des actions suivantes :
Vous consultez une portée de trace et vous souhaitez afficher les entrées de journal associées. Toutefois, aucune donnée de journal n'est listée ou, lorsque vous ouvrez la page Explorateur de journaux, aucune entrée de journal ne s'affiche.
Vous consultez une entrée de journal et vous souhaitez afficher les étendues de trace associées. Toutefois, lorsque vous utilisez les options de l'entrée de journal pour ouvrir la page Explorateur Trace, aucune donnée de trace ne s'affiche.
Pour résoudre ces échecs, configurez le champ d'application de l'observabilité. Ce champ d'application spécifie les champs d'application de trace et de journal à utiliser lorsque les pages d'explorateur correspondantes s'ouvrent. Pour en savoir plus, consultez Configurer des champs d'application de l'observabilité pour les requêtes multiprojets.
Aucune donnée de trace après la mise à jour de l'application Go pour utiliser OpenTelemetry
Votre application s'appuie sur la bibliothèque cliente pour capturer les traces. Après avoir mis à jour votre application pour utiliser OpenTelemetry, vous ne voyez plus les données Cloud Trace.
Étant donné que certaines bibliothèques clientes Cloud pour Go sont intégrées à OpenCensus, vous devez utiliser un pont OpenCensus. Pour en savoir plus sur le problème résolu par le pont, consultez Pont OpenCensus.
Pour en savoir plus sur la mise à jour des bibliothèques clientes Cloud pour Go, consultez le problème 4237.