Questo documento spiega come creare una metrica dei contatori basata su log utilizzando la console Google Cloud, l'API Logging e Google Cloud CLI.
Le metriche dei contatori conteggiano il numero di voci di log corrispondenti a un determinato filtro. Ad esempio, puoi creare una metrica basata su log che conteggia il numero di voci di log contenenti un messaggio di errore specifico. Le metriche basate su log possono essere applicate all'interno di un singolo progetto Google Cloud o di un bucket di log.
Per una panoramica delle metriche basate su log, consulta la panoramica delle metriche basate su log.
Prima di iniziare
Per utilizzare le metriche basate su log, devi disporre di un progetto Google Cloud con la fatturazione abilitata:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Assicurati che il tuo ruolo Identity and Access Management includa le autorizzazioni necessarie per creare e visualizzare le metriche basate su log e per creare criteri di avviso. Per maggiori dettagli, consulta Autorizzazioni per le metriche basate su log.
Creare una metrica basata su log di tipo contatore
La metrica conteggia le voci di log identificate da un filtro specificato. Puoi utilizzare le espressioni regolari nel filtro e ti consigliamo di includere un tipo di risorsa. La lunghezza di un filtro non può superare i 20.000 caratteri.
Non inserire informazioni sensibili nel filtro. I filtri vengono trattati come dati di servizio.
Per creare una metrica contatore nella console Google Cloud del tuo progetto Google Cloud:
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Fai clic su Crea metrica. Viene visualizzato il riquadro Crea metrica di log.
Imposta il Tipo di metrica: seleziona Contatore.
Imposta i seguenti campi nella sezione Dettagli:
- Nome metrica basata su log: scegli un nome univoco tra le metriche basate su log nel tuo progetto Google Cloud. Sono previste alcune limitazioni per i nomi. Per maggiori dettagli, consulta la sezione Risoluzione dei problemi.
- Descrizione: inserisci una descrizione per la metrica.
- Unità: lascia vuoto questo campo o inserisci la cifra 1.
Definisci il filtro delle metriche nella sezione Selezione filtro.
Utilizza il menu Seleziona progetto o bucket di log per scegliere se la metrica conteggia le voci di log nel tuo progetto Google Cloud o solo quelle voci di log in un bucket di log specifico.
Crea un filtro che raccolga solo le voci di log che vuoi conteggiare nella metrica utilizzando il linguaggio di query di Logging. Puoi anche utilizzare le espressioni regolari per creare i filtri della metrica.
Per vedere quali voci di log corrispondono al filtro, fai clic su Visualizza l'anteprima dei log.
(Facoltativo) Aggiungi un'etichetta nella sezione Etichette. Per istruzioni su come creare le etichette, consulta Creare un'etichetta.
Fai clic su Crea metrica per creare la metrica.
Puoi creare una metrica basata su log senza etichette personalizzate utilizzando il seguente comando:
gcloud logging metrics createMETRIC_NAME \ --description="METRIC_DESCRIPTION " \ --log-filter="FILTER " \ [--bucket-name="BUCKET_NAME "]
Ad esempio, il seguente comando crea una metrica basata su log a livello di progetto chiamata error_count
.
gcloud logging metrics create error_count \ --description "Errors in syslog." \ --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"
Per creare una metrica basata su log basata su bucket, fornisci il flag --bucket_name
:
gcloud logging metrics create error_count \ --description "Errors in syslog." \ --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \ --bucket-name projects/my-project/locations/global/buckets/my-test-bucket
Per istruzioni su come creare le etichette, consulta Configurare le etichette nelle metriche basate su log.
Per creare una metrica del contatore, utilizza il metodo
projects.metrics.create
dell' API Logging. Se utilizzi il riquadro Explorer API nella pagina di riferimento, prepara gli argomenti come segue:
Imposta il campo parent sul progetto o sul bucket in cui deve essere creata la metrica:
- Per una metrica basata su log con ambito di progetto, specifica il progetto:
projects/
PROJECT_ID - Per una metrica basata su log basata su bucket, specifica il bucket:
projects/
PROJECT_ID /locations/LOCATION /bucket/BUCKET_ID Imposta il corpo della richiesta su un oggetto
LogMetric
. Di seguito è riportato un oggetto di esempio per una metrica del contatore:{ name: "my-metric" description: "This is my metric." filter: "resource.type=gce_instance AND log_id(\"syslog\")", metricDescriptor: { labels: [ { key: "my-label", valueType: STRING, description: "This is my label.", } ] }, labelExtractors: { "my-label": "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")", ... }, }
Note:
Scegli un nome univoco per le metriche basate su log nel tuo progetto. Sono previste alcune limitazioni per i nomi. Per informazioni dettagliate, consulta la sezione Risoluzione dei problemi.
Per le metriche del contatore, i campi
LogMetric
valueExtractor
ebucketOptions
non hanno scopo e vengono omessi.Se la metrica non ha etichette, puoi omettere i campi
metricDescriptor
elabelExtractors
. Se la metrica ha etichette, consulta le etichette delle metriche basate su log per un'introduzione alle etichette e per informazioni dettagliate sulla loro creazione nell'API.
Per ulteriori dettagli, consulta il tipo LogMetric
.
Latenza delle nuove metriche
La nuova metrica viene visualizzata immediatamente nell'elenco delle metriche di Esplora log e nei menu di monitoraggio pertinenti. I dati sono solitamente disponibili in meno di un minuto.
Controllare le metriche basate su log
Per elencare le metriche basate su log definite dall'utente nel tuo progetto Google Cloud o per esaminare una determinata metrica nel tuo progetto Google Cloud:
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel riquadro Metriche definite dall'utente, vengono visualizzate le metriche basate su log definite dall'utente nel progetto Google Cloud corrente:
Per visualizzare i dati in una metrica basata su log, fai clic sul pulsante more_vert Menu nella riga della metrica e seleziona Visualizza in Esplora metriche.
Per elencare le metriche basate su log definite dall'utente nel progetto Google Cloud, utilizza il seguente comando:
gcloud logging metrics list
Per visualizzare una metrica basata su log definita dall'utente nel tuo progetto Google Cloud, utilizza il seguente comando:
gcloud logging metrics describeMETRIC_NAME
Per ricevere assistenza, utilizza il seguente comando:
gcloud logging metrics --help
Non puoi leggere i dati delle serie temporali di una metrica da Google Cloud CLI.
Elenca metriche
Per elencare le metriche basate su log definite dall'utente in un progetto Google Cloud, utilizza il metodo dell'API projects.metrics.list
.
Compila i parametri del metodo come segue:
- parent: il nome della risorsa del progetto Google Cloud:
projects/PROJECT_ID
. - pageSize: il numero massimo di risultati.
- pageToken: recupera la pagina di risultati successiva. Per informazioni sull'utilizzo dei token pagina, consulta
projects.metrics.list
.
Recuperare le definizioni delle metriche
Per recuperare una singola metrica basata su log definita dall'utente, utilizza il metodo API
projects.metrics.get
.
Compila i parametri del metodo come segue:
metricName: il nome della risorsa della metrica:
projects/
PROJECT_ID /metrics/METRIC_ID
Lettura dei dati delle metriche
Per leggere i dati delle serie temporali in una metrica basata su log, utilizza
projects.timeseries.list
nell'
API Cloud Monitoring.
Per informazioni dettagliate sui dati delle serie temporali, consulta
Lettura delle serie temporali.
Per leggere una singola metrica basata su log definita dall'utente, compila i parametri del metodo con questo tipo di metrica e identificatore:
logging.googleapis.com/user/METRIC_ID
Aggiornare le metriche basate su log
Puoi modificare una metrica basata su log definita dall'utente per cambiarne la descrizione, il filtro e i nomi dei campi a cui fa riferimento. Puoi aggiungere nuove etichette alla metrica e modificare le espressioni regolari utilizzate per estrarre i valori per la metrica e le relative etichette. Se utilizzi una metrica basata su bucket, puoi anche aggiornare il bucket della metrica.
Non puoi modificare i nomi o i tipi di metriche basate su log definite dall'utente o le relative etichette e non puoi eliminare le etichette esistenti in una metrica basata su log.
Per modificare una metrica basata su log:
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Fai clic su Modifica metrica nel more_vert Menu per la metrica basata su log che vuoi modificare.
Modifica gli elementi consentiti nella metrica.
Fai clic su Aggiorna metrica.
Utilizza Google Cloud CLI per modificare la descrizione, la query di filtro e il bucket di una metrica del contatore. Puoi aggiornare uno o tutti i campi contemporaneamente.
gcloud logging updateMETRIC_NAME \ --description="METRIC_DESCRIPTION " \ --log-filter="FILTER " \ --bucket-name=BUCKET_NAME
Se modifichi il bucket associato a una metrica basata su bucket, tutti i dati delle metriche raccolti prima della modifica non riflettono più la configurazione corrente. I dati delle metriche raccolti per il bucket precedente non vengono rimossi.
Per aggiornare le metriche di distribuzione o altri campi delle metriche dei contatori, escluso METRIC_NAME, crea un file contenente la specifica rivista del tuo LogMetric
in formato JSON o YAML. Aggiorna quindi la metrica chiamando il comando update
con il campo --config-from-file, sostituendo update
con il nome del file JSON o YAML:FILENAME
gcloud logging updateMETRIC_NAME --config-from-fileFILENAME
Per maggiori dettagli, utilizza il seguente comando:
gcloud logging metrics update --help
Per modificare una metrica basata su log, utilizza il metodo
projects.metrics.update
nell'API.
Imposta i campi come segue:
metricName: il nome completo della risorsa della metrica:
projects/
PROJECT_ID /metrics/METRIC_ID Ad esempio:
projects/my-gcp-project/metrics/my-error-metric
Nel corpo della richiesta, includi un oggetto
LogMetric
che sia esattamente uguale alla metrica esistente, ad eccezione delle modifiche e delle aggiunte che vuoi apportare.
Eliminare le metriche basate su log
Per eliminare una metrica basata su log definita dall'utente:
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona la metrica da eliminare e fai clic su Elimina.
In alternativa, fai clic su Elimina metrica nel more_vert menu della metrica basata su log che vuoi eliminare.
Utilizza il seguente comando per eliminare una metrica basata su log definita dall'utente nel progetto Google Cloud corrente:
gcloud logging metrics deleteMETRIC_NAME
Per maggiori dettagli, utilizza il seguente comando:
gcloud logging metrics delete --help
Per eliminare una metrica basata su log definita dall'utente, utilizza il metodo
projects.metrics.delete
nell'API.
Inoltre, nella pagina Metrica basata su log della console Google Cloud, il riquadro Metriche definite dall'utente dell'interfaccia delle metriche basate su log fornisce altre funzionalità per aiutarti a gestire le metriche definite dall'utente nel tuo progetto Google Cloud. Per maggiori dettagli, consulta Metriche definite dall'utente.