Présentation des métriques basées sur les journaux

Cette page présente les concepts liés aux métriques basées sur les journaux. Ces métriques peuvent vous aider à observer les tendances et les schémas dans un grand volume d'entrées de journal.

À propos des métriques basées sur les journaux

Les métriques basées sur les journaux sont des métriques Cloud Monitoring dérivées du contenu des entrées de journal. Par exemple, vous pouvez utiliser une métrique basée sur les journaux pour compter le nombre d'entrées de journal contenant un message particulier ou pour extraire les informations de latence enregistrées dans les entrées de journal. Vous pouvez afficher les métriques basées sur les journaux dans les graphiques Cloud Monitoring, et les règles d'alerte peuvent surveiller ces métriques.

Les métriques basées sur les journaux peuvent s'appliquer au niveau du projet ou du bucket de journaux. Les métriques basées sur les journaux à l'échelle du bucket sont utiles lorsque vous utilisez des collecteurs agrégés pour acheminer des entrées de journal vers un bucket de journaux, et lorsque vous acheminez des entrées de journal d'un projet vers un bucket de journaux dans un autre projet. Pour en savoir plus, consultez la section Sources des métriques basées sur les journaux sur cette page.

Comment les valeurs de série temporelle pour les métriques basées sur les journaux sont-elles déterminées ?

Cette section décrit brièvement comment les valeurs d'une série temporelle pour une métrique basée sur les journaux de type "compteur" sont déterminées. Il explique également pourquoi une série temporelle pour une métrique basée sur les journaux peut comporter des lacunes. Le processus est similaire pour les métriques basées sur les journaux avec valeur de distribution.

Pour les métriques basées sur les journaux de type compteur, Logging effectue les opérations suivantes :

  1. Il crée un ou plusieurs flux de données et, pour chacun d'eux, gère un ensemble de compteurs en mémoire.

    Il existe un flux pour chaque combinaison de valeurs uniques pour l'ensemble de libellés de métriques et de ressources. Chaque compteur en mémoire correspond à un intervalle de temps différent, mais chaque compteur enregistre le nombre d'entrées de journal correspondant au filtre et dont le code temporel correspond à l'intervalle.

  2. Chaque minute et pour chaque flux, le backend Logging utilise les valeurs des compteurs en mémoire pour déterminer comment mettre à jour une série temporelle gérée par Cloud Monitoring.

    S'il y a cinq flux, cela signifie que cinq séries temporelles sont gérées par Monitoring. Vous pouvez représenter ces séries temporelles sous forme de graphique. Vous pouvez également créer des règles d'alerte pour surveiller ces séries temporelles.

Exemple : Comment les valeurs nulles peuvent entraîner des lacunes dans les données

Prenons l'exemple de la série temporelle suivante :

Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)

Dans l'expression précédente, (T1, -) signifie qu'aucune valeur n'a été écrite pour l'heure T1. Cela correspond à un écart dans les valeurs de la série temporelle. En revanche, (T3, 0) signifie que la valeur de la série temporelle à l'heure T3 est nulle.

Pour chaque flux, le système de backend des métriques basées sur les journaux utilise les règles suivantes pour déterminer la valeur à écrire dans la série temporelle stockée par Monitoring :

  • Lorsque le nombre agrégé pour un intervalle est non nul, cette valeur est écrite dans la série temporelle.

    Dans l'exemple de série temporelle, seul l'intervalle T4 a une valeur non nulle. La valeur 1 indique qu'une entrée de journal dont le code temporel correspond à l'intervalle T4 correspond au filtre de la métrique basée sur les journaux.

  • Lorsque le nombre agrégé pour un intervalle est nul, une valeur nulle est écrite dans la série temporelle lorsqu'un intervalle adjacent a une valeur non nulle.

    Dans l'exemple de série temporelle, à l'heure T3, le nombre agrégé est nul. Toutefois, une valeur de zéro est écrite, car au moment T4, le nombre agrégé est non nul. De même, à l'heure T5, le nombre agrégé est nul. La valeur 0 est écrite dans la série temporelle, car la valeur de l'intervalle précédent était non nulle.

  • Sinon, la série temporelle n'est pas mise à jour et il y a un manque de données pour l'intervalle.

    Dans l'exemple de série temporelle, il n'y a aucune valeur pour les intervalles T1, T2 et T6. Dans ces intervalles, les nombres agrégés étaient nuls, tout comme ceux des intervalles adjacents.

Gestion des entrées de journal tardives et futures

