Résoudre les problèmes de configuration de l'Analyse de journaux

Ce document explique comment résoudre les erreurs pouvant se produire lors de l'utilisation de la page Log Analytics de la console Google Cloud.

Messages d'erreur

Cette section décrit les messages d'erreur susceptibles de s'afficher et explique comment résoudre les les conditions d'erreur correspondantes.

No completion signal within allotted timeframe message d'erreur

Vous saisissez une requête SQL, puis sélectionnez Run query (Exécuter la requête). La requête n'est pas terminée, et le message d'erreur suivant s'affiche :

The query failed to execute and return results due to error: No completion signal within allotted timeframe.

Pour résoudre cette erreur, effectuez l'une des opérations suivantes :

  • Raccourcissez l'intervalle sur lequel les journaux sont interrogés, puis relancez la requête. Par exemple, si l'intervalle de requête est de 14 jours, réduisez-le à sept jours, puis exécutez la requête.

  • Créez un ensemble de données BigQuery associé, puis exécutez la requête depuis l'interface BigQuery. L'interface BigQuery accepte les requêtes qui nécessitent un temps d'exécution plus long que l'interface Cloud Logging. Pour en savoir plus, consultez la page Interroger des journaux à l'aide de BigQuery.

Message d'erreur concernant les requêtes sur des buckets avec des clés CMEK distinctes

Vous saisissez une requête SQL qui interroge plusieurs buckets de journaux, puis sélectionnez Exécuter la requête. La requête ne se termine pas et le message d'erreur suivant s'affiche:

Queries against buckets with distinct CMEK keys must have a key configured in the LogSettings.

Pour résoudre ce problème, effectuez l'une des opérations suivantes :

  • Configurez vos buckets de journaux pour qu'ils utilisent le même service Cloud Key Management Service. (Cloud KMS).
  • Lorsque les buckets de journaux se trouvent au même emplacement, vous pouvez configurer un dossier ou une organisation qui est une ressource parente pour les buckets de journaux avec une clé Cloud KMS par défaut. Clé par défaut du parent doivent se trouver au même emplacement que les buckets de journaux. Avec cette configuration, la clé par défaut du parent chiffre toutes les données temporaires générées par la requête Log Analytics. Pour en savoir plus, consultez Restrictions de l'Analyse de journaux.

La clause FROM doit contenir exactement un message d'erreur de vue

Vous saisissez une requête SQL dans le volet de requête de la page Analyse de journaux. dans la console Google Cloud, mais l'analyseur SQL affiche les éléments suivants : erreur:

FROM clause must contain exactly one log view

L'erreur précédente est signalée lorsque la table spécifiée dans FROM ne peut pas être résolu en une vue de journal spécifique.

