Risolvi i problemi relativi alle metriche basate su log

Questa pagina fornisce informazioni sulla risoluzione dei problemi per gli scenari comuni quando si utilizzano metriche basate su log in Cloud Logging.

Impossibile visualizzare o creare metriche

Le metriche basate su log si applicano solo a un singolo progetto Google Cloud o a un bucket Logging all'interno di un progetto Google Cloud. Non puoi creare metriche basate su log per altre risorse Google Cloud come organizzazioni o account di fatturazione. Le metriche basate su log vengono calcolate per i log solo nel progetto o nel bucket Google Cloud in cui sono stati ricevuti.

Per creare metriche, devi disporre delle autorizzazioni corrette per Identity and Access Management. Per maggiori dettagli, consulta Controllo dell'accesso con IAM: metriche basate su log.

Nella metrica mancano i dati dei log

Esistono diversi possibili motivi per la mancanza di dati nelle metriche basate su log:

  • Le nuove voci di log potrebbero non corrispondere al filtro della metrica. Una metrica basata su log ottiene i dati dalle voci di log corrispondenti ricevute dopo la creazione della metrica. Logging non esegue il backfill della metrica delle voci di log precedenti.

  • Le nuove voci di log potrebbero non contenere il campo corretto oppure i dati potrebbero non essere nel formato corretto per l'estrazione in base alla metrica di distribuzione. Verifica che i nomi dei campi e le espressioni regolari siano corretti.

  • I conteggi delle metriche potrebbero subire ritardi. Anche se le voci di log conteggiabili vengono visualizzate in Esplora log, l'aggiornamento delle metriche basate su log in Cloud Monitoring potrebbe richiedere fino a 10 minuti.

  • Le voci di log visualizzate potrebbero essere conteggiate in ritardo o non essere conteggiate perché l'indicazione di data e ora è troppo lontana nel passato o nel futuro. Se una voce di log viene ricevuta da Cloud Logging più di 24 ore nell'ultimo periodo o in 10 minuti nel futuro, la voce di log non verrà conteggiata nella metrica basata su log.

    Il numero di voci in arrivo in ritardo viene registrato per ogni log nella metrica basata su log di sistema logging.googleapis.com/logs_based_metrics_error_count.

    Esempio: una voce di log corrispondente a una metrica basata su log arriva in ritardo. Ha un timestamp delle 14:30 del 20 febbraio 2020 e un receivedTimestamp delle 14:45 del 21 febbraio 2020. Questa voce non verrà conteggiata nella metrica basata su log.

  • La metrica basata su log è stata creata dopo l'arrivo delle voci di log che la metrica potrebbe conteggiare. Le metriche basate su log valutano le voci di log quando sono archiviate nei bucket di log. Queste metriche non valutano le voci di log archiviate in Logging.

Il tipo di risorsa è "non definito" in Cloud Monitoring

Alcuni tipi di risorse monitorate di Cloud Logging non sono mappati direttamente ai tipi di risorse monitorate di Cloud Monitoring. Ad esempio, quando crei per la prima volta un avviso o un grafico da una metrica basata su log, potresti vedere che il tipo di risorsa è "undefined".

Il tipo di risorsa non è definito.

Il tipo di risorsa monitorata viene mappato a global o a un altro tipo di risorsa monitorata in Cloud Monitoring. Consulta la pagina relativa ai mappature per le risorse solo di Logging per determinare il tipo di risorsa monitorata devi scegliere.

Avvisi falsi positivi o non attivati

Potresti ricevere avvisi falsi positivi o che non vengono attivati dalle metriche basate su log perché il periodo di allineamento per l'avviso è troppo breve. Scenari comuni in cui un periodo di allineamento troppo breve causa problemi quando un avviso utilizza una logica minore di o si basa su una condizione percentile per una metrica di distribuzione.

Potrebbero verificarsi avvisi falsi positivi perché le voci di log possono essere inviate in ritardo a Logging. Ad esempio, i campi del log timestamp e receiveTimestamp possono avere un delta di minuti in alcuni casi. Inoltre, quando Logging archivia i log nei bucket di log, si verifica un ritardo intrinseco tra il momento in cui vengono generate le voci di log e il momento in cui Logging le riceve. Ciò significa che Logging potrebbe non avere il conteggio totale per una determinata voce di log fino a un momento successivo alla generazione delle voci di log. Questo è il motivo per cui un avviso che utilizza una logica inferiore a o basato su una condizione percentile per una metrica di distribuzione può generare un avviso falso positivo: non tutte le voci di log sono state ancora prese in considerazione.

