Che cos'è il monitoraggio GCP?

Nel campo del monitoraggio del cloud, il monitoraggio GCP è il processo che si occupa del monitoraggio dei servizi e delle risorse di Google Cloud. Il monitoraggio GCP consente di raccogliere, analizzare e visualizzare varie metriche e registri dalle risorse GCP. Queste includono macchine virtuali, container, database, bilanciatori di carico, applicazioni e altri servizi. Come in ogni altra area di monitoraggio, queste metriche possono aiutare a identificare e risolvere i problemi, ottimizzare le prestazioni e garantire l'affidabilità complessiva delle applicazioni.

Il monitoraggio di GCP viene solitamente effettuato visualizzando tutte le metriche raccolte in vari dashboard. La maggior parte degli strumenti di monitoraggio di GCP presenti sul mercato offre numerosi dashboard per organizzare i dati in grafici e tabelle di facile lettura. Con Google Cloud Monitoring, Google offre il proprio software che recupera numerose metriche e registri e li riassume in dashboard.

In questo articolo esamineremo i vari servizi cloud che il monitoraggio GCP comprende. Tuttavia, il monitoraggio GCP va oltre la semplice raccolta dei dati e comprende anche avvisi, reportistica, monitoraggio dei costi del cloud e molto altro ancora. Per semplicità, quindi, ci concentreremo prima sulle varie aree principali.

Dashboard GCP GCE

Quali sono le aree da monitorare su un cloud GCP?

Il monitoraggio di Google Cloud consente di garantire prestazioni ottimali, sicurezza dei dati e delle applicazioni e di individuare le aree di miglioramento.

Monitoraggio delle prestazioni GCP

Le prestazioni sono un parametro fondamentale in qualsiasi infrastruttura e uno dei motivi principali per cui si ricorre a un provider cloud come GCP. Con le sue reti distribuite e la sua potenza di calcolo, GCP offre, in piú a tutti gli altri provider cloud, importanti vantaggi in termini di prestazioni. Tuttavia, solo monitorando le prestazioni è possibile assicurarsi che non ci siano perdite in nessun punto.

Il software predefinito di Google, Cloud Monitoring, aggrega metriche, log e dati di tracciamento, li visualizza in vari dashboard e monitora così le risorse e i servizi di GCP. Il monitoraggio delle prestazioni di GCP si concentra su metriche di base come l'utilizzo della CPU della macchina virtuale, l'utilizzo della rete e della larghezza di banda, il rapporto tra il numero di connessioni attive ai database gestiti, i tassi di errore in una rete virtuale e l'utilizzo dello storage delle varie applicazioni cloud. A seconda dell'utilizzo di Google Cloud, il monitoraggio può includere molte altre metriche.

Per contribuire al monitoraggio delle prestazioni di GCP, Google mette a disposizione Cloud Profiler. Questo si concentra sulla raccolta dell'utilizzo della CPU e della memoria delle applicazioni cloud, generando un profilo statistico di ciascuna di esse. Tale profilo è utile per apportare modifiche che migliorino le prestazioni delle applicazioni. Cloud Profiler attribuisce le metriche alle parti specifiche del codice sorgente dell'applicazione, in modo da poter identificare quale parte dell'applicazione consuma più risorse, consentendo di limitare i costi e di ottimizzare le prestazioni.

Il monitoraggio delle prestazioni di GCP comprende anche un load balancer. Come semaforo virtuale per le reti e le applicazioni virtuali, svolge un ruolo fondamentale nella distribuzione dei carichi nel modo più efficiente, evitando di sovraccaricare una singola risorsa o servizio. Nell'ambito del monitoraggio di GCP, lo strumento Google Cloud Monitoring raccoglie e analizza le metriche provenienti dai load balancer di GCP, tra cui la latenza, il conteggio delle richieste, il conteggio dei byte per ciascuna richiesta e il conteggio dei pacchetti. Tenere d'occhio queste metriche ti aiuterà a capire l'efficienza del load balancer e se è utile una messa a punto.

Monitoraggio della rete GCP

L'area del monitoraggio della rete GCP si concentra sulle reti virtuali. Che si tratti di un'infrastruttura solo cloud o ibrida, è importante assicurarsi che le parti interconnesse funzionino, siano configurate in modo ottimale e siano efficienti. Questo è possibile utilizzando gli strumenti di monitoraggio GCP.