Lorsque des entrées de journal arrivent avec un code temporel pour un intervalle qui a été traité, le backend Logging génère des données historiques. Les données historiques sont utilisées pour mettre à jour les nombres écrits précédemment.

Lorsque des entrées de journal arrivent avec un code temporel futur, le backend Logging cumule ces nombres. Dans la série temporelle, ces entrées de journal sont comptabilisées lorsque leur code temporel correspond à l'intervalle actuel.

Sources des métriques basées sur les journaux

Vous pouvez utiliser les métriques définies par Cloud Logging pour collecter des informations générales sur l'utilisation. Vous pouvez également définir votre propre métrique basée sur les journaux pour capturer des informations spécifiques à votre application ou votre entreprise.

Les métriques basées sur les journaux peuvent s'appliquer à un seul projet Google Cloud ou à un bucket de journaux. Vous ne pouvez pas créer de métriques basées sur les journaux pour d'autres ressources Google Cloud , telles que les comptes Cloud Billing ou les organisations.

Pour en savoir plus sur les différences entre les métriques basées sur les journaux au niveau du projet et celles au niveau du bucket, consultez Métriques basées sur les journaux à portée de bucket.

Métriques définies par le système

Logging fournit un ensemble de métriques pour les valeurs d'utilisation, telles que le nombre d'entrées de journal stockées dans les buckets de journaux de votre projet ou le nombre d'octets que vous avez exportés. Pour obtenir la liste complète des métriques définies par le système, consultez Google Cloud  métriques : journalisation.

Les métriques basées sur les journaux définies par le système s'appliquent au niveau du projet.

Le routeur de journaux comptabilise une entrée de journal lorsque toutes les conditions suivantes sont remplies :

  • L'entrée de journal transite par les récepteurs de journaux du projet dans lequel la métrique basée sur les journaux est définie.
  • L'entrée de journal est stockée dans un bucket de journaux. Le bucket de journaux peut se trouver dans n'importe quel projet.

    Par exemple, supposons que le projet A comporte un récepteur de journaux dont la destination est le projet B. Supposons également que les récepteurs de journaux du projet B acheminent les entrées de journal vers un bucket de journaux. Dans ce scénario, les entrées de journal acheminées du projet A vers le projet B contribuent aux métriques basées sur les journaux définies par le système du projet A. Ces entrées de journal contribuent également aux métriques basées sur les journaux définies par le système du projet B.

Métriques définies par l'utilisateur

Vous pouvez créer des métriques basées sur les journaux définies par l'utilisateur pour suivre d'autres métriques importantes pour votre projet. Par exemple, vous pouvez créer une métrique basée sur les journaux pour compter le nombre d'entrées de journal correspondant à un filtre donné.

Par défaut, les métriques basées sur les journaux définies par l'utilisateur sont calculées à partir de tous les journaux reçus par l'API Logging pour le projet Google Cloud , quels que soient les filtres d'inclusion ou les filtres d'exclusion pouvant s'appliquer au projetGoogle Cloud .

Vous pouvez également créer des métriques basées sur les journaux définies par l'utilisateur pour un bucket de journaux spécifique dans un projet Google Cloud . Les métriques basées sur les journaux et de portée bucket sont calculées à partir de tous les journaux destinés au bucket, quelle que soit leur origine. Pour en savoir plus, consultez Métriques basées sur les journaux dans les buckets de journaux.

Le routeur de journaux comptabilise une entrée de journal lorsque toutes les conditions suivantes sont remplies :

  • La facturation est activée pour le projet dans lequel la métrique basée sur les journaux est définie.
  • Pour les métriques à l'échelle du bucket, l'entrée de journal est stockée dans le bucket de journaux où la métrique basée sur les journaux est définie.
  • Pour les métriques à l'échelle du projet, l'entrée de journal transite par les collecteurs de journaux du projet dans lequel la métrique basée sur les journaux est définie.

Types de données pour les métriques basées sur les journaux