Tuttavia, le metriche basate su log sono sempre coerenti. Le metriche basate su log sono infine coerenti, perché una voce di log che corrisponde a una metrica basata su log può essere inviata a Logging con un valore timestamp significativamente più vecchio o più recente rispetto a receiveTimestamp del log.

Ciò significa che la metrica basata su log può ricevere voci di log con timestamp meno recenti dopo che le voci di log esistenti con lo stesso timestamp sono già state ricevute da Logging. Pertanto, il valore della metrica deve essere aggiornato.

Per garantire l'accuratezza degli avvisi anche per i dati puntuali, i criteri di avviso per le metriche basate su log devono utilizzare condizioni di avviso con periodi di allineamento maggiori o uguali a due minuti. Per le voci di log inviate a Logging con ritardi misurati in minuti, è consigliato un periodo di allineamento di dieci minuti per bilanciare tempestività e precisione.

La metrica ha troppe serie temporali

Il numero di serie temporali in una metrica dipende dal numero di diverse combinazioni di valori delle etichette. Il numero di serie temporali è chiamato cardinalità della metrica e non deve superare i 30.000.

Poiché puoi generare una serie temporale per ogni combinazione di valori delle etichette, se hai una o più etichette con un numero elevato di valori, non è difficile superare le 30.000 serie temporali. Vuoi evitare metriche ad alta cardinalità.

All'aumentare della cardinalità di una metrica, quest'ultima può essere limitata e alcuni punti dati potrebbero non essere scritti nella metrica. I grafici che mostrano la metrica possono essere caricati lentamente a causa dell'elevato numero di serie temporali che devono essere elaborate. Potrebbero esserti addebitati costi per le chiamate API per eseguire query sui dati delle serie temporali; consulta i costi di Cloud Monitoring per i dettagli.

Per evitare di creare metriche ad alta cardinalità:

  • Verifica che i campi delle etichette e le espressioni regolari dell'estrattore corrispondano ai valori con una cardinalità limitata.

  • Evita di estrarre come valori delle etichette messaggi di testo che possono cambiare, senza limiti.

  • Evita di estrarre valori numerici con cardinalità illimitata.

  • I valori vengono estratti solo dalle etichette con cardinalità nota, ad esempio i codici di stato con un insieme di valori noti.

Queste metriche basate su log di sistema possono aiutarti a misurare l'effetto dell'aggiunta o della rimozione di etichette sulla cardinalità della metrica:

Quando esamini queste metriche, puoi filtrare ulteriormente i risultati in base al nome della metrica. Per maggiori dettagli, consulta Selezione delle metriche: filtri.

Il nome della metrica non è valido

Quando crei una metrica di contatore o distribuzione, scegline un nome univoco tra le metriche basate su log nel tuo progetto Google Cloud.

Le stringhe dei nomi delle metriche non devono superare i 100 caratteri e possono includere solo i seguenti caratteri:

  • A-Z
  • a-z
  • 0-9
  • I caratteri speciali _-.,+!*',()%\/.

    La barra / indica una gerarchia di parti all'interno del nome della metrica e non può essere il primo carattere del nome.

I valori etichetta sono troncati

I valori per le etichette definite dall'utente non devono superare i 1024 byte.

Impossibile eliminare una metrica di log personalizzata

Puoi tentare di eliminare una metrica personalizzata basata su log utilizzando la console Google Cloud. La richiesta di eliminazione non va a buon fine e nella finestra di dialogo di eliminazione viene visualizzato il messaggio di errore There is an unknown error while executing this operation.

Per risolvere il problema, prova a procedere nel seguente modo:

  • Aggiorna la pagina Metriche basate su log nella console Google Cloud. Il messaggio di errore potrebbe essere visualizzato a causa di un problema di tempistica interno.

  • Identifica ed elimina tutti i criteri di avviso che monitorano la metrica basata su log. Dopo aver verificato che la metrica basata su log non sia monitorata da un criterio di avviso, elimina la metrica basata su log. Le metriche basate su log monitorate da un criterio di avviso non possono essere eliminate.