Configura le etichette nelle metriche basate su log

Questo documento illustra le etichette delle metriche basate su log e spiega come creare e utilizzare le etichette sulle metriche dei log.

Se hai familiarità con le etichette, puoi andare direttamente alla Crea un'etichetta in questa pagina.

Panoramica delle etichette per le metriche basate su log

Le etichette consentono alle metriche basate su log di contenere più serie temporali, una per ciascuna una combinazione di valori di etichette. Tutte le metriche basate su log includono alcune etichette predefinite.

Puoi creare etichette aggiuntive definite dall'utente sia nel controtipo che le metriche di tipo di distribuzione specificando le espressioni di estrazione. Un estrattore indica a Cloud Logging come estrarre il valore dell'etichetta dal log le voci corrispondenti. Puoi specificare il valore dell'etichetta in uno dei seguenti modi:

  • L'intero contenuto di un campo denominato LogEntry.
  • Parte di un campo denominato che corrisponde a un'espressione regolare (regexp).

Puoi estrarre le etichette I campi integrati LogEntry, ad esempio httpRequest.status, o da uno dei campi del payload textPayload, jsonPayload o protoPayload.

Per informazioni sulle espressioni regolari, vedi Sintassi RE2.

Non inserire informazioni sensibili nell'espressione estrattore e non estrarre e inserire dati sensibili in etichette. Queste informazioni vengono trattate come dati di servizio.

Limitazioni delle etichette definite dall'utente

Alle etichette definite dall'utente si applicano le seguenti limitazioni:

  • Puoi creare fino a 10 etichette definite dall'utente per metrica.

  • Dopo aver creato un'etichetta, non puoi più eliminarla.

    • Puoi modificare l'espressione dell'estrattore e la descrizione dell'etichetta che hai già creato.

    • Non puoi modificare il nome o il tipo di valore di un'etichetta già esistente è stato creato.

  • Solo i primi 1024 caratteri di un valore di etichetta sono mantenuti.

  • Ogni metrica basata su log è limitata a circa 30.000 metriche attive serie temporali, che dipende dal numero di possibili valori per ogni incluse le etichette predefinite.

    Ad esempio, se le voci di log provengono da 100 risorse, come VM di Compute Engine, e definisci un'etichetta con 20 valori possibili, può avere fino a 2000 serie temporali per la tua metrica.

Se hai troppe serie temporali o troppi punti dati, i costi aumenteranno e la tua attività potrebbe essere limitata. Per ulteriori informazioni sul costo le metriche basate su log, consulta Prezzi di Cloud Monitoring: metriche addebitabili. Per informazioni sui limiti che si applicano alle metriche basate su log, consulta Quote e limiti: metriche basate su log e Risolvi i problemi relativi alle metriche basate su log.

Etichette predefinite

Tutte le metriche basate su log sono dotate di alcune etichette predefinite:

  • Etichette delle risorse: tutte le metriche utilizzano un oggetto risorsa monitorata per identificare l'origine dei dati delle serie temporali. Ogni tipo di risorsa include un nome del tipo una o più etichette. Esempi di tipi di risorse sono: istanze VM, database Cloud SQL, bilanciatori del carico ecc.

    La risorsa e le relative etichette sono elencate separatamente dalle altre etichette di metrica in Cloud Monitoring, ma hanno lo stesso effetto: creano altre serie temporali nella metrica. Per ulteriori informazioni, consulta Metriche, serie temporali e risorse.

  • log: questa etichetta contiene il valore della parte LOG_ID del logName nelle voci di log.

  • severity: questa etichetta contiene il valore del campo severity nel log le voci corrispondenti. L'etichetta di gravità è fornita per impostazione predefinita solo in metriche basate su log di sistema.

Esempio: utilizzare Metrics Explorer

Il seguente screenshot di Metrics Explorer mostra le etichette su uno dei le metriche basate su log di sistema. Per visualizzare l'elenco delle etichette, fai clic all'interno Casella di testo Filtro:

Esplora metriche

Lo screenshot mostra le seguenti informazioni:

  • Esplora metriche utilizza le serie temporali di logging/log_entry_count e il tipo di risorsa gce_instance: VM di Compute Engine di Compute Engine.

    Questa metrica contiene anche le serie temporali di altri tipi di risorse, ma Metrics Explorer consente di visualizzare un solo tipo di risorsa alla volta.

  • Il tipo di risorsa gce_instance ha tre etichette delle risorse: project_id, instance_id e zone.

  • La metrica ha due etichette delle metriche: log e severity. Il tuo anche le etichette definite dall'utente.

