Integrazione di Cloud Monitoring, Logging e Trace con soluzioni di osservabilità e avviso

Questo documento fornisce risorse che descrivono come integrare Cloud Logging, Cloud Monitoring e Cloud Trace con soluzioni open source e di terze parti per l'osservabilità e gli avvisi. Si tratta di una guida di riferimento per Site Reliability Engineer (SRE), amministratori di sistema, operazioni di rete, professionisti del monitoraggio e altri professionisti responsabili dell'affidabilità, della disponibilità e delle prestazioni dei sistemi. Questo documento presuppone che tu abbia esperienza nello sviluppo di soluzioni in Google Cloud.

Potresti utilizzare numerosi strumenti che ti consentono di monitorare e diagnosticare i sistemi IT aziendali generando avvisi quando le prestazioni e la disponibilità di tali sistemi peggiorano. Man mano che tu e la tua organizzazione espandete la vostra infrastruttura di computing in Google Cloud, potete integrare Google Cloud nelle vostre pratiche di osservabilità e avvisi svolgendo le seguenti operazioni:

  • Estrazione dati da Google Cloud: invia dati da Cloud Monitoring e Logging agli strumenti esistenti.
  • Importazione di dati in Google Cloud:invia dati dagli strumenti esistenti a Cloud Monitoring e Logging.

Estrazione dei dati di Monitoring e Logging

Puoi inviare dati sull'osservabilità e sugli eventi per le risorse Google Cloud agli strumenti di monitoraggio, avviso e notifica di terze parti che utilizzi. I servizi Google Cloud generano automaticamente dati sull'osservabilità come metriche, log e dati di traccia che aiutano a fornire una panoramica completa sull'osservabilità. L'estrazione dei dati di Cloud Monitoring e Cloud Logging consente di integrare i dati nei processi di affidabilità, avvisi e gestione degli incidenti esistenti.

Dati sull'osservabilità di Cloud Monitoring

Cloud Monitoring classifica le metriche in gruppi generali in base al tipo di servizio che raccoglie i dati. Per informazioni su tipi di metriche, risorse, etichette e aggregazione in Monitoring, consulta Informazioni sulle metriche e sulla creazione di grafici e Struttura delle serie temporali.

Cloud Monitoring raccoglie metriche, eventi e metadati da Google Cloud, Amazon Web Services (AWS), probe di tempo di attività in hosting e strumentazione delle applicazioni. In Cloud Monitoring vengono registrate le metriche delle seguenti origini:

Estrazione delle metriche in modo programmatico

L'API Monitoring consente di leggere e scrivere a livello di programmazione tutte le metriche raccolte in Cloud Monitoring. La seguente guida di riferimento fornisce esempi di codice e architettura che puoi utilizzare per leggere le metriche dall'API Monitoring:

Monitoraggio con strumenti di terze parti

Puoi leggere direttamente l'API Monitoring utilizzando soluzioni di terze parti come Datadog e SignalFX che offrono funzionalità di monitoraggio integrate.

Dati sull'osservabilità di Cloud Logging

I servizi, le risorse utente e il codice Google Cloud generano automaticamente i log che registrano lo stato o un evento. Per informazioni su come i log vengono importati, archiviati ed esportati, consulta la sezione Concetti di base di Cloud Logging.

L'architettura di Cloud Logging include i seguenti componenti:

  • Produttori di log:risorse che generano log in Cloud Logging.
  • Router di log:Cloud Logging e le relative esportazioni.
  • Registra consumatori: strumenti di terze parti e open source che importano i log da Cloud Logging.

Per informazioni sul flusso di dati da parte dei produttori attraverso il router dei log per registrare i consumer, consulta la panoramica del router dei log.

Per informazioni su come creare un'applicazione per leggere i log in modo programmatico, vedi Configurare e gestire i sink e Utilizzare l'API Logging.

Configurazione delle esportazioni in strumenti di terze parti

Puoi esportare i log su Pub/Sub, Cloud Storage e BigQuery e creare abbonamenti per gli strumenti che vuoi utilizzare.

Ti consigliamo di utilizzare Pub/Sub per esportare i log in strumenti di terze parti, perché Cloud Logging gestisce la pipeline di esportazione e tu sei responsabile solo dell'elaborazione dei log che arrivano attraverso la pipeline.

Per ulteriori informazioni sull'esportazione dei log in strumenti specifici, consulta le seguenti guide:

Estrazione dei log in modo programmatico