Il monitoraggio della rete GCP viene utilizzato principalmente per garantire che la connettività di rete di base non venga interrotta o disturbata e per monitorare le prestazioni delle reti effettive. Assicurarsi che i percorsi tra tutti i componenti che formano un'infrastruttura cloud possano comunicare tra loro è il primo passo del monitoraggio della rete GCP. L'identificazione dello stato del traffico, delle tendenze e dei possibili colli di bottiglia è il passo successivo. Altre parti fondamentali del monitoraggio della rete sono i firewall, i DNS e le VPN.

GCP viene fornito con il Network Intelligence Center, una console per il cloud di Google e la sua osservabilità, monitoraggio e risoluzione dei problemi. Dispone di cinque moduli per visualizzare la topologia di rete, la perdita di pacchetti e la latenza, per visualizzare l'utilizzo delle regole del firewall, per analizzare i problemi di rete e per testare la connettività di rete. Questi moduli integrano metriche che si sovrappongono al monitoraggio delle prestazioni e della sicurezza di GCP. Il Network Intelligence Center è un prodotto semplice, più che sufficiente per iniziare o per piccole reti, ma mostra i suoi limiti quando l'infrastruttura cresce fino a migliaia di host e servizi. Strumenti di monitoraggio di terze parti come Checkmk possono fornire informazioni di monitoraggio più efficienti e scalabili, e non si limitano a monitorare solo i cloud GCP.

Monitoraggio della sicurezza GCP

Il monitoraggio della sicurezza GCP prevede il controllo attivo delle risorse e dei servizi GCP per rilevare intrusioni, minacce alla sicurezza e potenziali vulnerabilità. È l'area del monitoraggio del cloud che ha il compito di proteggere le risorse GCP rilevando possibili incidenti di sicurezza e informando l'utente.

La sicurezza del cloud comporta molti sforzi e controlli. Si tratta, da un lato, di verificare la sicurezza dei dati e delle comunicazioni e, dall'altro, di prevenire e, auspicabilmente, non dover mai risolvere gli incidenti di sicurezza. I log di GCP sono spesso monitorati per identificare comportamenti sospetti e possibili eventi non sicuri nelle applicazioni e nelle risorse di GCP. GCP include Google Logging, un sistema di gestione dei log completamente gestito, che comprende l'archiviazione, la ricerca, l'analisi e gli avvisi dei log. Google Logs Explorer è integrato nella Google Cloud Console ed è lo strumento principale per consultare i log sulla piattaforma GCP.

Tuttavia, non solo i log sono importanti nel monitoraggio della sicurezza di GCP. I sistemi di rilevamento delle intrusioni (IDS) e i sistemi di prevenzione delle intrusioni (IPS) monitorano attivamente le reti per identificare gli accessi non autorizzati e le intrusioni e, auspicabilmente, prevenirli. Google include il primo in GCP con Cloud IDS. Rileva minacce di rete come malware e spyware e monitora le comunicazioni intra e inter-VPC (Virtual Private Cloud). Non è un sistema IPS, ma aiuta a rilevare i problemi di sicurezza nell'infrastruttura GCP.

Per monitorare la sicurezza delle applicazioni e dei container GCP, uno strumento utile è Google Web Security Scanner. Questo strumento identifica le vulnerabilità nelle applicazioni App Engine, Google Kubernetes Engine (GKE) e Compute Engine. Il Security Scanner agisce come un crawler di URL web pubblici, individuando le vulnerabilità attraverso l'invio ripetuto del maggior numero possibile di input e gestori di eventi. Non si tratta di un monitoraggio completo della sicurezza GCP per le applicazioni cloud, ma è comunque uno strumento utile da tenere presente.

Monitoraggio delle applicazioni e delle macchine virtuali di GCP

Sia che la tua infrastruttura faccia grande uso della potenza delle macchine virtuali di Compute Engine, sia che si orienti maggiormente verso l'utilizzo di App Engine per l'esecuzione di applicazioni su GCP, entrambi i servizi sono alla base di un'azienda, e il loro monitoraggio è quindi indispensabile.

Google Cloud Monitoring e Google Logging raccolgono metriche dalle applicazioni cloud e dalle macchine virtuali. Fanno parte della suite operativa di Google Cloud, precedentemente nota come Stackdriver. Non solo integra il logging e il monitoraggio di GCP, ma offre anche alcune funzioni aggiuntive. È in grado di emettere avvisi in base a criteri prestabiliti, di scaricare la gestione e il ridimensionamento dell'infrastruttura Prometheus, di impostare dashboard personalizzati, di eseguire controlli sull'uptime e di condurre audit di sicurezza. Pur essendo una soluzione di monitoraggio piuttosto ampia, è limitata ai cloud GCP.

