Questo documento spiega come creare una metrica di tipo contatore basata su log utilizzando la console Google Cloud, l'API Logging e Google Cloud CLI.
Le metriche del contatore contano 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 in un singolo progetto Google Cloud o in un bucket di log.
Per una panoramica delle metriche basate su log, consulta Panoramica delle metriche basate su log.
Prima di iniziare
Per utilizzare le metriche basate su log, devi avere un progetto Google Cloud con la fatturazione abilitata:
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
Assicurati che il 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.
Crea una metrica di tipo contatore basata su log
La metrica conta le voci di log identificate da un filtro che fornisci. Puoi utilizzare 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 dei servizi.
Console
Segui questi passaggi per creare una metrica del contatore nella console Google Cloud nel tuo progetto Google Cloud:
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se usi 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 Details (Dettagli):
- Nome metrica di log: scegli un nome univoco tra le metriche basate su log nel progetto Google Cloud. Si applicano alcune restrizioni di denominazione. Per i dettagli, consulta 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.
Usa Seleziona ambito di log per scegliere se il filtro deve avere come target tutti i log del progetto Google Cloud o solo i log di un bucket 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 espressioni regolari per creare i filtri della metrica.
Per vedere quali voci di log corrispondono al filtro, fai clic su Anteprima log.
(Facoltativo) Aggiungi un'etichetta nella sezione Etichette. Per istruzioni sulla creazione di etichette, consulta Creazione di un'etichetta.
Fai clic su Crea metrica per creare la metrica.
gcloud
Puoi creare una metrica basata su log senza etichette personalizzate utilizzando il comando seguente:
gcloud logging metrics create metric_name
\
--description="METRIC_DESCRIPTION" \
--log-filter="FILTER" \
[--bucket-name="BUCKET_NAME"]
Ad esempio, il comando seguente crea una metrica basata su log con ambito a livello di progetto denominata 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 invece una metrica basata su log con ambito di 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 sulla creazione di etichette, consulta Creazione di un'etichetta.
API
Per creare una metrica del contatore, utilizza il metodo projects.metrics.create dell'API Logging. Puoi provare il metodo in Explorer API. Prepara gli argomenti per il metodo 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 a livello di progetto, specifica il progetto:
projects/PROJECT_ID
- Per una metrica basata su log con ambito a livello di 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 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 di metrica univoco tra le metriche basate su log del progetto. Si applicano alcune restrizioni di denominazione. Per i dettagli, consulta la sezione Risoluzione dei problemi.
Per le metriche 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 Etichette delle metriche basate su log per un'introduzione alle etichette e i dettagli sulla loro creazione nell'API.
Per maggiori 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 Monitoring pertinenti. In genere i dati sono disponibili in meno di un minuto.
Ispeziona le metriche basate su log
Per elencare le metriche basate su log definite dall'utente nel progetto Google Cloud o per ispezionare una determinata metrica nel progetto Google Cloud, segui questi passaggi:
Console
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel riquadro Metriche definite dall'utente, puoi vedere le metriche basate su log definite dall'utente nel progetto Google Cloud attuale:
Per visualizzare i dati in una metrica basata su log, fai clic sul Menu more_vert nella riga della metrica e seleziona Visualizza in Esplora metriche.
gcloud
Per elencare le metriche basate su log definite dall'utente nel tuo progetto Google Cloud, utilizza questo 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 describe metric_name
Per ricevere assistenza, utilizza questo comando:
gcloud logging metrics --help
Non puoi leggere i dati delle serie temporali di una metrica da Google Cloud CLI.
API
Elenca metriche
Per elencare le metriche basate su log definite dall'utente in un progetto Google Cloud, utilizza il metodo API projects.metrics.list. Inserisci 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: ottiene la pagina successiva di risultati. Per informazioni sull'uso dei token di 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. Inserisci i parametri nel metodo come segue:
metricName: il nome 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 maggiori dettagli sui dati delle serie temporali, consulta Lettura di 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
Aggiorna 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 viene fatto riferimento nella metrica. 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 con ambito a livello di 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:
Console
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Fai clic su Modifica metrica nel Menu more_vert della metrica basata su log da modificare.
Modifica gli elementi consentiti nella metrica.
Fai clic su Aggiorna metrica.
gcloud
Utilizza Google Cloud CLI per modificare la descrizione di una metrica contatore, filtrare query e bucket. Puoi aggiornare uno o tutti i campi contemporaneamente.
gcloud logging update metric_name
\
--description="METRIC_DESCRIPTION" \
--log-filter="FILTER" \
--bucket-name=BUCKET_NAME
Se modifichi il bucket associato a una metrica con ambito bucket, tutti i dati delle metriche raccolti prima della modifica non rifletteranno più la configurazione attuale. I dati delle metriche raccolti per il bucket precedente non vengono rimossi.
Per aggiornare le metriche di distribuzione o altri campi delle metriche contatore, escluso metric_name
, crea un file contenente la specifica aggiornata di LogMetric
in formato JSON o YAML. Quindi, aggiorna la metrica chiamando il comando update
con il campo --config-from-file, sostituendo FILENAME con il nome del tuo file JSON o YAML:
gcloud logging update metric_name
--config-from-file FILENAME
Per maggiori dettagli, utilizza il comando seguente:
gcloud logging metrics update --help
API
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, tranne che per le modifiche e le aggiunte che vuoi apportare.
Elimina metriche basate su log
Per eliminare una metrica basata su log definita dall'utente:
Console
-
Nella console Google Cloud, vai alla pagina Metriche basate su log:
Se usi 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 menu more_vert della metrica basata su log da eliminare.
gcloud
Utilizza il comando seguente per eliminare una metrica basata su log definita dall'utente nel progetto Google Cloud attuale:
gcloud logging metrics deletemetric_name
For more details, use the following command:gcloud logging metrics delete --help
API
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 offre ulteriori funzionalità che consentono di gestire le metriche definite dall'utente nel progetto Google Cloud. Per maggiori dettagli, consulta il riquadro Metriche definite dall'utente.