Puoi utilizzare l'API Logging per leggere i log e elencare le voci di log per ottenere un elenco impaginato per un insieme specifico di log.

Importazione dei dati sull'osservabilità in Monitoring

Puoi utilizzare Cloud Monitoring per importare dati di osservabilità da strumenti on-premise e di terze parti e quindi generare insight utilizzando dashboard, grafici e avvisi.

Monitoraggio delle risorse AWS

Per monitorare le risorse in esecuzione in AWS, puoi utilizzare l'integrazione dell'account AWS Cloud Monitoring per importare direttamente le informazioni su tali risorse in Cloud Monitoring,incluse le metriche di Amazon CloudWatch. Per ulteriori informazioni, consulta Guida rapida per AWS e metriche AWS.

Monitoraggio di risorse Azure, AWS e on-premise

Per monitorare le risorse in esecuzione in Microsoft Azure, le risorse AWS che Monitoring non include automaticamente o le risorse on-premise, puoi utilizzare il prodotto BindPlane di Blue Medora. BindPlane fornisce una soluzione di integrazione per importare direttamente i dati delle metriche da diverse origini. Per scoprire di più sulle integrazioni BindPlane, consulta le seguenti guide:

Monitoraggio con Prometheus

Prometheus è un framework di monitoraggio delle serie temporali open source comune, utilizzato con i cluster Kubernetes. Puoi utilizzare l'integrazione di Prometheus per importare metriche di infrastruttura e applicazioni personalizzate in Cloud Monitoring. Per ulteriori informazioni, consulta le seguenti guide:

Monitoraggio con Istio

Istio Observability consente di esportare metriche di Istio. Puoi utilizzare il componente aggiuntivo Istio on GKE per configurare automaticamente l'adattatore Monitoring oppure installare manualmente Istio nei tuoi cluster, quindi configurare l'adattatore Monitoring. Per ulteriori informazioni sull'utilizzo di Istio con Cloud Monitoring, consulta le seguenti guide:

Monitoraggio personalizzato

Puoi aggiungere telemetria personalizzata alle tue applicazioni e importare metriche in Cloud Monitoring da utilizzare in grafici, dashboard e criteri di avviso.

Ti consigliamo di utilizzare OpenCensus se la tua app è scritta in una lingua supportata dalla libreria. Per ulteriori informazioni, consulta Metriche personalizzate con OpenCensus.

Se la tua app è in esecuzione su GKE, puoi utilizzare Prometheus come descritto in precedenza in questo documento.

Puoi aggiungere la strumentazione delle metriche personalizzate al codice utilizzando l'API Monitoring. L'API Monitoring offre la massima flessibilità e il massimo controllo, ma è più complesso da utilizzare rispetto a OpenCensus o Prometheus. Per maggiori informazioni, consulta la sezione Introduzione all'API Monitoring.

Visualizzazione dei dati di Monitoring

Cloud Monitoring offre le seguenti opzioni per visualizzare i dati:

La pagina Monitoring in Google Cloud Console ti consente di visualizzare i dati utilizzando i seguenti strumenti:

  • Dashboard di Google Cloud: visualizza grafici di risorse, app o risorse AWS di Google Cloud. Puoi modificare la configurazione del grafico e il periodo di visualizzazione per queste dashboard.
  • Dashboard personalizzate: dashboard personalizzate che puoi creare per visualizzare l'integrità dei servizi o dei gruppi di risorse specificati.
  • Metrics Explorer: una visualizzazione web che ti consente di creare visualizzazioni personalizzate delle metriche raccolte nell'area di lavoro. Puoi condividere i grafici di Metrics Explorer per supportare i casi d'uso sulla risoluzione dei problemi e sulla collaborazione in tempo reale.

Per ulteriori informazioni, consulta la sezione relativa al monitoraggio di più progetti con Cloud Monitoring di Google Cloud Skills Boost.

Importazione dei dati sull'osservabilità in Logging

Puoi utilizzare Cloud Logging per importare dati di log on-premise e da strumenti di terze parti e quindi per archiviare, cercare, analizzare, monitorare e creare avvisi su dati di log ed eventi.

Logging delle risorse AWS

Per importare i log dalle VM in esecuzione in Amazon EC2, devi configurare le autorizzazioni delle VM e quindi installare l'agente Cloud Logging sulle VM. Per saperne di più sull'utilizzo dei log AWS con Cloud Logging, consulta la guida rapida per AWS.

Logging di risorse Azure e on-premise

