Ce document explique comment utiliser Log Analytics pour estimer le volume facturable de vos entrées de journal. Vous pouvez écrire des requêtes qui indiquent et agrégent votre volume facturable en fonction de différentes dimensions, comme le type de ressource ou le nom de l'application, puis représenter les résultats de la requête sous forme de graphique.
Obtenir le volume facturable à l'aide d'une requête
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 vos journaux, consultez les documents suivants:
Cloud Billing utilise le volume facturable pour déterminer vos coûts. Vous pouvez donc écrire 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 associer le volume facturable au coût, consultez la section Synthèse des tarifs Cloud Logging et Tarifs de Cloud Logging.
Le volume facturable d'une entrée de journal n'est 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
Cette section décrit les étapes à suivre avant de pouvoir utiliser Log Analytics.
Configurer des buckets de journaux
Assurez-vous que vos buckets de journaux ont été mis à niveau pour utiliser l'Analyse 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.
- Pour chaque bucket de journaux pour lequel vous souhaitez interroger une vue de journaux, assurez-vous que la colonne Log Analytics disponible affiche Ouvrir. Si l'option Mettre à niveau s'affiche, cliquez sur Mettre à niveau et remplissez la boîte de dialogue.
Configurer les rôles et les autorisations IAM
Cette section décrit les rôles ou autorisations IAM requis pour utiliser Log Analytics:
-
Pour obtenir les autorisations nécessaires pour utiliser Log Analytics et interroger les vues de journaux, demandez à votre administrateur de vous accorder 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 toutes les vues de journaux d'un projet :
Accesseur de vues de journaux (
roles/logging.viewAccessor
)
Vous pouvez limiter un principal à une vue de journaux spécifique en ajoutant une condition IAM à l'attribution du rôle "Accès aux vues de journaux" effectuée au niveau du projet ou en ajoutant une liaison IAM au fichier de stratégie de la vue de journaux. Pour en savoir plus, consultez la page Contrôler l'accès à une vue de journal.
Il s'agit des mêmes autorisations dont vous avez besoin pour afficher les entrées de journal sur la page Explorateur de journaux. Pour en savoir plus sur les rôles supplémentaires dont vous avez besoin pour interroger des vues sur des buckets définis par l'utilisateur ou pour interroger la vue
_AllLogs
du bucket de journaux_Default
, consultez la section Rôles Cloud Logging. -
Pour interroger les buckets de journaux
Exemples de requêtes
Cette section fournit des exemples de requêtes qui analysent les données d'une seule vue de journaux.
Si vous stockez des données dans plusieurs vues de journaux et si vous souhaitez calculer des 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 Log Analytics ou de n'importe quel endroit où vous pouvez interroger des ensembles de données BigQuery, y compris les pages BigQuery Studio et Looker Studio, ainsi que l'outil de ligne de commande bq.
Pour utiliser les exemples de requêtes, procédez comme suit :
Page Log Analytics: remplacez TABLE_NAME_OF_LOG_VIEW par le nom de la vue des journaux. Il a le format suivant :
project_ID.region.bucket_ID.view_ID
.Ensembles de données BigQuery: remplacez TABLE_NAME_OF_LOG_VIEW par le chemin d'accès à la table dans l'ensemble de données associé.
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 qui comportent 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_NAME_OF_LOG_VIEW`
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 forme de graphique à barres empilées. Chaque barre du graphique affiche le nombre total d'octets stockés, organisé par application. Dans cet exemple, l'application frontend
génère le plus de données de journal:
Requête de volume de journal par nom de journal
Pour lister le nombre d'octets stockés et le nom du journal pour chaque entrée de journal contenant 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_NAME_OF_LOG_VIEW`
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, une ligne est associée à chaque entrée de journal, et cette ligne contient un nom de journal et le nombre d'octets stockés. Si vous représentez ces données sous forme de graphique, vous pouvez visualiser la partie de vos données de journal é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_NAME_OF_LOG_VIEW`'
Le résultat de cette requête se présente comme suit:
+----------+---------------+
| 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 de cette entrée de journal.
Limites
Le champ storage_bytes
n'est disponible que si 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 Log Analytics ou partout où vous pouvez interroger des ensembles de données BigQuery, y compris les pages BigQuery Studio et Looker Studio, ainsi que l'outil de ligne de commande bq.
L'entrée de journal a été écrite le 1er janvier 2024 ou à une date ultérieure.