Représenter les résultats de requête sous forme graphique avec l'Analyse de journaux

Ce document explique comment représenter graphiquement les résultats de vos requêtes d'Analyse de journaux, vous permet d'identifier des modèles et des tendances dans vos données de journaux. Analyse de journaux vous permet de rechercher et d'agréger des journaux pour générer des insights utiles à l'aide de SQL requêtes.

Après avoir exécuté une requête, vous pouvez consulter les résultats de la requête dans une table ou les convertir dans un graphique. La requête et sa visualisation peuvent être enregistrées dans un tableau de bord. Par exemple, pour identifier les types de gravité de vos journaux créez un graphique qui affiche le nombre de journaux générés au cours des 12 dernières heures et décomposez les journaux par severity. Les éléments suivants : la capture d'écran illustre des points de données répartis en différents types de gravité:

Exemple de graphique illustrant une répartition par gravité.

Avant de commencer

  1. Afin d'obtenir les autorisations nécessaires pour utiliser l'Analyse de journaux afin d'exécuter des requêtes, d'afficher des journaux et de créer des graphiques, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur votre projet:

    Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

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

  2. Pour les vues de journaux que vous souhaitez interroger, accédez à la page Stockage des journaux. et vérifier que les buckets de journaux qui stockent ces vues de journaux sont mises à niveau pour utiliser l'Analyse de journaux. Si nécessaire, mettre à niveau le bucket de journaux.

    Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  3. Facultatif: Si vous souhaitez interroger vos données de journaux à l'aide d'un dans un ensemble de données BigQuery, ensemble de données BigQuery associé.

Sélectionner les données à représenter dans le graphique

Pour configurer les données à afficher sur un graphique, créez une requête en utilisant SQL : Lorsque vous sélectionnez l'onglet Graphique, Logging génère automatiquement un graphique basé sur votre requête résultats. Une fois la requête exécutée et le graphique généré, vous pouvez personnaliser la configuration du graphique en modifiant son type et en sélectionnant colonnes pour afficher différentes données.

Pour afficher les résultats de votre requête sous forme de graphique, exécutez une requête en procédant comme suit:

  1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

    Accéder à l'Analyse de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Dans le volet Requête, saisissez une requête, puis cliquez sur Exécuter.

  3. Une fois la requête terminée, dans l'onglet Résultats, sélectionnez la manière dont vous souhaitez pour afficher les résultats de votre requête:

    • Tableau: format tabulaire uniquement.

    • Chart (Graphique) : format de graphique uniquement

    • Les deux: format graphique et tableau.

      Après avoir choisi le mode d'affichage des résultats de la requête, vous pouvez configurer les pour la visualisation sélectionnée, puis enregistrez la requête et les résultats à un tableau de bord personnalisé. Le format enregistré est un tableau lorsque vous sélectionnez l'option Tableau. Sinon, le format est un graphique.

      Pour les graphiques, les options de visualisation vous permettent de sélectionner le type de graphique, et sélectionner les lignes et colonnes à représenter dans le graphique. Pour en savoir plus, sur la configuration du graphique, consultez Personnaliser la configuration des graphiques.

Personnaliser la configuration du graphique