Per importare i log dalle risorse in esecuzione in Microsoft Azure o on-premise, puoi utilizzare la soluzione di integrazione BindPlane di Blue Medora. Per ulteriori informazioni, consulta la guida alla registrazione delle risorse on-premise con BlueMedora.

Logging personalizzato

Per inviare log direttamente a Cloud Logging, puoi utilizzare le librerie client di Logging. Per ulteriori informazioni sull'utilizzo delle librerie client di Logging, per importare i log, consulta gli esempi di API di logging.

Importazione di tracce in Cloud Trace

Cloud Trace ti aiuta ad analizzare la latenza delle app fornendo una strumentazione delle applicazioni, un backend di archiviazione e un livello di visualizzazione e analisi per le tracce che importi. Cloud Trace è un sistema di tracciamento distribuito che puoi utilizzare per analizzare la latenza delle app, in particolare per architetture complesse basate su microservizi.

Trace con Zipkin

Se la tua applicazione è già strumentata con Zipkin e non vuoi eseguire il tuo backend di traccia, o se vuoi accedere agli strumenti di analisi avanzati di Cloud Trace, puoi importare le tracce in Cloud Trace. Il progetto Zipkin mantiene questa funzionalità e Google non supporta ufficialmente questa funzionalità. Per ulteriori informazioni, consulta Utilizzo di Cloud Trace con Zipkin.

Traccia con OpenTelemetry

Se non hai strumentazione di tracciamento esistente e se vuoi utilizzare Cloud Trace come strumento di analisi di tracciamento, ti consigliamo di utilizzare OpenTelemetry. Open Telemetry è una libreria di metriche e tracciamento open source che supporta molti linguaggi. Per ulteriori informazioni sull'utilizzo di OpenTelemetry con Cloud Trace, consulta la documentazione di OpenTelemetry. Per un esempio con Go, consulta il pacchetto trace Exporter.

Traccia con librerie client

Puoi utilizzare le librerie client di Cloud Trace per la strumentazione delle app quando esegui VM o container in Google Cloud, su altri cloud provider o on-premise. Google eseguirà la transizione all'utilizzo di OpenTelemetry. Se vuoi iniziare a usare il tracciamento distribuito, ti consigliamo di utilizzare OpenTelemetry come descritto in precedenza in questo documento.

Avvisi e notifiche

Puoi utilizzare Google Cloud e strumenti esterni per inviare avvisi e notifiche per dati importati da sistemi esterni.

Cloud Monitoring fornisce funzionalità per avvisi e per la gestione della gestione di incidenti ed eventi. Per monitorare i tuoi sistemi, puoi integrare gli avvisi di Monitoring in strumenti che hai acquisito o che hai creato personalmente.

Per implementare l'integrazione Monitoring, utilizza una o più delle seguenti opzioni:

  • Utilizza le integrazioni di notifica integrate di Cloud Monitoring per inviare notifiche ad altri sistemi.
  • Utilizza una soluzione partner per i sistemi in cui non sono disponibili integrazioni integrate.
  • Crea integrazioni personalizzate con webhook per inviare notifiche di Cloud Monitoring ad altri sistemi.

Invio di avvisi da Monitoring

Puoi creare criteri di avviso per Cloud Monitoring basati su log e metriche importate, oltre a inviare notifiche a diversi canali, ad esempio email o SMS. Le seguenti guide forniscono esempi di implementazione per Slack e PagerDuty:

Per ulteriori informazioni sugli avvisi, consulta la sezione Criteri di avviso in dettaglio.

Invio di avvisi da una soluzione di terze parti

Puoi utilizzare una soluzione di terze parti per inviare avvisi di Cloud Monitoring al tuo sistema. Ad esempio, consulta le seguenti guide:

Invio di avvisi dalle integrazioni personalizzate

Puoi utilizzare un webhook per creare un'integrazione personalizzata con molti sistemi di monitoraggio di terze parti. Quando configuri un'integrazione personalizzata, Cloud Monitoring invia notifiche di avviso tramite payload JSON per gli URL che fornisci. Le seguenti guide forniscono esempi di integrazioni webhook personalizzate:

Invio di notifiche di errore da Monitoring

Quando importi dati in Monitoring come descritto in precedenza, puoi configurare la funzionalità Error Reporting per i sistemi esterni in modo da scrivere avvisi come errori e attivare notifiche. Per ulteriori informazioni, consulta le seguenti guide:

Passaggi successivi