Problèmes connus
Cette section répertorie les problèmes connus :
- Les délais écrits dans votre Google Cloud projet à l'aide de l'
API Telemetry ne sont pas accessibles à l'
API Cloud Trace. Par exemple, si vous essayez de répertorier ces traces, la commande échoue avec une erreur
404 Not Found.
Résoudre les problèmes liés à Observability Analytics
Cette section explique comment résoudre les échecs que vous pouvez rencontrer lorsque vous utilisez Observability Analytics pour interroger vos données de trace.
Impossible d'enregistrer votre règle d'alerte en raison d'une erreur de validation
Vous essayez d'enregistrer une règle d'alerte qui surveille vos données de trace et vous recevez une erreur semblable à la suivante :
The following error occurred when validating your SQL Alert: Error authenticating service account `service-12345@gcp-sa-monitoring-notification.iam.gserviceaccount.com`. BigQuery returned an error.
Ce message d'erreur indique que le compte de service Monitoring ne dispose pas des autorisations requises ou qu'il n'existe pas. Ce compte est créé automatiquement par le système lorsque certaines actions initiées par l'utilisateur se produisent. Toutefois, si l'API Cloud Monitoring est désactivée, le système ne peut pas créer le compte de service.
Pour résoudre l'échec, procédez comme suit :
- Dans la Google Cloud console, accédez à la page API et services et activez l'API Cloud Monitoring :
-
Dans la Google Cloud console, accédez à la page IAM :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.
Sur la page IAM, procédez comme suit :
Sélectionnez Inclure les attributions de rôles fournies par Google.
Si le compte de service Monitoring n'est pas répertorié, créez une règle d'alerte basée sur SQL et essayez de l'enregistrer.
Lorsque vous enregistrez la règle, le système crée le compte de service Monitoring. L'action d'enregistrement échoue, car ce compte de service ne dispose pas des rôles IAM requis.
Attribuez les rôles suivants au compte de service Monitoring :
- Agent de service Monitoring (
roles/monitoring.notificationServiceAgent) sur votre projet. - Lecteur de données BigQuery (
roles/bigquery.dataViewer) sur votre ensemble de données associé.
- Agent de service Monitoring (
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 Observability Analytics , 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 nommage d'Observability Analytics. Vous pouvez trouver la syntaxe requise pour une vue en affichant sa requête par défaut.
Si l'ID du Google Cloud projet, l'emplacement, l'ID de bucket, l'ID de l'ensemble de données ou l'ID de la vue contiennent des points (
(.)), vérifiez que le champ est placé entre deux accents graves simples ((`)).Par exemple, si l'ID de votre Google Cloud projet est
example.com:bluebird, l'instructionFROMse présente comme suit :FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
Le message "Premiers pas avec Observability Analytics" s'affiche
Vous ouvrez la page Observability Analytics et une fenêtre s'affiche avec un message semblable à celui-ci :
Get started with Observability Analytics
Pour utiliser Observability Analytics, cliquez sur close Fermer dans la fenêtre.
Le message précédent s'affiche lorsque vous ne disposez d'aucun bucket de journaux mis à niveau pour utiliser Observability Analytics. Toutefois, vos données de trace ne sont pas stockées dans un bucket de journaux.
Échec de la jointure de plusieurs vues
Vous écrivez une requête qui joint plusieurs vues, mais elle est marquée comme non valide.
Toutes les vues ne peuvent pas être jointes.
Pour joindre des vues, les restrictions suivantes s'appliquent :
-
Les emplacements des vues répondent à l'une des conditions suivantes :
- Toutes les vues se trouvent au même emplacement.
- Toutes les vues se trouvent à l'emplacement
globalouus.
-
Lorsque les ressources de stockage utilisent des clés de chiffrement gérées par le client (CMEK), l'une des conditions suivantes doit être remplie :
- Les ressources de stockage qui utilisent des clés CMEK utilisent la même clé Cloud KMS.
- Les ressources de stockage qui utilisent des clés CMEK ont un ancêtre commun, et cet ancêtre spécifie une clé Cloud KMS par défaut qui se trouve au même emplacement que les ressources de stockage.
Lorsqu'une ou plusieurs ressources de stockage utilisent des clés CMEK, le système chiffre les données temporaires générées par la jointure avec la clé Cloud KMS commune ou la clé Cloud KMS par défaut de l'ancêtre.
Supposons, par exemple, que vous ayez deux vues qui se trouvent au même emplacement. Vous pouvez ensuite joindre ces vues lorsque l'une des conditions suivantes est remplie :
- Les ressources de stockage n'utilisent pas de clés CMEK.
- Une ressource de stockage utilise des clés CMEK, mais pas l'autre.
- Les deux ressources de stockage utilisent des clés CMEK et la même clé Cloud KMS.
Les deux ressources de stockage utilisent des clés CMEK, mais des clés différentes. Toutefois, les ressources partagent un ancêtre qui spécifie une clé Cloud KMS par défaut qui se trouve au même emplacement que les ressources de stockage.
Supposons, par exemple, que la hiérarchie des ressources d'un bucket de journaux et d'un bucket d'observabilité inclue la même organisation. Vous pouvez joindre des vues sur ces buckets lorsque, pour cette organisation, vous avez configuré les paramètres de ressource par défaut pour Cloud Logging et pour les buckets d'observabilité avec la même clé Cloud KMS par défaut pour l'emplacement de stockage.
Aucune donnée sur la page Explorateur Trace
Vous disposez d'une application qui envoie des données de trace à votre Google Cloud projet. Toutefois, lorsque vous ouvrez la page Explorateur Trace, aucune donnée ne s'affiche.
Plusieurs raisons peuvent expliquer pourquoi vous ne pouvez pas afficher les données de trace :
- Vous ne disposez pas des autorisations requises pour afficher les données.
- Les délais de trace n'ont pas été envoyés à votre projet.
- Votre application ne dispose pas des autorisations requises pour écrire des données de trace.
- Vos délais de trace ne sont pas stockés.
Les sous-sections suivantes fournissent des informations sur la résolution des 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 que le
rôle Utilisateur Cloud Trace (roles/cloudtrace.user) vous a été attribué.
Vérifier que les délais de trace sont envoyés à votre projet
Pour vérifier que les délais sont envoyés à votre projet, procédez comme suit :
-
Activez les API Cloud Trace et Telemetry.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Les deux API peuvent ingérer des délais de trace. Toutefois, l'API Telemetry est recommandée, car elle est compatible avec l'écosystème OpenTelemetry et ses limites sont plus généreuses que celles de l'API Cloud Trace.
Accédez à la page API et services activés, puis recherchez les lignes correspondant à l'API Cloud Trace et à l'API Telemetry.
Si le nombre de requêtes pour ces deux API est égal à zéro, aucune donnée de trace n'est envoyée à votre projet.
Vérifier que votre application dispose des autorisations requises pour écrire des délais 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 à l'API Cloud Trace et à l'API Telemetry, puis examinez la colonne Erreurs.
Si une valeur différente de zéro s'affiche dans la colonne Erreurs pour l'une des API, cela signifie qu'il existe 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 les 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 Agent Cloud Trace (
roles/cloudtrace.agent). - API Telemetry : Cloud Telemetry Trace Writer (
roles/telemetry.tracesWriter).
- API Cloud Trace : rôle Agent Cloud Trace (
Vérifier que vos données de trace sont stockées
Les délais de trace sont stockés dans un bucket d'observabilité nommé _Trace. Ce bucket
est provisionné automatiquement lorsque votre Google Cloud projet reçoit des délais de trace.
Toutefois, le provisionnement échoue dans plusieurs scénarios.
Pour déterminer si un bucket d'observabilité existe pour vos données de trace, vous pouvez soit répertorier vos buckets d'observabilité ou ouvrir la page Explorateur Trace. Par exemple, vous pouvez procéder comme suit :
-
Dans la Google Cloud console, 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 à la suivante, cela indique 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, cette action entraîne l'envoi d'un segment à 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 un tampon temporaire. L'affichage des données dans l'Explorateur Trace peut prendre quelques minutes. Si aucune donnée ne s'affiche, 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 l'échec, contactez Google Cloud l'assistance 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 cet échec, procédez comme suit :
Vérifiez que l'horodatage associé à l'ID de trace se trouve dans la période de conservation.
Identifiez le Google Cloud projet qui stocke la trace et vérifiez que le sélecteur de ressources de la Google Cloud console 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 plus 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 plus élevée, les données plus anciennes ne s'affichent pas.
La page Explorateur Trace 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 de 30 jours ou moins, les données manquantes indiquent que la base de données interrogée par la page Explorateur Trace a été créée plus récemment que le paramètre de période. Par exemple, si vous définissez cette valeur sur 20 jours et que vous ne voyez que les 10 derniers jours de données, 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 Google Cloud projet après sa création.
Trace incomplète affichée
Vous ouvrez la page Explorateur de traces et sélectionnez un segment à afficher. La fenêtre pop-up Détails affiche la trace, mais elle est incomplète. Certaines étendues ne sont pas affichées.
Les étendues peuvent être manquantes pour les raisons suivantes :
La page Explorateur Trace ne recherche pas tous les Google Cloud projets qui stockent les données d'étendue pour la trace.
Votre rôle IAM sur un Google Cloud projet qui stocke les données de segment pour la trace ne contient pas les autorisations nécessaires pour afficher les données de trace.
Il existe un problème d'instrumentation. Par exemple, seules certaines étendues d'une trace ont été envoyées à votre Google Cloud projet.
Pour résoudre ces problèmes, procédez comme suit :
Sur la page Explorateur Trace, assurez-vous de définir l'élément Champ d'application sur un champ d'application de trace qui répertorie les projets qui stockent les étendues 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 la section 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) sur les projets qui stockent les données d'étendue.
Vous ne disposez pas des autorisations requises 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 trace sélectionné.
- Dans la fenêtre pop-up Affiner le champ d'application, sélectionnez Gérer les champs d'application.
- Recherchez le champ d'application de trace que vous avez identifié à la première étape, et puis développez les détails pour afficher la liste des Google Cloud projets.
- Pour chaque Google Cloud projet du champ d'application de trace, vérifiez que vous disposez
du rôle Utilisateur Cloud Trace (
roles/cloudtrace.user). Si vous ne disposez pas de ce rôle sur un projet, demandez à un administrateur ou à un propriétaire de projet de vous l'attribuer.
Les requêtes interrégionales ne sont pas acceptées
Vous ouvrez la page Explorateur Trace et un message semblable à celui-ci s'affiche :
Error loading chart data. Cross-regional queries are not supported. The selected scope comprises buckets residing in multiple locations: list of locations.
Le message d'erreur indique que la page Explorateur Trace doit émettre une requête pour des données stockées à différents emplacements.
Pour résoudre cet échec, effectuez l'une des opérations suivantes :
Limitez les données de trace à celles stockées par le projet sélectionné :
- Accédez à la barre d'outils de la page Explorateur Trace et développez le menu Champ d'application.
- Dans la fenêtre pop-up Affiner le champ d'application, sélectionnez Projet actuel.
Sélectionnez un champ d'application de trace qui répertorie les projets dont les données sont stockées au même emplacement. Pour effectuer cette modification, utilisez les options du menu Champ d'application.
Supprimez du champ d'application de trace sélectionné les projets dont les données sont stockées à un emplacement différent de celui de votre projet sélectionné :
- Accédez à la barre d'outils de la page Explorateur Trace et développez le menu Champ d'application.
- Dans la fenêtre pop-up Affiner le champ d'application, sélectionnez Gérer les champs d'application.
- Sur la page Champs d'application de trace, vous pouvez modifier n'importe quel champ d'application de trace.
Pour trouver l'emplacement de stockage de vos données de trace, exécutez la commande Lister les buckets d'observabilité. Dans le paramètre de chemin d'accès, spécifiez votre projet et, pour le LOCATION, définissez le champ sur un trait d'union
(-), qui fait office de caractère générique.
Message "ID d'étendue manquant" dans la trace
Votre trace contient un message "ID de segment manquant".
Dans les systèmes de traçage distribué, les traces incomplètes sont attendues. Une trace est incomplète lorsqu'un segment échantillonné contient une référence à un autre segment qui n'a pas été reçu. La référence non résolue peut se produire pour les raisons suivantes :
- L'étendue référencée n'a pas été échantillonnée.
- L'étendue référencée a été échantillonnée, mais n'a pas encore été reçue par Cloud Trace ou a été reçue, mais pas stockée.
Lorsque vous affichez une trace incomplète, Cloud Trace affiche le message "ID de segment manquant" dans le volet des détails de la trace.
Si le message « ID de segment manquant » s’affiche systématiquement, procédez comme suit :
Pour les composants que vous gérez, vérifiez qu'ils respectent et propagent l'indicateur
sampled`sampled` de l'en-tête, lorsque ce champ est présent. Ce paramètre est un indice pour les composants enfants afin d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez la section Protocoles de propagation du contexte.Google Cloud Les services respectent généralement cet indice. Toutefois, ils limitent également la fréquence à laquelle ils écrivent des données de trace.
Si vous utilisez Cloud Service Mesh, vérifiez que vous suivez les instructions pour propager le contexte de trace pour ces configurations. Pour obtenir des conseils sur Cloud Service Mesh, consultez la section Propagation du contexte de trace.
Impossible de corréler les données de journal et de trace
Vous effectuez l'une des opérations suivantes :
Vous consultez une étendue de trace et vous souhaitez afficher les entrées de journal associées. Toutefois, aucune donnée de journal n'est répertorié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 de l'explorateur correspondantes s'ouvrent. Pour en savoir plus, consultez la section Configurer des champs d'application d'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 la section Pont OpenCensus.
Pour en savoir plus sur la mise à jour des bibliothèques clientes Cloud pour Go, consultez le problème n° 4237.