Pour résoudre les messages d'erreur ou les résultats inattendus sur les graphiques et les widgets de tableau de bord dans Cloud Monitoring, vous pouvez ajuster vos requêtes, vos périodes d'alignement et vos autorisations afin que votre télémétrie s'affiche correctement. Ce document vous aide à diagnostiquer les problèmes courants dans l'Explorateur de métriques et les tableaux de bord personnalisés, y compris les lacunes de données, les limites d'affichage des séries temporelles, les unités d'axe Y non concordantes et les erreurs de configuration des widgets.
Erreurs de graphique
Cette section décrit les erreurs que vous pouvez rencontrer lorsque vous configurez un graphique. Vous pouvez configurer des graphiques à l'aide de l'Explorateur de métriques ou en les ajoutant à un tableau de bord.
Écarts dans les données des graphiques
Les graphiques présentent parfois des écarts dans les données. Par exemple, la capture d'écran suivante illustre ce comportement pour la métrique loadbalancing.googleapis.com/https/total_latencies:
Des écarts peuvent se produire lorsque les données sont écrites très rarement. Cloud Monitoring collecte des métriques par échantillonnage et, avec des données très creuses, il est possible qu'aucune donnée ne soit disponible lorsqu'un échantillon est collecté. Par exemple, des écarts entre les métriques de l'équilibreur de charge peuvent se produire lorsque le nombre de requêtes est inférieur ou égal à 0,05 requête par seconde (RPS). Les écarts disparaissent lorsque le taux de requêtes augmente.
Vous pouvez supprimer les écarts visuels en augmentant l'intervalle d'alignement. Lorsque le système génère une nouvelle série temporelle avec des points de données régulièrement espacés, il utilise l'intervalle d'alignement pour déterminer la période sur laquelle les points de données bruts sont combinés. Pour en savoir plus, consultez Alignement : régularisation au sein de la série.
Pour définir un intervalle d'alignement minimal, modifiez la requête de votre graphique. Par exemple, lorsque vous utilisez l'Explorateur de métriques, accédez au volet de requête et sélectionnez add Ajouter un élément de requête. Dans le menu, sélectionnez Intervalle minimal, puis un intervalle de temps.
La période d'alignement change lorsque la période est modifiée
Vous ajoutez un graphique à un tableau de bord. Lorsque vous modifiez la période du tableau de bord ou du graphique, la période d'alignement change parfois. Par exemple, si vous modifiez la période d'une heure à deux heures, la période d'alignement est indiquée comme 1 minute interval. Toutefois, si vous modifiez la période d'une heure à un jour, la période d'alignement est indiquée comme étant de 5 minute interval.
Ce comportement est normal.
Le nombre de points de données pouvant être affichés dans les graphiques est limité. Par conséquent, lorsque le nombre de points de données disponibles pour la période sélectionnée est supérieur à la limite d'affichage, Monitoring modifie automatiquement les paramètres d'alignement pour réduire le nombre de points de données à afficher.
Le graphique n'affiche pas toutes les séries temporelles
Vous configurez un graphique, mais il n'affiche pas toutes les séries temporelles.
Pour des raisons de performances, les graphiques sont configurés pour afficher au maximum 50 séries temporelles.
Lorsque vous configurez un graphique et que plus de 50 séries temporelles sont disponibles, le graphique limite le nombre de séries temporelles affichées et ajoute une icône avec un point rouge à la barre d'outils. L'info-bulle de l'icône affiche le message suivant :
To improve performance, we've limited the time series displayed in this chart.
Pour afficher toutes les séries temporelles, développez l'info-bulle et sélectionnez le bouton Afficher toutes les séries temporelles.
Le graphique n'affiche aucune donnée
Vous configurez un graphique, mais celui-ci affiche un message d'erreur au lieu des données :
Lorsqu'aucune donnée n'est disponible pour la période spécifiée pour votre graphique, le message suivant s'affiche :
No data is available for the selected time frame.Pour résoudre le problème, essayez la procédure suivante :
Augmentez la période du graphique. Certains types de métriques, tels que ceux qui indiquent l'utilisation des quotas, ne fournissent qu'un seul échantillon par jour.
Modifiez le type de métrique sélectionné pour votre graphique. Il est possible que le type de métrique spécifié par votre graphique soit inactif. Un type de métrique est inactif lorsqu'il n'existe aucune série temporelle pour ce type.
Lorsque le type de métrique ou de ressource spécifié par la requête n'est pas reconnu, le message suivant s'affiche :
An error occurred requested data. One or more resources could not be found.Pour résoudre ce problème, procédez comme suit :
Vérifiez que le type de métrique et le type de ressource spécifiés dans la requête sont définis. Vous pouvez utiliser l'interface basée sur un menu pour les graphiques afin de rechercher le type de métrique.
Vérifiez l'orthographe du type de métrique et du type de ressource dans la requête.
Le graphique affiche un avertissement concernant les métadonnées sensibles
Vous ouvrez un tableau de bord personnalisé et vous vous attendez à ce que tous les widgets affichent des données. Toutefois, un ou plusieurs widgets contenant des requêtes SQL affichent des messages semblables à ceux-ci :
This SQL query is configured to run on the BigQuery engine using [PROJECT_ID],
and references resources from [RESOURCE, ...]. Sensitive metadata,
including table contents, may be written to [PROJECT_ID].
Le message d'avertissement indique que la requête dépasse les limites de propriété et vous permet de la vérifier avant son exécution. Les limites de propriété sont déterminées par plusieurs facteurs, dont la hiérarchie des ressources utilisées par la requête.
Le système effectue des vérifications de limites chaque fois qu'un tableau de bord est ouvert. Vous ne pouvez pas empêcher ni ignorer ces avertissements.
Si un widget affiche le message d'avertissement, vous pouvez effectuer l'une des opérations suivantes :
Si vous savez que la requête peut être exécutée en toute sécurité et que vous souhaitez afficher les résultats de la requête, cliquez sur Confirmer et exécuter.
Ignorez le message d'erreur. Ce widget n'affichera pas les données de votre session en cours.
Analysez la requête et, si nécessaire, désactivez-la. Par exemple, vous pouvez effectuer les opérations suivantes :
- Inspectez la requête et évaluez les données interrogées.
- Examinez l'historique du tableau de bord pour déterminer qui a ajouté le widget et quand.
- Si vous avez reçu un lien vers un tableau de bord, vérifiez que l'expéditeur est une source fiable.
- Pour référence ultérieure, enregistrez votre analyse dans le tableau de bord en ajoutant un widget Texte.
Google Cloud fournit des fonctionnalités qui peuvent aider à empêcher l'exfiltration de données par hameçonnage, par des attaques internes ou par des entités externes. Pour en savoir plus, consultez Sécurité des données avec l'Analyse de l'observabilité.
Un graphique comportant plusieurs métriques affiche un message d'erreur
Vous configurez un graphique pour afficher plusieurs métriques, et le message d'erreur suivant s'affiche :
The units for queries using the same Y-axis must be the same for the chart
to render correctly.
Les graphiques peuvent afficher plusieurs types de métriques, et vous pouvez mapper un type de métrique sur l'axe Y de gauche ou de droite. Les unités de tous les types de métriques mappés à l'axe Y de gauche doivent être identiques. Sinon, le message d'erreur précédent s'affiche. De même, les unités de tous les types de métriques mappés à l'axe Y de droite doivent être identiques, sinon le message d'erreur précédent s'affiche.
Pour résoudre cette erreur, procédez comme suit :
Si votre graphique contient des métriques comportant plus de deux types d'unités, supprimez-les jusqu'à ce qu'il ne reste que deux types d'unités.
Attribuez toutes les métriques ayant un type d'unité à l'axe Y à gauche et toutes les métriques ayant l'autre type d'unité à l'axe Y à droite.
Un graphique comportant plusieurs métriques affiche des données inattendues
Un graphique est configuré pour afficher plusieurs métriques et des filtres ont été ajoutés pour n'afficher que des séries temporelles spécifiques. Cependant, le graphique montre des séries temporelles qui ne correspondent pas aux filtres.
Pour résoudre ce problème, veillez à appliquer des filtres à chaque métrique représentée dans le graphique.
Par exemple, la capture d'écran suivante montre le volet de configuration de l'explorateur de métriques pour un graphique qui affiche le nombre d'octets lus et écrits par les instances de machine virtuelle (VM) :
Dans la capture d'écran, il existe un en-tête pour chaque type de métrique affiché par le graphique.
Par exemple, si vous souhaitez que le graphique n'affiche que les séries temporelles des VM de la zone us-central1-a, ajoutez le filtre zone = us-central1-a à chaque requête.
Impossible de sélectionner des valeurs de filtre pour les graphiques définis par PromQL
Vous créez des graphiques sur un tableau de bord personnalisé et les configurez avec PromQL. Vous créez ensuite des filtres de tableau de bord permanents. Lorsque vous affichez le tableau de bord, vous essayez de modifier la valeur par défaut du filtre, mais le menu des valeurs d'étiquette ne s'affiche pas ou n'est pas correct :
Pour résoudre ce problème, saisissez la valeur du filtre, puis sélectionnez Appliquer.
Par exemple, si la clé de filtre est zone, vous pouvez saisir us-central1-a.
Les étiquettes de métadonnées utilisateur sont manquantes dans les menus de filtrage ou de regroupement
Vous configurez un graphique à l'aide de menus, mais les menus Filtre et Agrégation ne répertorient pas les libellés de métadonnées utilisateur, tels que goog-dataproc-* ou dataflow-*.
Pour filtrer ou regrouper des séries temporelles lorsque les étiquettes de métadonnées utilisateur n'apparaissent pas dans les menus, interrogez les séries temporelles à l'aide de PromQL ou du mode de filtrage direct :
Dans PromQL, ajoutez le préfixe
metadata_user_à la clé d'étiquette de métadonnées utilisateur et placez la clé entre guillemets doubles si elle contient des caractères spéciaux tels que des traits d'union. Par exemple, la requête PromQL suivante filtre l'utilisation du processeur des VM Compute Engine pour les séries temporelles qui ont une étiquette de métadonnées utilisateurgoog-dataproc-cluster-namenon vide :{"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance", "metadata_user_goog-dataproc-cluster-name"!=""}En mode de filtrage direct, filtrez par
metadata.user_labels. Par exemple, pour filtrer une étiquette de métadonnées utilisateurgoog-dataproc-cluster-namenon vide, saisissezmetadata.user_labels."goog-dataproc-cluster-name"!="".
Erreurs du tableau de bord
Cette section décrit les erreurs que vous pouvez rencontrer lorsque vous créez ou modifiez des tableaux de bord.
Échec de la création du tableau de bord
Vous créez un tableau de bord à l'aide d'une description JSON ou YAML du tableau de bord, qui inclut un champ name.
Vous modifiez le nom à afficher et essayez de créer un deuxième tableau de bord, mais vous obtenez une erreur. Par exemple, si vous utilisez la Google Cloud CLI, vous obtenez l'erreur suivante :
ERROR: (gcloud.alpha.monitoring.dashboards.create) Resource in projects [xxxxxxx] is the subject of a conflict: Requested entity already exists.
L'échec est dû au fait que l'ID du tableau de bord, qui identifie ce tableau de bord dans la valeur du champ name, existe déjà. Par conséquent, le tableau de bord ne peut pas être créé.
Si vous spécifiez le champ name lorsque vous créez un tableau de bord, la valeur que vous spécifiez doit être unique au niveau mondial. Le champ name utilise la syntaxe suivante :
"name": "projects/PROJECT_ID_OR_NUMBER/dashboards/DASHBOARD_ID"
Le nom à afficher ne doit pas nécessairement être unique.
Le tableau de bord n'affiche pas tous les événements
Vous configurez un tableau de bord pour afficher les événements, mais seuls les événements récents s'affichent. Les événements plus anciens ne sont pas affichés.
Pour résoudre ce problème, effectuez l'une des opérations suivantes :
Utilisez une période plus courte. Par exemple, affichez les données de l'heure la plus récente au lieu de celles du jour le plus récent, ou sélectionnez une période personnalisée.
Ajoutez des filtres.
Pour des raisons de performances, le nombre d'événements pouvant être affichés dans les tableaux de bord est limité. Lorsque ces limites sont atteintes, les tableaux de bord n'affichent que les événements les plus récents.
Le tableau de bord créé par Terraform est redimensionné
Vous avez créé un tableau de bord à l'aide de Terraform, puis vous l'avez modifié à l'aide de la console Google Cloud . Vous vous attendiez à ce que le tableau de bord reste inchangé, à l'exception de vos modifications. Au lieu de cela, le tableau de bord est redimensionné. Par exemple, votre tableau de bord comportait 12 colonnes et en comporte désormais 48.
N'utilisez pas la console Google Cloud pour modifier les tableaux de bord créés à l'aide de Terraform. Lorsque le tableau de bord est modifié, la taille est multipliée par quatre.
Le widget de règle d'alerte n'affiche aucune donnée
Un tableau de bord contient un graphique pour une règle d'alerte, mais le graphique n'affiche aucune donnée.
Pour résoudre ce problème, procédez comme suit :
Affichez la configuration du graphique et assurez-vous qu'une règle d'alerte est sélectionnée. Si aucune règle d'alerte ne s'affiche, associez le graphique à une règle d'alerte ou supprimez-le du tableau de bord.
Les graphiques des tableaux de bord qui affichent les données d'une règle d'alerte cessent d'afficher des données lorsque la règle d'alerte référencée est supprimée. La suppression d'une règle d'alerte ne supprime pas les graphiques qui y font référence.
Affichez les détails de la règle d'alerte et vérifiez qu'elle ne contient qu'une seule condition.
Les graphiques des tableaux de bord qui affichent les données d'une règle d'alerte cessent d'afficher des données si la règle d'alerte est modifiée pour contenir plusieurs conditions. Pour résoudre ce problème, associez le graphique à une règle d'alerte à condition unique ou supprimez-le du tableau de bord.
Augmentez la période. Le sélecteur de période doit être défini sur une valeur supérieure à la période d'échantillonnage des données. Bien que la plupart des métriques soient échantillonnées toutes les 60 secondes, certaines métriques sont rarement échantillonnées. Par exemple, la métrique serviceruntime.googleapis.com/quota/limit est échantillonnée toutes les 86 400 secondes (une journée).
Le panneau des journaux signale une requête non valide
Le message d'erreur "Error: Invalid query" (Erreur : Requête non valide) s'affiche et le panneau des journaux n'affiche aucune entrée de journal.
Pour résoudre ce problème, réduisez le nombre des projets pour lesquels vous avez configuré l'affichage des journaux dans le panneau des journaux.
Pour en savoir plus sur cette condition d'échec, consultez la section La requête renvoie une erreur.
Le panneau des journaux signale qu'aucune entrée n'a été trouvée
Le message d'erreur "Aucune entrée correspondant au filtre actuel trouvée" s'affiche dans un panneau de journaux. Ce message peut s'afficher pour plusieurs raisons. Vérifiez les éléments suivants :
Pour chaque projet dont vous souhaitez afficher les entrées de journal, assurez-vous que l'une des conditions suivantes est remplie :
- Vous disposez du rôle Lecteur de journaux (
roles/logging.viewer). Pour les rôles personnalisés, vous disposez des autorisations suivantes :
logging.logs.listlogging.logServiceIndexes.listlogging.logServices.list
- Vous disposez du rôle Lecteur de journaux (
Assurez-vous que les clauses de l'éditeur de requête n'entrent pas en conflit avec les paramètres affichés dans le panneau des journaux.
Par exemple, lorsque le champ Éditeur de requête contient
severity=NOTICE, le panneau des journaux récupère tous les journaux dont le niveau de gravité est exactementNOTICE. Si le menu Gravité du panneau des journaux est défini sur "Warning" (Avertissement), le panneau des journaux affiche le message "Aucune entrée correspondant au filtre actuel trouvée". Le message s'affiche car aucune des entrées de journal récupérées ne possède un niveau de gravité au moins égal à "Warning".En revanche, lorsque le champ Éditeur de requête contient
severity=WARNINGet que le menu Gravité du panneau des journaux est défini sur "Notice" (Remarque), des entrées de journal peuvent s'afficher. Avec cette configuration, le panneau des journaux récupère les journaux dont le niveau de gravité estWARNING. Ensuite, cette liste de journaux est filtrée pour n'afficher que celles dont la gravité est au moins égale à "Notice", et tous les journaux récupérés ont au moins ce niveau de gravité.
Le panneau des journaux indique qu'il affiche des données partielles
Un indicateur d'avertissement et le message "Affichage de résultats partiels" s'affichent dans un panneau de journaux.
Cet indicateur s'affiche lorsque vous n'êtes pas autorisé à afficher les journaux d'un projet Google Cloud dont vous avez sélectionné l'affichage. Pour supprimer l'indicateur d'avertissement, effectuez l'une des opérations suivantes :
Contactez votre administrateur système et demandez-lui d'effectuer l'une des opérations suivantes pour chaque projet Google Cloud dont vous souhaitez afficher les journaux :
- Attribuez-vous le rôle Visionneuse de journaux (
roles/logging.viewer). Pour les rôles personnalisés, accordez les autorisations suivantes :
logging.logs.listlogging.logServiceIndexes.listlogging.logServices.list
- Attribuez-vous le rôle Visionneuse de journaux (
Modifiez la configuration du panneau des journaux pour n'afficher que les journaux des projetsGoogle Cloud pour lesquels vous êtes autorisé à afficher les entrées de journal.
Le panneau des journaux affiche un message d'autorisation refusée
Le widget du panneau des journaux d'un tableau de bord affiche le message d'autorisation refusée suivant :
Error: Permission 'logging.views.access' denied on resource (or it may not exist).
Pour résoudre ce problème, procédez comme suit :
- Modifiez le widget du panneau des journaux.
Effectuez l'une des opérations suivantes :
Définissez le menu Champ d'application sur Projet, puis utilisez le menu Projets pour sélectionner Projet actuel.
Supprimez du menu Vues de stockage les vues de journaux que vous n'êtes pas autorisé à consulter. Pour en savoir plus sur les rôles IAM requis pour accéder aux vues de journaux, consultez Accorder l'accès à une vue de journal.
Lorsque le widget du panneau des journaux recherche des vues de journaux, vous devez disposer de l'autorisation de lire les entrées de journal dans toutes les vues de journaux listées. Sinon, un message d'erreur s'affiche.
Cliquez sur Appliquer.
Le tableau n'affiche pas toutes les séries temporelles
Vous configurez un tableau, mais il n'affiche pas toutes les séries temporelles.
Pour des raisons de performances, les tables sont configurées pour afficher au maximum 300 lignes.
Échec de l'appel d'API pour créer un tableau de bord avec un panneau de journaux
Plusieurs raisons peuvent expliquer pourquoi un message d'erreur s'affiche lorsque vous créez un tableau de bord avec un panneau de journaux :
Lorsque le panneau des journaux ne répond pas aux exigences de hauteur ou de largeur minimales, l'erreur suivante s'affiche :
Unable to save dashboard: Field mosaicLayout.tiles[0] has an invalid value: LogsPanel must have a minimum width of 3 and height of 3.
Pour résoudre cette condition, dans la représentation JSON du tableau de bord, assurez-vous que les champs
heightetwidthdu widget de panneau de journaux répondent aux exigences minimales.Lorsque le champ
logsPanel.filterdépasse 2 000 caractères, l'erreur suivante s'affiche :Unable to save dashboard: filter cannot be greater than 2000 characters.
Pour résoudre cette condition, réduisez le filtre.
Lorsque le champ
resourceNamesest manquant, le message d'erreur suivant s'affiche :Unable to save dashboard: Dashboard is missing required field mosaicLayout.tiles[0].widget.logsPanel.resourceNames.
Pour résoudre cette condition, ajoutez un champ
resourceNamesdans le JSON du tableau de bord.Lorsque la syntaxe du champ
resourceNamesest incorrecte, une erreur semblable à celle-ci s'affiche :Unable to save dashboard: Field mosaicLayout.tiles[0].widget.logsPanelWidget.resourceNames has an invalid value of "a-project": resource name must have the format `projects/{project}`.Pour résoudre cette condition, remplacez
a-projectparprojects/a-projectdans le JSON du tableau de bord.Pour plus d'informations sur la façon de résoudre des erreurs de syntaxe dans le champ
filter, consultez la section Dépannage : problèmes de syntaxe.
Pour obtenir un exemple de fichier JSON correctement formaté, consultez la section Tableau de bord avec un widget LogsPanel.
Importer des tableaux de bord Grafana
Pour en savoir plus sur l'utilisation de l'outil d'importation de tableau de bord et son dépannage, consultez la page Importer des tableaux de bord Grafana dans Cloud Monitoring.
Pour en savoir plus sur les problèmes de conversion du contenu du tableau de bord, consultez le fichier README de l'outil d'importation.