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é:
Avant de commencer
-
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 interroger les buckets de journaux
_Required
et_Default
: Lecteur de journaux (roles/logging.viewer
) -
Pour interroger des buckets de journaux personnalisés:
Accesseur de vues de journaux (
roles/logging.viewAccessor
) -
(Facultatif) Pour enregistrer des graphiques dans des tableaux de bord:
Éditeur Monitoring (
roles/monitoring.editor
)
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.
-
Pour interroger les buckets de journaux
Pour les vues de journaux que vous souhaitez interroger, accédez à la page Stockage des journaux et vérifiez que les buckets de journaux qui stockent ces vues de journaux sont mis à 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.
Facultatif : Si vous souhaitez interroger vos données de journaux à l'aide d'un ensemble de données BigQuery, créez un ensemble de données BigQuery associé.
Sélectionner les données à représenter sous forme de graphique
Pour configurer les données à afficher dans un graphique, créez une requête à l'aide de SQL. Lorsque vous sélectionnez l'onglet Graphique, la journalisation génère automatiquement un graphique en fonction des résultats de votre requête. 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, procédez comme suit :
-
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.
Dans le volet Requête, saisissez une requête, puis cliquez sur Exécuter.
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.
Graphique : format du 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 le type de graphique, en sélectionnant la dimension et la mesure à représenter, et en appliquant une répartition. La Dimension (valeur de l'axe X) utilisée pour regrouper ou catégoriser les lignes. La mesure, ou valeur de l'axe Y, est une série de données représentée sur l'axe 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 définir la configuration du graphique pour un graphique à barres sur horizontal ou vertical, où les axes de dimension et de mesure sont échangés.
Graphique en courbes: Les graphiques en courbes permettent de représenter l'évolution des données au fil du temps. Lorsque vous utilisez un graphique en courbes, chaque série temporelle est représentée par une ligne différente qui correspond à la ou aux 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 en courbes, et la zone sous chaque courbe est ombrée. 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 secteur indique la contribution de la catégorie à l'ensemble, souvent sous forme de pourcentage.
Tableau : un tableau affiche une ligne pour chaque ligne du résultat de la requête. Les colonnes du tableau 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 clauseLIMIT
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 vous fournissent la valeur la plus récente, ainsi qu'une indication verte, orange ou rouge en fonction de la comparaison de cette valeur à 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 une période, pour ordonner les résultats par codes temporels décroissants et pour limiter le nombre de 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 surhour
.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 le nombre 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 sélectionnez pas Intervalle automatique. - Définissez la mesure sur la colonne numérique, puis sélectionnez une fonction telle que somme.
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 aucun code temporel n'est présent dans la requête, la première colonne de chaîne est sélectionnée comme 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 défini automatiquement, mais vous pouvez également sélectionner 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, vous devez également sélectionner la fonction d'agrégation à effectuer sur ses valeurs groupées, telles que
count
,sum
,average
etpercentile-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, définir les fonctions d'agrégation d'une mesure surnone
désactive également 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:
Le graphique suivant est un exemple de graphique avec une répartition supplémentaire:
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 d'afficher et d'organiser les informations qui vous intéressent à l'aide de différents 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 :
Pour enregistrer votre graphique dans un tableau de bord, procédez comme suit:
-
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.
Exécutez une requête pour générer un graphique, puis cliquez sur Enregistrez le graphique dans l'onglet Graphique.
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.
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 arrow_drop_down.
Modifier un graphique enregistré dans un tableau de bord personnalisé
Pour modifier les graphiques générés par des requêtes SQL Log Analytics enregistrées dans un tableau de bord, 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 :
-
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.
Identifiez le nom de la table pour la vue de journal que vous souhaitez interroger.
Pour identifier ce nom, accédez à la liste Vues des journaux, recherchez la vue des journaux, puis sélectionnez Interroger. 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 la section Interroger une vue de journal.
Remplacez TABLE_NAME_OF_LOG_VIEW par le nom de la table pour la vue de journal. que vous voulez interroger, puis copiez-la.
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:
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
Créer un graphique à partir des 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'
Un exemple de graphique et de configuration de graphique se présente comme suit :
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) - Mesure : 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
Pour en savoir plus sur l'Analyse de journaux, consultez Analyse de journaux.
Pour obtenir des exemples de requêtes, consultez la page Exemples de requêtes SQL.
Pour découvrir comment effectuer une analyse à l'aide de journaux d'audit avec Log Analytics, consultez Requêtes SQL pour obtenir des insights de sécurité.