Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Esportare i dati di Google Cloud Monitoring in BigQuery senza attriti

By Elad ShaabiSep 13, 20213 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Cloud Monitoring raccoglie i dati delle metriche e li conserva per intervalli di tempo predefiniti, che variano in base al tipo di metrica. Per maggiori dettagli consulti la pagina Data Retention. Google aggiorna periodicamente questi intervalli, quindi conviene rivedere la pagina di tanto in tanto.

Allo scadere del periodo previsto, Cloud Monitoring elimina i data point scaduti. Quando tutti i punti di una serie temporale sono scaduti, Cloud Monitoring elimina l'intera serie. Le serie temporali eliminate non compaiono più né nei grafici di Cloud Monitoring né nei risultati della Monitoring API.

In sintesi, i data point vengono eliminati dopo 6 settimane. Si tratta però di dati che possono rivelarsi preziosi e che spesso vorremmo analizzare anche oltre questo arco temporale, per finalità di analisi e troubleshooting. Ad oggi non esiste un'opzione semplice per esportare grandi volumi di dati di monitoring verso altri sistemi di analisi.

La buona notizia è che abbiamo creato un progetto open source che esporta i dati grezzi da Cloud Monitoring a una tabella BigQuery, pronta per analisi future.

Acceda al progetto da qui: https://github.com/doitintl/gcp-monitoring-metric-exporter

L'architettura di Google Cloud Metric Exporter

Proviamo, ad esempio, a esportare in una tabella BigQuery una metrica di system lag di Google Cloud Dataflow (dataflow.googleapis.com/job/system_lag).

Questi dati sono attualmente disponibili in Cloud Monitoring, come mostrato di seguito:

L'obiettivo è esportarli in BigQuery, dove possiamo conservarli più a lungo e aggregarli e analizzarli come si deve.

Inizi da qui: https://github.com/doitintl/gcp-monitoring-metric-exporter

Si assicuri sempre di configurare il Filter con una filter expression valida. In questo caso specifico, dovrà essere così:

'metric.type = "dataflow.googleapis.com/job/system_lag"'

Noti lo schema: apice singolo (') all'esterno del filtro e doppio apice (") all'interno.

Dopo aver eseguito GCP Monitoring Metric Exporter sul dataset BigQuery di riferimento, otterremo una nuova tabella che porta il nome del job di esportazione, popolata con i data point della metrica. GCP Monitoring Metric Exporter continuerà poi a esportare e aggiornare la tabella con i dati pertinenti.

Ora che i dati delle metriche sono in BigQuery, possiamo sfruttare tutte le sue funzionalità collaudate per esplorarli, analizzarli e condividerli con gli stakeholder coinvolti. Soprattutto, possiamo conservarli per tutto il tempo necessario, senza più preoccuparci dei limiti di Data Retention.

Condivida pure questa risorsa con colleghi e contatti sui social, e ci faccia sapere se ha feedback o suggerimenti.

Grazie per la lettura! Per restare in contatto, ci segua sul DoiT Engineering Blog, sul canale LinkedIn di DoiT e sul canale Twitter di DoiT. Per scoprire le opportunità di carriera, visiti https://careers.doit-intl.com.