Vous pouvez personnaliser la configuration du graphique en modifiant son type, en sélectionnant la dimension et la mesure au graphique, et en appliquant une répartition. La Dimension (valeur de l'axe X) utilisée pour regrouper ou catégoriser les lignes. La Mesurer, ou valeur de l'axe Y, est une série de données représentée par rapport aux Y.

Modifier le type de graphique

Vous pouvez choisir parmi les types de graphiques suivants, en fonction du type de lignes et les colonnes que vous avez sélectionnées en tant que dimension et mesure, ainsi que la manière dont vous souhaitez de données à visualiser.

  • Graphique à barres (par défaut) : Les graphiques à barres représentent les données sur deux axes. Si votre graphique utilise une catégorie ou une chaîne comme dimension, vous pouvez alors définir la configuration d'un graphique à barres sur horizontal ou vertical, où les axes de cotation et de mesure sont intervertis.

  • Graphique en courbes: Les graphiques en courbes permettent de représenter l'évolution des données au fil du temps. Lorsque vous utilisez une ligne graphique, chaque série temporelle est indiquée par une ligne différente correspondant à la ou les mesures que vous avez sélectionnées.

    Si votre axe des X est basé sur le temps, chaque point de données est placé au début de un intervalle de temps. Chaque point de données est relié par une interpolation linéaire.

  • Graphique en aires empilées: Un graphique en aires est basé sur un graphique linéaire, et la zone sous chaque ligne est ombré. Dans les graphiques en aires, les séries de données sont empilées. Par exemple, si vous avez deux séries identiques, celles-ci se chevauchent dans un graphique en courbes, la zone ombrée est empilée dans un graphique en aires.

  • Graphique circulaire ou en anneau: Un diagramme circulaire montre comment les catégories d'un jeu de données sont liées à l'ensemble de données complet, en utilisant un cercle pour représenter l'ensemble de données complet et des cales dans le cercle pour représenter les catégories de l'ensemble de données. La taille d’un support incliné indique dans quelle mesure la catégorie contribue, souvent sous forme de pourcentage, à dans l'ensemble.

  • Tableau: Un tableau affiche une ligne pour chaque ligne du résultat de la requête. Les colonnes de sont définies par la clause SELECT. Si vous prévoyez d'afficher des données sous forme tabulaire sur un tableau de bord, puis utilisez une clause LIMIT pour limiter de lignes dans le résultat être inférieur à quelques centaines.

  • Jauge ou tableau de données: Les jauges et les tableaux de données fournissent la valeur la plus récente, ainsi que une couleur verte, orange ou rouge en fonction de la comparaison de cette valeur avec un ensemble de seuils. Contrairement aux jauges, qui n'affichent que des informations , les tableaux de données peuvent également inclure des informations sur les valeurs antérieures.

    Les jauges et les tableaux de données ne peuvent afficher le résultat de la requête que lorsque celle-ci le résultat contient au moins une ligne, laquelle contient une colonne avec un code temporel et une colonne avec des données numériques. Le résultat de la requête peut contenir plusieurs lignes et plus de deux colonnes.

    Si vous souhaitez effectuer l'agrégation basée sur le temps dans votre requête, puis procédez comme suit:

    • Configurez votre requête pour agréger les données sur un intervalle de temps, dans l'ordre les résultats par horodatage décroissant, et pour limiter le nombre lignes dans les résultats. Vous pouvez utiliser la clause LIMIT ou la sélecteur de période pour limiter le nombre de lignes dans le résultat de la requête.

      Par exemple, la requête suivante agrège les données par heure, applique une limite et trie les résultats:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • Définissez la dimension de sorte qu'elle corresponde à la colonne indiquant l'unité de temps. Par exemple, si votre requête agrège les données sur une heure et crée une intitulée hour, puis définissez le menu Dimension sur hour.

    • Sélectionnez Désactiver l'intervalle, car votre requête spécifie déjà le l'intervalle d'agrégation. Dans l'exemple, cet intervalle est d'une heure.

    • Définissez Mesurer sur la colonne numérique, puis définissez la fonction sur none.

    Si vous souhaitez utiliser l'Analyse de journaux pour effectuer l'agrégation temporelle pour vous, puis procédez comme suit:

    • Configurez le sélecteur de période, qui affecte de lignes dans le résultat de la requête.
    • Définissez la dimension de sorte qu'elle corresponde à la colonne indiquant l'unité de temps. Par exemple, vous pouvez définir ce menu sur timestamp.
    • Dans le menu Intervalle, définissez l'intervalle d'agrégation sur un l'intervalle. Par exemple, définissez la valeur de ce champ sur 1 hour. À ne pas faire sélectionnez Intervalle automatique.
    • Définissez Mesurer sur la colonne numérique, puis sélectionnez une fonction. comme sum.

Modifier la dimension et la mesure

Vous pouvez choisir les lignes et les colonnes à inclure dans le graphique en sélectionnant la dimension et de mesure.

  • Dimension

    La dimension doit être une colonne de code temporel, numérique ou de chaîne. Par défaut, la dimension est définie sur la première colonne du schéma basée sur l'horodatage. Si la requête ne comporte aucun code temporel, la première colonne de chaîne est sélectionnée en tant que dimension. Vous pouvez également personnaliser le contenu de la dimension le panneau Affichage du graphique. Lorsqu'une colonne d'horodatage est sélectionnée en tant que dimension, le graphique montre comment les données évoluent au fil du temps.

    Par défaut, l'intervalle des codes temporels est automatiquement mais vous pouvez également choisir un intervalle personnalisé. Modification automatique des intervalles en fonction du sélecteur de période afin de conserver des groupes de tailles similaires.

    Vous pouvez également désactiver l'intervalle, ce qui vous permet de spécifier votre propre des agrégations et des périodes dans la requête pour une analyse plus complexe. La désactivation de l'intervalle définit la fonction d'agrégation des mesures à none. Seules des mesures numériques sont autorisées lorsque l'intervalle de dimension est désactivé.

  • Mesure

    Vous pouvez sélectionner plusieurs mesures dans le panneau Affichage du graphique. Lorsque vous sélectionnez une mesure, doit également sélectionner la fonction d'agrégation à exécuter sur ses valeurs groupées, telles que count, sum, average et percentile-99. Par exemple, count-distinct renvoie le nombre de valeurs uniques dans une colonne donnée.

    Si vous cochez la case Désactiver l'intervalle pour la dimension, alors L'option de fonction d'agrégation none est disponible. Si la dimension est une la valeur de chaîne, la case Désactiver l'intervalle ne s'affiche pas. Toutefois, la définition des fonctions d'agrégation d'une mesure sur none désactive également le l'intervalle.

Ajouter une répartition

Pour diviser une série de données en plusieurs séries de données basées sur une autre colonne, ajoutez une répartition.

Lorsque vous sélectionnez une répartition, choisissez les colonnes qui contiennent une petite Nombre de libellés courts et significatifs (region_name, par exemple) au lieu de champs qui peuvent contenir un grand nombre de chaînes ou de longues chaînes, comme textPayload

Par exemple, reportez-vous à la configuration de graphique suivante, dans laquelle le champ Dimension est défini sur type, le champ Mesurer est défini sur Nombre de lignes et le champ Répartition est défini sur severity:

Exemple de configuration de graphique qui ajoute une répartition

Le graphique suivant est un exemple de graphique avec une répartition supplémentaire:

Exemple de graphique contenant une répartition par gravité.

Dans la capture d'écran précédente, vous voyez une série de données empilées, dans laquelle la ressource le type k8s_container est divisé en différents types severity. Cela vous permet identifier le nombre de journaux de chaque type de gravité qui ont été générés ressource.

Enregistrer un graphique dans un tableau de bord personnalisé

Après avoir généré un graphique à partir de votre requête, vous pouvez l'enregistrer dans un tableau de bord personnalisé. Les tableaux de bord personnalisés vous permettent afficher et organiser les informations qui vous sont utiles à l'aide de divers de plusieurs types de widgets. Par exemple, vous pouvez créer un tableau de bord qui fournit des informations sur l'utilisation de vos buckets Cloud Storage:

Exemple de tableau de bord montrant l'utilisation de vos buckets Cloud Storage

Pour enregistrer votre graphique dans un tableau de bord, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

    Accéder à l'Analyse de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Exécutez une requête pour générer un graphique, puis cliquez sur Enregistrez le graphique dans l'onglet Graphique.

  3. Dans la boîte de dialogue Enregistrer dans le tableau de bord, saisissez un titre pour votre graphique. sélectionnez le tableau de bord dans lequel vous souhaitez enregistrer le graphique.

  4. Facultatif: Pour afficher le tableau de bord personnalisé, dans le toast, Cliquez sur Afficher le tableau de bord.

Pour afficher la liste des tableaux de bord personnalisés contenant des graphiques générés par requêtes SQL d'Analyse de journaux, accédez au bouton Save Chart (Enregistrer le graphique), puis cliquez sur Menu .

Modifier un graphique enregistré dans un tableau de bord personnalisé

Pour modifier les graphiques générés par les requêtes SQL d'Analyse de journaux enregistrés dans un consultez Modifier la configuration d'un widget. Dans la boîte de dialogue Configurer le widget, vous pouvez modifier la requête utilisée pour générer un graphique, ou vous pouvez personnaliser sa configuration différentes données.

Limites

  • Si votre projet Google Cloud se trouve dans un dossier qui utilise Assured Workloads, les graphiques que vous générez ne peuvent pas être affichés dans un tableau de bord personnalisé.

  • Les filtres au niveau du tableau de bord ne s'appliquent pas aux graphiques générés à partir d'un Requête SQL d'Analyse de journaux.

Exemples de requêtes

Cette section fournit des exemples de requêtes SQL pour représenter les résultats de vos requêtes sous forme graphique. Pour obtenir des insights plus utiles à partir de vos journaux, personnalisez la configuration du graphique. Pour utiliser les exemples de requêtes, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Analyse de journaux:

    Accéder à l'Analyse de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Identifiez le nom de la table pour la vue de journal que vous souhaitez interroger.

    Pour identifier ce nom, accédez à la liste Vues de journaux. localisez la vue de journal, puis sélectionnez Requête. Le volet Requête contient une requête par défaut, qui inclut le nom de la table de la vue de journal interrogée. Le nom de la table est au format project_ID.region.bucket_ID.view_ID.

    Pour savoir comment accéder à la requête par défaut, consultez Interroger une vue de journal

  3. Remplacez TABLE_NAME_OF_LOG_VIEW par le nom de la table pour la vue de journal. que vous voulez interroger, puis copiez-la.

  4. Collez la requête dans le volet Requête, puis cliquez sur Exécuter la requête.

Représenter graphiquement les entrées de journal par emplacement et par gravité

La requête suivante sélectionne location et severity, ainsi que l'emplacement Castez en tant que chaîne:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE_NAME_OF_LOG_VIEW`

Voici un exemple de graphique et de configuration de graphique:

Exemple de graphique représentant les entrées de journal sous forme de graphique en fonction de l'emplacement et de la gravité

Dans la capture d'écran précédente, la configuration du graphique se présente comme suit : configuration du graphique:

  • Type de graphique: graphique à barres, horizontal
  • Dimension: location (10 au maximum)
  • Mesurer: compter les lignes
  • Répartition: severity, avec une limite de cinq

Représenter graphiquement les journaux d'audit des accès aux données BigQuery

Les filtres de requête suivants pour l'audit data_access de BigQuery journaux et sélectionne certains champs, tels que user_email, ip, auth_permission, et job_execution_project. Par exemple, vous pouvez créer un graphique qui visualise la fréquence d'utilisation de l'API BigQuery par chaque compte principal au fil du temps.

SELECT 
  timestamp,
  proto_payload.audit_log.authentication_info.principal_email as user_email,
  proto_payload.audit_log.request_metadata.caller_ip as ip,
  auth.permission as auth_permission,
  auth.granted as auth_granted,
  JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE_NAME_OF_LOG_VIEW` as data_access,
  UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
  log_id="cloudaudit.googleapis.com/data_access"
  AND data_access.resource.type = 'bigquery_dataset'

Voici un exemple de graphique et de configuration de graphique:

Exemple de graphique pour les journaux d'audit des accès aux données par BigQuery

Dans la capture d'écran précédente, la configuration du graphique comporte le graphique suivant : configuration:

  • Type de graphique: graphique à barres, vertical
  • Dimension: user_email (cinq au maximum)
  • Mesurer: compter les lignes
  • Répartition: auth_permission, avec une limite de cinq

Limites

  • Les colonnes sélectionnées doivent comporter au moins une ligne avec une valeur non nulle.

  • Si vous enregistrez une requête et personnalisez la configuration du graphique, le paramètre la configuration du graphique n'est pas enregistrée.

  • Si votre requête contient déjà des agrégations, le graphique généré peut être différent en raison d'une agrégation supplémentaire qui est appliquée automatiquement par l'Analyse de journaux.

  • Les chemins JSON doivent être convertis en chaînes et en nombres pour pouvoir être représentés dans un graphique.

Étape suivante