Les métriques basées sur les journaux peuvent extraire des données des journaux pour créer des métriques des types suivants :

  • Compteur : ces métriques comptabilisent le nombre d'entrées de journal correspondant à un filtre spécifié au cours d'une période donnée. Utilisez des compteurs lorsque vous souhaitez suivre le nombre de fois qu'une valeur ou une chaîne apparaît dans vos journaux.
  • Distribution : ces métriques comptabilisent également les valeurs, mais elles les regroupent dans des plages de valeurs (buckets d'histogramme). Utilisez des distributions lorsque vous souhaitez extraire des valeurs telles que des latences.
  • Booléennes : ces métriques indiquent si une entrée de journal correspond ou non à un filtre spécifié.

Les métriques basées sur les journaux définies par l'utilisateur peuvent être de type compteur ou de type distribution. La plupart des métriques basées sur les journaux définies par le système sont des compteurs, mais certaines sont de type booléen. Les caractéristiques des compteurs et des distributions sont décrites plus en détail dans les sections suivantes.

Les données d'une métrique basée sur les journaux définie par l'utilisateur proviennent uniquement des entrées de journal reçues après la création de la métrique. Une métrique n'est pas renseignée de manière rétroactive avec les données des entrées de journal qui sont déjà présentes dans Logging.

Les métriques basées sur les journaux système ne sont calculées qu'à partir des journaux inclus. Les métriques basées sur les journaux définies par l'utilisateur sont calculées à partir des journaux inclus et exclus.

Les sections suivantes décrivent les caractéristiques des métriques de type compteur et de type distribution.

Métriques de compteur

Les métriques de compteur comptent le nombre d'entrées de journal correspondant à un filtre donné. Par exemple, vous pouvez effectuer les opérations suivantes :

  • Compter les entrées de journal contenant un certain message d'erreur.
  • Comptabiliser le nombre de fois qu'un utilisateur appelle une opération, en recherchant des messages de journaux correspondant à ce modèle :

    ... user USERNAME called OPERATION ...

    En extrayant USERNAME et OPERATION, et en les utilisant comme valeurs pour deux libellés, vous pouvez ensuite demander "Combien de fois l'utilisateur sally a-t-il appelé l'opération update ?, "Combien de personnes ont appelé l'opération read ?", "Combien de fois l'utilisateur george a-t-il appelé une opération ?", etc.

Pour en savoir plus, consultez la page Configurer les métriques de compteur.

Métriques de distribution

Les métriques de distribution accumulent des données numériques à partir des entrées de journal correspondant à un filtre. Les métriques comportent une série temporelle d'objets de distribution, chacun contenant les éléments suivants :

  • Un décompte du nombre de valeurs dans la distribution.
  • La moyenne des valeurs.
  • La somme des écarts au carré : Sumi=1..n(xi–moyenne)2
  • Un ensemble de buckets d'histogramme avec le nombre de valeurs dans chaque bucket. Vous pouvez utiliser la disposition de bucket par défaut ou choisir la vôtre.

Les métriques de distribution sont généralement utilisées pour suivre les latences. À la réception de chaque entrée de journal, une valeur de latence est extraite d'un emplacement quelconque de l'entrée de journal et ajoutée à la distribution. La distribution accumulée est écrite dans Cloud Monitoring, à intervalles réguliers.

Pour en savoir plus sur les distributions, y compris leur format dans une série temporelle et leur visualisation, consultez Représentation graphique des métriques de distribution.

Pour savoir comment créer des métriques de distribution basées sur les journaux, consultez Configurer les métriques de distribution.

Types de ressources

Nous vous recommandons de spécifier un seul type de ressource pour vos métriques basées sur les journaux. Cette spécification garantit que la série temporelle générée pour votre métrique basée sur les journaux correspond au modèle de données attendu par Cloud Monitoring. Il simplifie également la création de graphiques et de règles d'alerte, car il n'y a aucune ambiguïté quant aux données de série temporelle représentées ou surveillées.

Prenons l'exemple d'une métrique basée sur les journaux avec le filtre suivant :

severity>="ERROR"
resource.type="gce_instance"

Cloud Monitoring reconnaît que ces données concernent une instance de VM Compute Engine. Par conséquent, lorsque vous créez un graphique pour une instance de VM, votre métrique basée sur les journaux est listée comme option dans les menus. Lorsque vous créez un graphique pour un autre type de ressource, votre métrique basée sur les journaux n'est pas listée comme option.

Si vous créez une métrique basée sur les journaux sans spécifier de type de ressource, Monitoring liste votre métrique basée sur les journaux comme option pour plusieurs types de ressources, même si vous ne comptabilisez pas les entrées de ces ressources.

Étiquettes

Les métriques basées sur les journaux peuvent comporter des libellés permettant la collecte de plusieurs séries temporelles pour la métrique. Les valeurs des libellés sont extraites des champs des entrées de journal correspondantes. Logging enregistre des séries temporelles distinctes pour chaque combinaison de valeurs de libellés.

La plupart des métriques basées sur les journaux fournissent un libellé log par défaut. Ce libellé contient la valeur de la partie LOG_ID du champ logName de l'entrée de journal, par exemple cloudresourcemanager.googleapis.com%2Factivity.

Les métriques basées sur les journaux système présentent des libellés prédéfinis qui ne peuvent pas être modifiés.

Les métriques basées sur les journaux définies par l'utilisateur peuvent inclure des libellés que vous définissez. En règle générale, ces libellés extraient des valeurs des entrées de journal qui contribuent à la métrique basée sur les journaux.

Par exemple, vous pouvez utiliser des libellés dans la métrique basée sur les journaux pour enregistrer le dossier ou l'organisation à partir desquels une entrée de journal a été générée, même si les métriques basées sur les journaux à portée de bucket ne peuvent pas être créées pour les dossiers ou les organisations. Pour en savoir plus, consultez Libellés de métriques basées sur les journaux.

Graphiques et règles d'alerte dans Cloud Monitoring

Les métriques basées sur les journaux, tant les métriques système que celles définies par l'utilisateur, peuvent être utilisées dans Cloud Monitoring pour créer des graphiques et des règles d'alerte. Pour ces graphiques et règles d'alerte, vous pouvez utiliser des libellés pour filtrer ou combiner des séries temporelles. Par exemple, vous pouvez définir un filtre pour n'afficher que certaines séries temporelles. Pour en savoir plus, consultez Lister et représenter sous forme de graphique les métriques basées sur les journaux et Créer des alertes sur les métriques basées sur les journaux.

Dans Cloud Monitoring, les métriques basées sur les journaux utilisent les modèles de dénomination suivants :

  • Système : logging.googleapis.com/SYSTEM_METRIC_NAME
  • Définies par l'utilisateur : logging.googleapis.com/user/USER_METRIC_NAME

Notez que les métriques basées sur les journaux définies par l'utilisateur incluent la chaîne user.

Visibilité des champs d'application des métriques de Monitoring

Les métriques basées sur les journaux sont ingérées par Cloud Monitoring. La visibilité des données de métrique pour un projet Google Cloud est déterminée par un champ d'application des métriques. Un champ d'application des métriques est une liste de projets surveillés par le projet qui héberge le champ d'application des métriques. Le projet hôte est appelé projet de champ d'application.

Par défaut, chaque projet héberge un champ d'application de métriques qui n'inclut que lui-même. Un projet est donc un projet de champ d'application pour lui-même. Par conséquent, vos métriques, y compris celles basées sur les journaux, ne sont visibles que par votre projetGoogle Cloud .

Vous pouvez également créer un champ d'application des métriques multiprojets pour le projet de définition du champ d'application. Avec un champ d'application des métriques multiprojets, le projet de champ d'application peut voir les métriques de tous les projets dans le champ d'application des métriques. Ce qui est visible pour les projets individuels dans un champ d'application des métriques multiprojets est déterminé par le champ d'application des métriques hébergé par chacun de ces projets. Le fait que deux projets se trouvent dans un champ d'application de métriques multiprojet ne signifie pas que chaque projet a accès aux données de métriques ou de configuration de l'autre projet.

Un même projet peut également apparaître dans plusieurs champs d'application des métriques. Les métriques d'un tel projet sont visibles par les projets de champ d'application de chacun de ces champs d'application des métriques.

Les métriques, y compris celles basées sur les journaux, sont définies dans un projet spécifique. Lorsque ce projet apparaît dans plusieurs champs d'application des métriques, les métriques sont visibles par d'autres projets que celui dans lequel elles sont définies. Pour savoir comment les champs d'application des métriques et les métriques basées sur les journaux à champ d'application de bucket interagissent, consultez Projets et champs d'application des métriques.

Pour plus d'informations sur les champs d'application des métriques, y compris les champs d'application de métriques multiprojets et les projets de champ d'application, consultez les pages suivantes :

Limites

Vous ne pouvez pas créer de métriques basées sur les journaux qui comptent le nombre d'entrées de journal contenant un groupe d'erreurs. Vous ne pouvez pas non plus extraire l'ID d'un groupe d'erreurs dans un libellé associé à une métrique basée sur les journaux.

Tarifs

Toutes les métriques basées sur les journaux définies par l'utilisateur sont une classe de métriques personnalisées Cloud Monitoring. Elles sont payantes. Pour en savoir plus sur les tarifs, consultez la section Tarifs de Cloud Logging : métriques basées sur les journaux.

Quota

Pour en savoir plus sur les quotas et les limites associés aux métriques basées sur les journaux définies par l'utilisateur, consultez Quotas et limites.

Dépannage

Si vous rencontrez des problèmes lors de l'utilisation des métriques basées sur les journaux, consultez la page Résoudre les problèmes liés aux métriques basées sur les journaux.