Risolvi i problemi relativi alle metriche basate su log

Questa pagina fornisce informazioni sulla risoluzione dei problemi per scenari comuni quando utilizzi le 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 Logging del bucket in un progetto Google Cloud. Non puoi creare metriche basate su log per altre risorse Google Cloud, come account di fatturazione o organizzazioni. Le metriche basate su log vengono calcolate per i log solo nel progetto o nel bucket Google Cloud in cui vengono ricevute.

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

Nella metrica mancano i dati dei log

Esistono diversi motivi per cui i dati mancano nelle metriche basate su log:

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

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

  • Il conteggio delle metriche potrebbe subire ritardi. Anche se registrabile vengono visualizzate in Esplora log, potrebbero essere necessari fino a 10 minuti aggiornare le metriche basate su log in Cloud Monitoring.

  • Le voci di log visualizzate potrebbero essere conteggiate in ritardo o non essere conteggiate affatto, perché contengono indicazioni temporali. nel passato o nel futuro. Se riceve una voce di log Cloud Logging più di 24 ore prima o 10 minuti nel futuro, la voce di log non sarà conteggiato nella metrica basata su log.

    Per ogni log nel sistema viene registrato il numero di voci che arrivano in ritardo. metrica basata su log logging.googleapis.com/logs_based_metrics_error_count

    Esempio: una voce di log corrispondente a una metrica basata su log arriva in ritardo. L'evento "timestamp" alle 14:30 del 20 febbraio 2020 e la 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 potrebbe essere conteggiata. Le metriche basate su log valutano le voci di log man mano che vengono memorizzate nei bucket di log. Queste metriche non valutano le voci di log memorizzate in Logging.

  • La metrica basata su log presenta lacune nei dati. Sono previste alcune lacune nei dati, poiché i sistemi che elaborano i dati delle metriche basate su log non garantiscono la persistenza di ogni punto dati della metrica. Quando si verificano, sono in genere rari e di breve durata. Tuttavia, se hai un criterio di avviso che monitora una metrica basata su log, allora dei dati potrebbe causare una notifica falsa. Le impostazioni utilizzate nel piano di avviso possono ridurre questa possibilità.

    Esempio: una voce di log "heartbeat" viene scritta ogni cinque minuti e una metrica basata su log conteggia il numero di voci di log "heartbeat". Un avviso il criterio somma i conteggi in un intervallo di cinque minuti e ti avvisa quando il totale è inferiore a uno. Quando nelle serie temporali manca un punto dati, il criterio di avviso inserisce un valore sintetico, che è un duplicato campione più recente e ha più probabilità di essere pari a zero, quindi valuta la condizione. Pertanto, anche un solo punto dati mancante potrebbe portare al valore zero della somma, il che fa sì che questo criterio di avviso invii una notifica.

    Per ridurre il rischio di una notifica falsa, configura il criterio in modo da conteggiare più voci di log "heartbeat", non solo una.

Il tipo di risorsa è "undefined" in Cloud Monitoring

Alcuni tipi di risorse monitorate di Cloud Logging non vengono mappati direttamente ai tipi di risorse monitorate di Cloud Monitoring. Ad esempio, quando creare un criterio di avviso o un grafico da una metrica basata su log, potresti vedrai 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 le Mappature per le risorse solo Logging per determinare quale tipo di risorsa monitorata devi scegliere.

Gli incidenti non vengono creati o sono falsi positivi

Potresti ottenere incidenti falsi positivi o situazioni in cui il monitoraggio non genera incidenti dalle metriche basate su log perché il periodo di allineamento per il criterio di avviso è troppo breve. Potresti riscontrare falsi positivi nei seguenti scenari:

  • Quando un criterio di avviso utilizza la logica meno di.
  • Quando un criterio di avviso si basa su una condizione percentile per una metrica di distribuzione.
  • Quando è presente una lacuna nei dati delle metriche.

Gli incidenti di tipo falso positivo possono verificarsi perché le voci di log possono essere inviate a Logging in ritardo. Ad esempio, in alcuni casi i campi di log timestamp e receiveTimestamp possono avere un delta di minuti. Inoltre, quando Logging archivia i log nei bucket di log, esiste un ritardo intrinseco tra il momento in cui le voci di log vengono generate e quello in cui Logging le riceve. Ciò significa che la registrazione potrebbe non avere il conteggio totale per una determinata voce di log fino a un momento successivo alla generazione delle voci di log. Ecco perché un criterio di avviso che utilizza la logica meno di o in base a una condizione percentile per una metrica di distribuzione può produrre un Avviso di falso positivo: non sono ancora state conteggiate tutte le voci di log.

