Libellés de métriques basées sur les journaux

Cette page présente les libellés par défaut des métriques basées sur les journaux, et explique comment créer et utiliser des libellés sur les métriques basées sur les journaux.

Si vous connaissez déjà le fonctionnement des libellés, vous pouvez accéder directement à la section Créer un libellé de cette page.

Présentation

Les libellés permettent aux métriques basées sur les journaux de contenir plusieurs séries temporelles (une pour chaque valeur de libellé). Toutes ces métriques possèdent des libellés par défaut.

Vous pouvez créer des libellés supplémentaires définis par l'utilisateur pour les métriques de compteur et de distribution, en spécifiant des expressions d'extracteur. Une expression d'extracteur indique à Stackdriver Logging comment extraire la valeur du libellé depuis les entrées de journal. Vous pouvez spécifier la valeur avec l'un des éléments suivants :

  • L'intégralité du contenu d'un champ nommé dans l'entrée de journal.
  • Une partie d'un champ nommé qui correspond à une expression régulière.

Vous pouvez extraire des libellés soit à partir des champs intégrés d'entrées de journal, tels que httpRequest.status, soit à partir des champs de charge utile textPayload, jsonPayload ou protoPayload.

Limites des libellés définis par l'utilisateur

Les valeurs extraites des libellés ne doivent pas être trop longues et chaque libellé ne doit pas comporter trop de valeurs différentes :

  • Vous pouvez créer jusqu'à 10 libellés définis par l'utilisateur par métrique.

  • Il n'est pas possible de supprimer un libellé après sa création.

    • Vous pouvez modifier l'expression d'extracteur et la description du libellé que vous avez déjà créé.

    • Vous ne pouvez pas modifier le nom ou le type de valeur d'un libellé que vous avez déjà créé.

  • Seuls les 1 024 premiers caractères d'une valeur de libellé sont conservés.

  • Chaque métrique basée sur les journaux est limitée à environ 30 000 séries temporelles actives. Cette limite dépend du nombre de valeurs possibles pour chaque libellé, y compris pour les libellés par défaut.

    Par exemple, si vos entrées de journal proviennent de 100 ressources différentes, telles que des instances de VM, et que vous définissez un libellé avec 20 valeurs possibles, votre métrique peut compter jusqu'à 2 000 séries temporelles.

Un nombre excessif de séries temporelles ou de points de données augmente vos coûts et risque de limiter votre activité. Pour plus d'informations sur le coût des métriques basées sur les journaux, consultez la page Tarifs de Stackdriver. Pour connaître les limites et les quotas relatifs aux métriques, consultez la page Quotas et limites et la section Dépannage.

Libellés par défaut

Toutes les métriques basées sur les journaux, y compris les métriques de journalisation système, contiennent des libellés prédéfinis :

  • Libellés de ressources : toutes les métriques utilisent un objet de ressource surveillée pour identifier la source des données de la série temporelle. Chaque type de ressource inclut un nom de type ainsi qu'un ou plusieurs libellés. Les instances de VM, les bases de données CloudSQL et les équilibreurs de charge constituent des exemples de types de ressources.

    La ressource et ses libellés sont répertoriés séparément des autres libellés de métrique dans Stackdriver Monitoring, mais ils ont le même effet : ils créent des séries temporelles supplémentaires dans la métrique. Pour en savoir plus, consultez la section Métriques, séries temporelles et ressources.

  • log : ce libellé contient la valeur de la partie LOG_ID du champ logName des entrées de journal.

  • severity : ce libellé contient la valeur du champ severity des entrées de journal.

Exemple

La capture d'écran suivante, tirée de l'explorateur de métriques, montre les libellés présents sur l'une des métriques basées sur les journaux système. Vous pouvez obtenir la liste des libellés en cliquant dans la zone de texte Filter (Filtre) :

Explorateur de métriques

La capture d'écran montre les informations suivantes :

  • L'explorateur de métriques utilise des séries temporelles issues de la métrique logging/log_entry_count et du type de ressource gce_instance (instances de VM Compute Engine).

    Cette métrique contient également des séries temporelles provenant d'autres types de ressources, mais l'explorateur ne vous permet de consulter qu'un seul type de ressource à la fois.

  • Le type de ressource gce_instance compte trois libellés de ressource : project_id, instance_id et zone.

  • La métrique comporte deux libellés de métrique : log et severity. Vos libellés définis par l'utilisateur apparaissent également dans cette section.

Créer un libellé

Vous pouvez créer des libellés définis par l'utilisateur lorsque vous créez la métrique. Les métriques de compteur et de distribution peuvent toutes deux avoir des libellés. Par contre, vous ne pouvez pas ajouter de libellés aux métriques basées sur les journaux système.