Crea un'etichetta

Puoi creare etichette definite dall'utente al momento della creazione della metrica. Entrambe le metriche del contatore e metriche di distribuzione possono avere etichette. Non puoi aggiungere etichette al sistema basate su log.

Console

  1. Quando crea una metrica basata su log, Il riquadro Crea metrica di log include un'opzione per aggiungere etichette.

  2. Fai clic su Aggiungi etichetta.

    Suggerimento: per visualizzare i campi e i valori all'interno di una voce di log, esegui la seguenti:

    1. Nella sezione Selezione filtro, fai clic su Anteprima log.
    2. Nel riquadro Visualizza log, scegli una voce di log e fai clic sul pulsante espansione accanto.
    3. Fai clic su Espandi campi nidificati.
  3. Imposta i seguenti campi nella sezione Etichette:

    1. Nome etichetta: inserisci un nome per l'etichetta. Ad esempio, ID.

      Il nome deve soddisfare i seguenti criteri:

      • Deve avere una lunghezza massima di 100 caratteri.
      • Trova l'espressione regolare [a-zA-Z][a-zA-Z0-9_]*.
      • Consistono in qualcosa di più della sola stringa "log".
    2. Descrizione: descrivi l'etichetta. Cerca di essere il più specifico possibile possibili circa il formato dei valori previsti dei log. Ad esempio: Instance number.

    3. Tipo di etichetta: scegli Stringa, Booleano o Numero intero.

    4. Nome campo: inserisci il nome del campo di voce di log che contiene il valore dell'etichetta. Durante la digitazione ti vengono offerte delle opzioni. In questo esempio, il campo è:

      labels."compute.googleapis.com/resource_id"
      
    5. Espressione regolare: se il valore dell'etichetta è costituito da l'intero contenuto del campo, puoi lasciare vuoto questo campo. Altrimenti, specifica un gruppo di acquisizione regexp che estragga il parametro il valore dell'etichetta dal valore del campo.

      Ad esempio, supponiamo che il campo in genere contenga testo simile al seguenti:

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

      Se vuoi che il valore dell'etichetta sia il numero di istanza, ci sono molte espressioni regolari per estrarre il numero corretto. Ad esempio, nell'espressione seguente, le parentesi sono un acquisire un gruppo che identifica la parte di testo che estratti:

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

      Per ulteriori informazioni sulle espressioni regolari, vedi Sintassi RE2.

  4. Fai clic su Fine per creare l'etichetta. Puoi aggiungere altre etichette ripetendo questi passaggi.

  5. Per completare la creazione della metrica, fai clic su Crea metrica.

gcloud

Per creare una metrica basata su log con etichette personalizzate, devi creare un file contiene una rappresentazione della definizione di LogMetric in Formato JSON o YAML, incluse le etichette personalizzate. Poi, crea la metrica chiamando il comando create con il flag --config-from-file, sostituendo FILENAME con il nome del tuo file JSON o YAML:

gcloud logging metrics create metric_name --config-from-file FILENAME

Per ulteriori informazioni, vedi gcloud logging metrics create.

API

Le etichette sono specificate come parte dell'oggetto LogMetric nel corpo della richiesta di chiamate al metodo projects.metrics.create l'API Logging. Per informazioni sulle chiamate di metodo complete, consulta la sezione Creare metriche dei contatori o la creazione di metriche di distribuzione.

Per ogni etichetta, devi aggiungere un segmento sia a metricDescriptor che a i campi labelExtractors di LogMetric.

La sintassi è la seguente:

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

Gli elementi di sintassi hanno il seguente significato:

  • LABEL_NAME: il nome dell'etichetta come stringa.
  • VALUE_TYPE: il tipo di etichetta: STRING, BOOL o INT64.
  • LABEL_DESCRIPTION: una descrizione dell'etichetta.
  • EXTRACTOR_EXPRESSION: una stringa che combina la voce di log con un'espressione regolare facoltativa. L'espressione estrattore può essere uno dei seguenti:

    EXTRACT(FIELD)
    
    REGEXP_EXTRACT(FIELD, REGEXP)
    

Per ulteriori informazioni sulle espressioni regolari, consulta Sintassi RE2.

Di seguito è riportato un esempio con due etichette:

{
  ...
  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)",
  },
}

Per maggiori dettagli, consulta il tipo LogMetric.