Tuttavia, le metriche basate su log sono alla fine coerenti perché una voce di log che corrisponde a una metrica basata su log può essere inviata a Logging con un valore timestamp molto precedente o successivo rispetto al valore receiveTimestamp del log.

Ciò significa che la metrica basata su log può ricevere voci di log con timestamp precedenti 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.

Affinché le notifiche rimangano accurate anche per i dati in tempo, ti consigliamo di impostare il periodo di allineamento della condizione su almeno 10 minuti. In particolare, questo valore deve essere sufficientemente elevato per garantire il conteggio di più voci di log corrispondenti al filtro. Ad esempio, se una metrica basata su log conteggia le voci di log "heartbeat", che si prevedono ogni N minuti, imposta il periodo di allineamento su N minuti o su 10 minuti, a seconda del valore maggiore:

  • Se utilizzi la console Google Cloud, utilizza il menu Finestra mobile per impostare il periodo di allineamento.

  • Se utilizzi l'API, utilizza il campo aggregations.alignmentPeriod della condizione per impostare il periodo di allineamento.

La metrica ha troppe serie temporali

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

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

Con l'aumento della cardinalità di una metrica, la metrica può essere limitata e alcuni punti dati potrebbero non essere scritti nella metrica. Grafici che mostrano la metrica può essere lento a causa dell'elevato numero di serie temporali del grafico da elaborare. Potrebbero inoltre essere addebitati costi per le chiamate API per eseguire query sui dati delle serie temporali. Per maggiori dettagli, consulta Costi di Cloud Monitoring.

Per evitare di creare metriche ad alta cardinalità:

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

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

  • Evita di estrarre valori numerici con cardinalità illimitata.

  • Estrai valori solo da etichette di cardinalità nota; ad esempio, stato con un insieme di valori noti.

Queste metriche basate su log di sistema possono aiutarti a misurare l'effetto che l'aggiunta o rimuovere le etichette ha sulla cardinalità della metrica:

Quando esamini queste metriche, puoi filtrare ulteriormente i risultati in base a il nome della metrica. Per informazioni dettagliate, consulta Selezione delle metriche: filtri.

Il nome della metrica non è valido

Quando crei una metrica di conteggio o di distribuzione, scegli un nome unico tra le metriche basate su log nel tuo progetto Google Cloud.

Le stringhe con i 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 _-.,+!*',()%\/.

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

I valori delle metriche non sono corretti

Noti che, a volte, i valori riportati per una metrica basata su log sono diverso dal numero di voci di log riportate da Esplora log.

Per ridurre al minimo la discrepanza, procedi come segue:

  • Assicurati che le applicazioni non inviino voci di log duplicate. Le voci di log sono considerati duplicati quando hanno gli stessi timestamp e insertId. Logs Explorer elimina automaticamente le voci duplicate dei log. Tuttavia, Le metriche basate su log contano ogni voce di log corrispondente al filtro per la metrica.

  • Assicurati che una voce di log venga inviata a Cloud Logging quando il timestamp è meno di 24 ore prima o meno di 10 minuti nel futuro. Voci di log la cui i timestamp non rientrano in questi limiti non vengono conteggiati dalle metriche basate su log.

Non è possibile eliminare la possibilità di log duplicati. Se si verifica un errore interno avvengono durante la gestione di una voce di log, viene invocato un nuovo processo e in Cloud Logging. Il nuovo processo potrebbe causare una voce di log duplicata. Quando esistono voci di log duplicate, il valore di una metrica basata su log potrebbe essere troppo grande perché queste metriche conteggiano ogni voce di log corrispondente al filtro per la metrica.

I valori delle etichette vengono troncati

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

Impossibile eliminare una metrica dei log personalizzata

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

Per risolvere il problema, prova quanto segue:

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

  • Identifica ed elimina eventuali 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, eliminala. Metriche basate su log monitorate da un criterio di avviso non possono essere eliminate.