Console Logging

  1. Lors de la création d'une métrique basée sur les journaux, une partie du panneau Éditeur de métriques inclut une option permettant d'ajouter des libellés :

    Menu Libellé

  2. Cliquez sur Add item (Ajouter un élément). Le formulaire suivant s'affiche (celui illustré ci-dessous est déjà rempli) et vous permet de décrire votre libellé :

    Créer un libellé

    Conseil : Pour voir tous les champs et toutes les valeurs de vos entrées de journal, sélectionnez-en une et cliquez sur l'icône de développement à côté de l'entrée, puis sur Tout développer.

  3. Remplissez les champs suivants du formulaire Label (Libellé) :

    1. Name (Nom) : choisissez un nom pour le libellé. Par exemple : ID.

      Le nom doit respecter les critères suivants :

      • Ne pas dépasser 100 caractères
      • Respecter le format d'expression régulière [a-zA-Z][a-zA-Z0-9_]*
      • Inclure d'autres chaînes en plus de la chaîne "log"
    2. Description : décrivez le libellé. Soyez aussi précis que possible sur le format des valeurs de journal attendues. Par exemple : Instance number.

    3. Label type (Type de libellé) : choisissez Chaîne, Booléen ou Entier.

    4. Field name (Nom du champ) : saisissez le nom du champ d'entrée de journal qui contient la valeur du libellé. Des suggestions sont affichées à mesure que vous saisissez des caractères. Dans cet exemple, le champ est :

      labels."compute.googleapis.com/resource_id"
      
    5. Extraction regular expression (Expression régulière d'extraction) : si la valeur de votre libellé comprend tout le contenu du champ, vous pouvez laisser ce champ vide. Sinon, spécifiez une expression régulière (regexp) qui extrait la valeur du libellé de la valeur du champ. Supposons par exemple que le champ contienne généralement un texte semblable à celui-ci :

      The instance number is 0123456789; the ID is my-test-instance22
      

      Si vous souhaitez que la valeur du libellé soit le numéro de l'instance, il existe de nombreuses expressions régulières qui pourront extraire le nombre correct. En voici une :

      The instance number is ([0-9]+); .*
      

      Les parenthèses, connues sous le nom de groupe de capture de l'expression régulière, permettent d'identifier la partie de la correspondance de texte qui sera extraite. Pour en savoir plus sur les expressions régulières, consultez la section Syntaxe RE2.

  4. Cliquez sur Done (OK) pour créer le libellé. Vous pouvez ajouter d'autres libellés en répétant ces étapes.

API Logging

Les libellés sont spécifiés comme faisant partie de l'objet LogMetric dans le corps de requête des appels à la méthode projects.metrics.create de l'API Stackdriver Logging. Pour en savoir plus sur les appels de méthode complets, consultez la page Créer des métriques de compteur ou Créer des métriques de distribution.

Pour chaque libellé, vous devez ajouter un segment aux champs metricDescriptor et labelExtractors dans l'objet LogMetric.

La syntaxe est la suivante :

{
  ...
  metricDescriptor: {
      labels: [
        { key: [LABEL_NAME], valueType: [LABEL_TYPE],
          description: [LABEL_DESCRIPTION] },
        ...
      ]
  },
  labelExtractors: {
    [LABEL_NAME]: [EXTRACTOR_EXPRESSION],
    ...
  },
}

Les éléments de syntaxe ont la signification suivante :

  • [LABEL_NAME] : nom du libellé en tant que chaîne.
  • [VALUE_TYPE] : type de libellé (STRING, BOOL ou INT64).
  • [LABEL_DESCRIPTION] : description du libellé.
  • [EXTRACTOR_EXPRESSION] : chaîne qui combine le nom du champ de l'entrée de journal et une expression régulière facultative. Choisissez l'une des options suivantes :

    EXTRACT([FIELD])
    REGEXP_EXTRACT([FIELD], [REGEXP])
    

Voici un exemple avec deux libellés :

{
  ...
  metricDescriptor: {
      labels: [
        { key: "label_name_a", valueType: STRING },
        { key: "label_name_b", valueType: INT64 },
      ]
  },
  labelExtractors: {
    "label_name_a":
      "REGEXP_EXTRACT(jsonPayload.field_a, \"before ([a-zA-Z ]+) after\"",
    "label_name_b": "EXTRACT(jsonPayload.field_b)",
  },
}

Pour plus de détails, reportez-vous au type LogMetric.

SDK Cloud

Pour obtenir des instructions sur la création d'une métrique basée sur les journaux avec des libellés à l'aide du SDK Cloud, accédez à la page gcloud beta logging metrics create.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Stackdriver Logging
Besoin d'aide ? Consultez notre page d'assistance.