Pour résoudre cette erreur, assurez-vous que la syntaxe du nom de votre table est correcte:

  • Assurez-vous que le nom de la table suit la syntaxe requise par le schéma de nommage de l'Analyse de journaux. BigQuery et Log Analytics ont des exigences différentes concernant le nom de la table. Pour connaître la syntaxe requise pour le nom de la table, affichez la requête par défaut.

  • Si l'ID de projet Google Cloud, la région, l'ID de bucket ou l'ID de vue d'un bucket de journaux contient des caractères de point, (.), assurez-vous que chacun de ces champs est entouré d'une seule apostrophe arrière, (`).

    Par exemple, si l'ID d'un projet Google Cloud est example.com:bluebird, pour interroger la vue _AllLogs du bucket de journaux _Default, utilisez la syntaxe suivante pour spécifier le tableau :

    
    SELECT *
    FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`
    

    La requête précédente suppose que le bucket _Default se trouve dans la région global.

Impossible d'enregistrer une requête

Si vous saisissez et exécutez une requête SQL et que l'option Enregistrer est désactivée, cela signifie que les paramètres de ressources par défaut de votre organisation ou de votre dossier définissent un emplacement non autorisé par la règle d'administration. Pour résoudre ce problème, demandez à l'administrateur de votre organisation de définir un emplacement dans les paramètres de ressources par défaut qui correspond à un emplacement autorisé par votre règle d'administration. Pour en savoir plus, consultez la page Configurer les paramètres par défaut pour les organisations et les dossiers.

Si le bouton Enregistrer est activé, mais que vous ne parvenez pas à terminer la boîte de dialogue et à enregistrer la requête, procédez comme suit :

  1. Assurez-vous que la requête ne contient pas d'erreurs de syntaxe. Vous ne pouvez enregistrer que des requêtes valides.
  2. Facultatif : Copiez la requête dans le presse-papiers.
  3. Actualisez la page.
  4. Si vous avez copié la requête dans le presse-papiers, collez-la dans le volet Requête, exécutez-la, puis effectuez l'opération d'enregistrement.

Accès refusé à la page Log Analytics

Vous ouvrez la page Log Analytics dans la console Google Cloud, et un message d'erreur indiquant que l'autorisation est refusée s'affiche.

Pour obtenir les autorisations nécessaires pour charger la page Analyse de journaux, exécutez des requêtes et afficher les journaux, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur votre projet:

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou des rôles prédéfinis de journalisation.

Les autorisations nécessaires pour afficher les entrées de journal et exécuter des requêtes sur le Analyse de journaux sont les mêmes que celles que vous devez consulter. sur la page Explorateur de journaux. Pour en savoir plus sur des rôles supplémentaires dont vous avez besoin pour interroger des vues sur des buckets définis par l'utilisateur pour interroger la vue _AllLogs du bucket de journaux _Default, consultez Rôles Cloud Logging.

La mise à niveau du bucket de journaux pour utiliser l'Analyse de journaux échoue

Vous allez créer un bucket de journaux et sélectionner l'option permettant d'utiliser l'Analyse de journaux, ou mettre à niveau un bucket de journaux existant pour utiliser l'Analyse de journaux. La mise à niveau échoue et une condition d'erreur semblable à la suivante s'affiche :

Failed precondition (HTTP 400): Constraint "my-constraint" violated for PROJECT_ID  with location global.

Le message d'erreur précédent indique que votre organisation a configuré une règle d'administration qui limite les régions pouvant être utilisées. Buckets de journaux éligibles à la mise à niveau pour utiliser l'Analyse de journaux doivent utiliser Région global. Si vous pouvez supprimer la règle d'administration limitant l'utilisation de la région global, vous pouvez mettre à niveau votre bucket de journaux. Sinon, vous ne pouvez pas mettre à niveau vos buckets de journaux.

Échec de la création d'un ensemble de données BigQuery associé

Vous modifiez un bucket de journaux pour créer un ensemble de données BigQuery associé ou vous créez un bucket de journaux et sélectionnez l'option permettant de créer un ensemble de données associé. Toutefois, l'ensemble de données associé n'est pas créé.

Pour résoudre cette erreur, demandez à l'administrateur système du projet Google Cloud de vous accorder un rôle IAM qui inclut l'autorisation suivante:

  • logging.links.create

L'autorisation précédente est incluse dans les rôles "Administrateur Logging" (roles/logging.admin) et "Rédacteur de configuration des journaux" (roles/logging.configWriter).

Pour en savoir plus sur les rôles et les autorisations, consultez la page Contrôle des accès avec IAM

Échec de la suppression d'un ensemble de données BigQuery associé

Vous ne souhaitez plus utiliser l'ensemble de données associé, mais l'option de suppression de cet ensemble de données est désactivée.

Pour résoudre cette erreur, demandez à l'administrateur système du projet Google Cloud de vous accorder un rôle IAM qui inclut l'autorisation suivante:

  • logging.links.delete

L'autorisation précédente est incluse dans l'administrateur Logging (roles/logging.admin) et Rédacteur de configuration des journaux (roles/logging.configWriter).

Cette autorisation vous permet de supprimer l'ensemble de données associé Stockage des journaux de la console Google Cloud. Pour en savoir plus sur les rôles et les autorisations, consultez Contrôle des accès avec IAM

Le bouton des paramètres du moteur de requêtes est manquant

Si le bouton Paramètres ne s'affiche pas situé à côté du bouton Exécuter la requête, votre projet Google Cloud ne dispose pas emplacements BigQuery réservés activés. Pour activer le bouton Settings (Paramètres), configurez des emplacements BigQuery réservés pour votre projet.

Le bouton "Exécuter sur BigQuery" est désactivé

Si le bouton Exécuter sur BigQuery s'affiche, mais est désactivé : alors une vue de journal référencée par votre requête n'a pas d'ensemble de données associé. Pour exécuter votre requête sur vos réservations d'emplacements BigQuery, créez un ensemble de données BigQuery associé dans votre vue des journaux.

Aucun compte de service Monitoring

Vous souhaitez créer une règle d'alerte pour surveiller les résultats d'une requête SQL. La procédure de configuration nécessite l'attribution de rôles IAM au compte de service Monitoring, mais ce compte n'existe pas.

Le compte de service de surveillance est appelé agent de service, car il est créé et géré par Google Cloud. Le compte est créé automatiquement lorsque vous configurez ressource ou service nécessitant ce compte. Par exemple, si vous créez un canal de notification Pub/Sub, cette action peut entraîner Compte de service Monitoring à créer. Selon le flux de création, le compte de service Monitoring peut être le rôle de Rôle d'agent de service Monitoring (monitoring.NotificationServiceAgent) sur votre projet. Vous pouvez modifier les rôles attribués au compte.

Si le compte de service de surveillance n'existe pas, procédez comme suit pour créer une stratégie d'alerte qui surveille le résultat d'une requête SQL :

  1. Créez manuellement un agent de service. Pour en savoir plus sur cette étape, consultez la section Créer et attribuer des rôles aux agents de service.

  2. Attribuez les rôles requis à l'agent de service. Pour en savoir plus sur ces rôles, consultez la section Surveiller les résultats de vos requêtes SQL : avant de commencer.