Ce document explique comment utiliser l'Analyse de journaux pour estimer le volume facturable de vos entrées de journal. Vous pouvez rédiger des requêtes qui génèrent des rapports et agrègent votre volume facturable en fonction de différentes dimensions, telles que le type de ressource ou le nom de l'application, puis représentent les résultats de la requête sous forme graphique.
Interroger le volume facturable
Le volume facturable d'une entrée de journal, qui correspond à la taille indiquée dans Cloud Billing, est disponible via le champ storage_bytes
.
Dans vos requêtes, vous pouvez utiliser le champ storage_bytes
de la même manière que n'importe quel champ de schéma dont le type de données est INTEGER
.
Par exemple, vous pouvez l'inclure dans des clauses SELECT
, dans des instructions CASE
et dans des expressions de table courantes.
Pour en savoir plus sur l'interrogation de journaux, consultez les documents suivants:
Étant donné que Cloud Billing utilise le volume facturable pour déterminer vos coûts, vous pouvez rédiger des requêtes qui vous aident à comprendre les sources de vos coûts. Par exemple, vous pouvez écrire des requêtes qui vous aident à déterminer quelles applications écrivent le plus d'entrées de journal. Pour savoir comment établir le lien entre le volume facturable et les coûts, consultez le récapitulatif des tarifs de Cloud Logging et les tarifs de Cloud Logging.
Le volume facturable d'une entrée de journal ne correspond pas à la taille de l'objet LogEntry
envoyé à l'API Cloud Logging. Le volume facturable inclut les octets requis pour la sérialisation et les métadonnées.
Avant de commencer
-
Pour obtenir les autorisations nécessaires pour utiliser l'Analyse de journaux afin d'exécuter des requêtes et d'afficher les journaux, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur votre projet:
-
Pour interroger les buckets de journaux
_Required
et_Default
: Visionneuse de journaux (roles/logging.viewer
) -
Pour interroger des buckets de journaux personnalisés : Accesseur de vue de journaux (
roles/logging.viewAccessor
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
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, mettez à 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é.
Exemples de requêtes
Cette section fournit des exemples de requêtes qui analysent les données d'une seule vue de journal.
Si vous stockez des données dans plusieurs vues de journaux et que vous souhaitez calculer les valeurs agrégées pour les données stockées dans ces vues, vous devez utiliser l'instruction UNION
.
Vous pouvez interroger votre entrée de journal à l'aide de la page Analyse de journaux ou depuis n'importe quel emplacement où vous pouvez interroger des ensembles de données BigQuery, comme les pages BigQuery Studio et Looker Studio, ou encore l'outil de ligne de commande bq.
Pour utiliser les exemples de requêtes, procédez comme suit :
Page Analyse de journaux: remplacez TABLE par le nom de la vue de journal. Il a le format suivant :
project_ID.region.bucket_ID.view_ID
.Ensembles de données BigQuery: remplacez TABLE par le chemin d'accès à la table dans l'ensemble de données associé.
Requête pour obtenir le volume de journaux par application
Pour calculer le nombre total d'octets par jour et par application, pour vos entrées de journal écrites sur une ressource Google Kubernetes Engine et ayant une charge utile JSON, utilisez la requête suivante:
SELECT
timestamp_trunc(timestamp,DAY) as day,
JSON_VALUE(labels["k8s-pod/app"]) as app_id,
SUM(storage_bytes) as total_bytes
FROM
`TABLE`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
GROUP BY ALL
Pour visualiser les données, vous pouvez créer un graphique. Dans l'exemple suivant, les données sont affichées sous la forme d'un graphique à barres empilées. Chaque barre du graphique affiche le nombre total d'octets stockés, organisés par application. Dans cet exemple, l'application frontend
génère le plus de données de journaux:
Requête pour obtenir le volume de journaux par nom de journal
Pour répertorier le nombre d'octets stockés et le nom de journal de chaque entrée de journal ayant une charge utile JSON et écrite sur une ressource Google Kubernetes Engine, utilisez la requête suivante :
SELECT
log_id AS log_name,
storage_bytes
FROM
`TABLE`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
La requête précédente n'agrège pas les résultats. Au lieu de cela, il y a une ligne pour chaque entrée de journal, laquelle contient un nom de journal et le nombre d'octets stockés. Si vous représentez ces données sous forme graphique, vous pouvez visualiser la partie des données de journaux telle qu'elle est écrite dans différents journaux:
Le graphique précédent montre que la plupart des données de journal sont écrites dans le journal nommé stdout
.
Utiliser l'outil de ligne de commande bq pour interroger le volume de journaux par nom de journal
Vous pouvez inclure le champ storage_bytes
dans les requêtes que vous exécutez via la page BigQuery Studio ou à l'aide de l'outil de ligne de commande bq.
La requête suivante indique le nom du journal et le nombre d'octets stockés pour chaque entrée de journal:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `TABLE`'
Le résultat de cette requête est semblable à celui-ci:
+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout | 716 |
| stdout | 699 |
| stdout | 917 |
| stdout | 704 |
Chaque ligne correspond à une entrée de journal. La valeur de la colonne storage_bytes
correspond au volume facturable pour cette entrée de journal.
Limites
Le champ storage_bytes
n'est disponible que lorsque les conditions suivantes sont remplies:
- Le bucket de journaux est mis à niveau pour utiliser l'Analyse de journaux.
Votre requête est exécutée sur la page Analyse de journaux ou partout où vous pouvez interroger des ensembles de données BigQuery, tels que les pages BigQuery Studio et Looker Studio, ou l'outil de ligne de commande bq.
L'entrée de journal a été écrite à partir du 1er janvier 2024.