GCP offre anche una soluzione di segnalazione degli errori, denominata Google Error Reporting. Questa soluzione può identificare e aiutare a comprendere gli errori nelle applicazioni, fornendo così una forma di base di monitoraggio delle applicazioni GCP. Supporta molti linguaggi popolari come Go, Java, .NET, PHP, Node.js, Python e Ruby. Grazie all'integrazione con Google Logging, può inviare gli errori come log per ulteriori analisi.

Monitoraggio di Google Cloud Storage

GCP offre Cloud Storage come servizio di hosting dei dati. Con diversi livelli di disponibilità, Cloud Storage è un servizio flessibile per l'archiviazione di dati non strutturati. I file sono parte integrante delle applicazioni web e come tali sono di vitale importanza per la salute dell'infrastruttura. Il monitoraggio di GCP Cloud Storage è quindi un'aggiunta logica a qualsiasi attività di monitoraggio.

Google Cloud Monitoring e Google Logging sono in grado di fornire un aiuto in tal senso. Vengono raccolte metriche chiave come l'utilizzo dello storage, la velocità di trasferimento dei dati, la percentuale di errori e gli eventi legati alla sicurezza, per capire come viene utilizzato il servizio di storage, da chi e se è necessario un ridimensionamento.

Sebbene Google Cloud Monitoring sia uno strumento di monitoraggio GCP integrato e facile da usare, potrebbe non essere sufficientemente potente nelle infrastrutture più grandi e nei casi d'uso più avanzati. Gli strumenti di monitoraggio di Google di terze parti potrebbero essere più adatti alle tue esigenze. Checkmk e strumenti simili consentono una personalizzazione e un'efficienza più flessibili, senza rendere superflui gli strumenti integrati da Google stessa.

Monitoraggio del database GCP

Come qualsiasi altro provider cloud, GCP offre database. Cloud SQL, Cloud Firestore e Cloud Bigtable sono solo alcune delle scelte possibili quando si configura un database sul cloud di Google. Inutile dire che tutti questi database devono far parte della tua strategia di monitoraggio di GCP.

I servizi di database GCP espongono una serie di metriche che includono l'utilizzo della CPU, l'utilizzo della memoria, l'I/O del disco, il traffico di rete, la latenza delle query, l'utilizzo del pool di connessioni e altro ancora. Oltre al supporto per la raccolta dei log dei database in Google Cloud Monitoring, esiste una gamma abbastanza completa di dati per valutare lo stato di salute dei database.

Oltre alla salute, anche le prestazioni del database sono molto importanti. Il monitoraggio GCP include uno strumento specifico per questo compito: Query Insights. Si tratta di un analizzatore di query per i database Cloud SQL, che aiuta a rilevare, diagnosticare e prevenire i problemi di prestazioni delle query. È un utile strumento di risoluzione dei problemi per le query SQL, da affiancare al monitoraggio e alla registrazione generale di GCP.

Monitoraggio dei costi di GCP

I costi del cloud sono un punto dolente per molti. Spesso è difficile trovare un provider cloud che soddisfi tutte le tue esigenze e ti garantisca di non spendere inutilmente per le tue risorse. Fortunatamente, la maggior parte delle soluzioni di monitoraggio del cloud offre un modo per esaminare l'utilizzo delle risorse e calcolarne il costo relativo.

Anche GCP ha un'opzione di questo tipo. Google Cost Management è una dashboard che raccoglie informazioni sull'utilizzo delle risorse e dei servizi GCP per fornire visibilità sulle tendenze e sulle previsioni dei costi attuali. Inoltre, è possibile impostare politiche attraverso le quali il software fornisce raccomandazioni per aiutarti a contenere i costi e a fare un uso migliore del tuo budget. Il software invia anche un avviso nel caso in cui un servizio sia in funzione e comporti costi quando non ne hai effettivamente bisogno.

Anche le soluzioni di monitoraggio GCP di terze parti, come Checkmk, hanno le loro capacità di controllo dei costi. Utilizzando agenti di monitoraggio o API di monitoraggio, queste soluzioni possono controllare i costi di utilizzo di GCP quasi in tempo reale e di solito sono anche in grado di gestire più cloud. L'aggregazione dei costi su tutti i servizi e le risorse cloud elimina inoltre la necessità di accedere a più dashboard cloud per esaminare i costi singolarmente.

Quali sono gli strumenti di monitoraggio GCP disponibili?

Il monitoraggio di GCP può essere eseguito attraverso le dashboard integrate in Google Cloud Monitoring o attraverso uno strumento di monitoraggio GCP esterno. Questi strumenti sfruttano l'uso di agenti di monitoraggio che vengono eseguiti nel cloud stesso o attraverso la connessione all'API di monitoraggio del cloud di Google.

L'API di monitoraggio del cloud è stata progettata per fornire un'interfaccia su cui gli strumenti di monitoraggio possono costruire i loro servizi, esponendo un'ampia serie di metriche da molti servizi e risorse GCP. L'API è disponibile come REST e come gRPC. Per interrogare l'API e recuperare, filtrare e manipolare i dati, è possibile utilizzare un linguaggio specifico chiamato Monitoring Query Language (MQL). Non si tratta di un linguaggio complesso e chiunque abbia una certa familiarità con JSON e con le API REST può iniziare a usarlo in pochi minuti.

Attraverso l'API, è possibile utilizzare anche MQL o qualsiasi altro linguaggio che abbia le proprie librerie di monitoraggio GCP per eseguire una serie di attività di monitoraggio e impostare un sistema di monitoraggio personalizzato nel tempo. Questa è un'ottima funzione se Google Cloud Monitoring non riesce a soddisfare le tue esigenze. Tuttavia, se Google Cloud Monitoring non riesce a soddisfare le tue esigenze più spesso, come spesso accade nelle grandi aziende, le soluzioni di monitoraggio GCP di terze parti rimangono l'unica soluzione possibile.

Checkmk e molte altre utilizzano l'API di monitoraggio e agenti personalizzati, andando oltre i dashboard GCP integrati. Considerando che sia Google Cloud Monitoring che l'API comportano costi che aumentano con l'utilizzo, la versione con licenza di un software di monitoraggio GCP esterno può risultare alla fine più conveniente. Grazie alla migliore personalizzazione, alla copertura avanzata dei casi d'uso e al supporto multi-cloud, il software di monitoraggio di terze parti è spesso una soluzione migliore per il monitoraggio del cloud GCP.

Perché il monitoraggio del cloud di Google è importante?

Il monitoraggio GCP è di estrema importanza per le aziende che utilizzano GCP. I servizi di monitoraggio di Google, in gran parte, garantiscono il funzionamento regolare delle applicazioni e delle infrastrutture basate sul cloud. Con un monitoraggio GCP efficace, è possibile monitorare lo stato di salute e le prestazioni delle risorse GCP, identificare potenziali problemi prima che si verifichino e adottare misure correttive prima che si aggravino. Come abbiamo visto, l'utilizzo di soluzioni di monitoraggio GCP come Google Cloud Monitoring o Checkmk raccoglie le metriche chiave e le presenta in una serie di dashboard, consentendo di tenere sotto controllo i servizi e le risorse GCP con un semplice sguardo.

I servizi di monitoraggio di Google spesso forniscono approfondimenti in tempo reale sul comportamento dei servizi GCP, consentendo alle organizzazioni di analizzare e ottimizzare le proprie implementazioni. Con l'uso di GCP Monitoring API o di agenti di monitoraggio ad hoc, le organizzazioni possono accedere sistematicamente ai dati di monitoraggio e integrarli nei sistemi di monitoraggio esistenti o nelle dashboard personalizzate. La personalizzazione di questi dati e l'impostazione di avvisi quando si verificano eventi predefiniti o vengono superate le soglie sono fondamentali per una strategia di monitoraggio GCP efficace.

Infine, ma non meno importante, il monitoraggio di GCP contribuisce alla gestione dei costi, consentendo di monitorare l'utilizzo delle risorse e di identificare le opportunità di ottimizzazione. Tracciando l'utilizzo di tutte le risorse cloud GCP, è possibile prendere decisioni informate sull'ottimizzazione dei costi, definire la giusta dimensione delle risorse ed eliminare le spese inutili.

Il monitoraggio di GCP è quindi fondamentale per tutti coloro che utilizzano la Google Cloud Platform. Anche solo utilizzando Google Cloud Monitoring e Google Logging, o uno strumento più avanzato come Checkmk, il monitoraggio di GCP dovrebbe far parte di ogni sistema di monitoraggio.