Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduzione

logo google cloud

Checkmk include un modulo completo per il monitoraggio della Google Cloud Platform (GCP), composto da un connettore per GCP e da un'impressionante raccolta di plug-in di controllo che recuperano e valutano varie metriche e stati per te.

Oltre alle informazioni generali sui costi sostenuti dal tuo Google Cloud e sullo stato attuale dei servizi Google nella tua regione, con tutte le edizioni di Checkmk Cloud a partire dalla versione 2.2.0 puoi monitorare i seguenti prodotti Google Cloud:

Con Checkmk Cloud e Checkmk MSP puoi includere nel tuo sistema di monitoraggio anche i seguenti prodotti:

Un elenco completo di tutti i plug-in di controllo disponibili per il monitoraggio di GCP è disponibile nel nostro Catalogo dei plug-in di controllo e nell'articolo Monitoraggio di Kubernetes Cluster descriviamo come includere i tuoi cluster GKE (Google Kubernetes Engine) in Checkmk.

2. Attuazione concreta del monitoraggio della GCP

2.1. Host e servizi

In Checkmk, tutti gli oggetti da monitorare sono organizzati in una struttura gerarchica di host e servizi. Tuttavia, il concetto di host non esiste in questo modulo nei servizi basati sul cloud. Per preservare la semplicità e la coerenza di Checkmk, mappiamo gli oggetti di GCP nel nostro schema host/servizio. Ogni tuo progetto in Google Cloud viene assegnato al proprio host in Checkmk. Tutti i prodotti cloud che vuoi monitorare in questo progetto saranno quindi suddivisi in più servizi su questo host dedicato.

Un piccolo progetto in cui è in esecuzione una sola VM di Compute Engine può apparire così nel monitoraggio di Checkmk:

monitoring gcp example host

2.2. Accesso a GCP

GCP fornisce un'API basata su HTTP attraverso la quale è possibile recuperare i dati di monitoraggio. Checkmk accede a questa API tramite l'agente speciale agent_gcp. Questo prende il posto dell'agente Checkmk, ma - a differenza di quest'ultimo - viene eseguito localmente sul server Checkmk.

3. Preparazione del GCP per il Checkmk

3.1. Acquisire l'ID di un progetto

Accedi a Google Cloud Console. Assicurati che nella barra del titolo sia selezionato il progetto corretto oppure seleziona il progetto da monitorare.

Apri quindi la dashboard del progetto, dove dovresti trovare - se la dashboard corrisponde ancora allo standard - una scheda con l'indirizzo Project ID. Copia o annota queste informazioni.

monitoring gcp project info

Se la scheda con le informazioni sul progetto non appare più nel dashboard, puoi trovare l'ID necessario anche tramite il sito Project settings:

monitoring gcp project settings

3.2. Creare un utente

Successivamente, apri l'amministrazione degli utenti alla voce IAM & Admin. Nella panoramica sul lato sinistro, devi selezionare Service Accounts e poi in alto cliccare su Create Service Account. Qui scegli un nome del servizio: ti consigliamo di dare a questo account un nome che chiarisca subito a cosa serve, ad es. checkmk-monitoring. Oltre a un nome descrittivo, puoi inserire facoltativamente una descrizione - una descrizione delservizio. Dopo aver cliccato su Create and continue dovrai assegnare i due ruoli Monitoring Viewer e Cloud Asset Viewer a questo nome del servizio. Per farlo, clicca sul campo Select a role e inserisci il nome del ruolo.

Nota: se inserisci Monitoring Viewer nel campo, ti verrà mostrata una serie di ruoli con nomi simili. Fai attenzione a selezionare effettivamente Monitoring Viewer.

Una volta selezionati i ruoli, puoi saltare il prossimo passaggio facoltativo e cliccare direttamente su Done.

3.3. Creare una chiave

Affinché tu possa effettivamente accedere ai dati di monitoraggio e degli asset nel tuo Checkmk Cloud tramite questo nuovo account di servizio, dovrai creare una chiave, che archivierai in seguito nella regola corrispondente in Checkmk o nel sito Password store.

Nella panoramica Service accounts for project My Project, puoi cliccare sui tre punti nella riga del tuo nuovo account di servizio e selezionare Manage keys. Successivamente, clicca su Add key e poi su Create new key. Assicurati di selezionare JSON come formato e clicca su Create. Questo clic su Create- facilmente trascurato - scarica un file in formato JSON. Conserva questo file in un luogo sicuro per il momento, poiché non potrai scaricarlo di nuovo. Ti consigliamo, tuttavia, di cancellare anche questo file dopo averne memorizzato il contenuto in Checkmk (vedi Creare una regola per gli agenti GCP). Se necessario, è necessario creare una nuova chiave ed eliminare quella vecchia.

3.4. Attivare le API nel progetto GCP

Nella pagina di panoramica del tuo progetto GCP troverai anche la voce di menu APIs & Services. In questa panoramica, controlla se Cloud Asset API compare nell'elenco di Enabled APIs & services. Se così non fosse, attiva questa API tramite il pulsante Enable APIs and services. Dopo l'attivazione, ci vorranno alcuni minuti prima che l'API sia effettivamente accessibile.

3.5. Monitoraggio delle informazioni di fatturazione

Nella Google Cloud Platform, le informazioni di fatturazione sono archiviate separatamente dalle risorse. Di regola, per l'analisi dei costi in GCP vengono creati progetti separati in cui vengono raccolte anche le informazioni di fatturazione di altri progetti. Per poter monitorare queste informazioni con Checkmk, è essenziale che questi dati vengano esportati in BigQuery all'interno di GCP. Solo i dati disponibili nelle tabelle di BigQuery possono essere consultati da remoto - e quindi da Checkmk. Come impostare tale esportazione all'interno di GCP è spiegato in dettaglio nel documento Esportazione dei dati di fatturazione di Cloud in BigQuery nelle pagine di aiuto di GCP.

Se hai configurato BigQuery o lo stai già utilizzando, troverai un elenco delle sue tabelle incluse nel progetto di accounting SQL workspace. Apri la tabella del progetto di accounting e fai clic sulla scheda Details. Alla voce Table ID, troverai le informazioni che dovrai inserire al momento della creazione della regola in Checkmk all'indirizzo Costs > BigQuery table ID.

Il servizio di monitoraggio dei costi dei progetti è concepito come una panoramica: vengono visualizzati e monitorati solo i costi mensili dei singoli progetti. Puoi definire delle soglie per questi costi mensili con la regola GCP Cost.

4. Impostazione del monitoraggio in Checkmk

4.1. Creare un host per GCP

Ora crea un host per il monitoraggio di GCP in Checkmk. Puoi assegnare il nome host come desideri. Se vuoi monitorare più di un progetto in GCP, devi creare un host separato in Checkmk per ogni progetto.

Importante: poiché GCP come servizio non ha né un indirizzo IP né un nome DNS (l'agente speciale si occupa da solo dell'accesso), devi impostare IP address family su No IP.

monitoring gcp no ip

4.2. Configurazione dell'agente GCP

Come accennato all'inizio di questo articolo, i progetti su Google Cloud Platform sono monitorati da uno special agent. Questo agente è configurato con una regola, che puoi trovare all'indirizzo Setup > Agents > VM, cloud, container > Google Cloud Platform (GCP).

Nel campo corrispondente, inserisci l'indirizzo Project ID che hai precedentemente consultato nel tuo progetto.

In JSON credentials for service account, devi inserire la chiave che hai creato in precedenza per il tuo account di servizio. Dovrai copiare l'intero oggetto JSON (comprese le parentesi graffe) in questo campo.

monitoring gcp id and key

In GCP services to monitor puoi ora selezionare quali prodotti GCP devono essere monitorati dall'agente speciale. Per rendere le query API il più economiche possibile, ti consigliamo di selezionare solo i prodotti che vengono effettivamente utilizzati nel tuo progetto.

4.3. Servizi sull'host GCP stesso

Ora avvia la scoperta del servizio sull'host GCP appena creato, nel quale Checkmk dovrebbe trovare alcuni servizi. Una volta aggiunti i servizi, l'aspetto sarà questo dopo aver attivato le modifiche al monitoraggio:

monitoring gcp services

4.4. Creazione di host per le istanze VM di Compute Engine

I servizi assegnati alle istanze VM di Compute Engine non sono assegnati all'host GCP, ma ai cosiddetti host piggyback. In questo modo i dati recuperati dall'host GCP vengono distribuiti a questi host piggyback, che operano senza agenti di monitoraggio propri. A ogni istanza VM viene assegnato un host piggyback. I nomi di questi host piggyback sono composti dall'ID del tuo progetto, da un trattino basso e dal nome completo dell'istanza. Ad esempio, se il tuo progetto ha l'ID my-project-19001216 e monitori una VM con il nome my-instance01, l'host piggyback si chiamerà my-project-19001216_my-instance01. Puoi creare questi host manualmente oppure, se possibile, lasciare questo compito alla gestione dinamica degli host.

Impostazione della gestione dinamica degli host

Se sei un utente di una delle nostre edizioni commerciali, puoi semplicemente lasciare la creazione e la cancellazione degli host per le tue istanze VM alla gestione dinamica degli host. La voce di menu Setup > Hosts > Dynamic host management ti porta alla pagina panoramica di tutte le connessioni già configurate. Clicca su Add connection e poi assegna alla connessione un nome ID e un nome Title.

Non tutte le opzioni disponibili in Connection properties sono trattate qui di seguito. Consulta l'aiuto inline e l'articolo principale linkato sopra se hai delle domande.

Per prima cosa, assicurati che nel box Connection properties sia attivata la modalità Mostra di più in modo da visualizzare tutte le opzioni disponibili.

Quindi, alla voce Piggyback creation options clicca su Add new element. Personalizza la cartella in cui verranno creati gli host delle tue istanze VM. Le opzioni preselezionate di Host attributes sono fondamentalmente corrette per gli host piggyback e non hanno bisogno di essere modificate.

Attivando l'opzione Delete vanished hosts, puoi fare in modo che gli host piggyback da cui non vengono ricevuti più dati freschi in un determinato periodo di tempo vengano eliminati automaticamente.

Per monitorare i progetti GCP, è necessario attivare l'opzione Restrict source hosts. Inserisci il tuo host GCP nella sezione Creare un host per GCP in Checkmk.

A titolo di esempio, la configurazione di una connessione di questo tipo potrebbe essere la seguente:

Exemplary configuration of connection properties.

Creare manualmente gli host per le istanze VM

In alternativa, puoi creare manualmente gli host per i dati piggyback: è importante che i nomi degli host corrispondano esattamente allo schema descritto sopra.

Suggerimento: con lo script find_piggy_orphans dalla directory delle tesoriere puoi trovare tutti gli host piggyback per i quali esistono dati ma che non sono ancora stati creati come host in Checkmk:

OMD[mysite]:~$ share/doc/check_mk/treasures/find_piggy_orphans
my-project-19001216_my-instance01
my-project-19001216_my-instance02

Configura gli host per queste macchine virtuali di Compute Engine senza indirizzo IP (analogamente all'host GCP) e seleziona No API integrations, no Checkmk agent come agente di monitoraggio. Se selezioni anche l'opzione Always use and expect piggyback data sotto Piggyback, sarai avvisato di conseguenza se i dati non arrivano.

monitoring gcp add host for piggyback data

5. Opzioni diagnostiche

5.1. Il servizio Eccezioni

Il servizio Exceptions ti supporta nell'impostazione di un monitoraggio GCP e ti assiste anche in caso di problemi futuri riscontrati durante la comunicazione con l'API di Google Cloud. Tutti i messaggi di errore che l'API di Google Cloud restituisce all'agente speciale vengono raccolti e processati qui. In caso di errore, questo servizio diventa CRIT per impostazione predefinita e nel suo Summary fornirà un'indicazione di dove si trova il problema.

monitoring gcp exceptions

Cliccando sul nome del servizio otterrai un messaggio molto dettagliato, spesso con un link al punto esatto del tuo progetto GCP in cui è necessaria una diversa impostazione, ad esempio. Nell'esempio seguente, Cloud Asset API è disabilitato nel progetto monitorato.

monitoring gcp exceptions details

Un clic sul globo WWW ti porterà alla pagina esatta del tuo progetto in cui questa API può essere abilitata.

6. Dashboard

Per iniziare comodamente il monitoraggio di GCP, Checkmk Cloud offre, a partire da Checkmk Cloud, due dashboard integrate, GCP GCE instances e GCP storage buckets. Entrambe si trovano come voci di menu nel monitoraggio alla voce Monitor > Cloud.

Per dare un'impressione più chiara, ecco due esempi di come sono strutturate le dashboard. Innanzitutto, la dashboard delle istanze di Compute Engine, dove puoi confrontare lo stato attuale sulla sinistra e la cronologia delle metriche più importanti sulla destra:

Dashboard for the GCP Compute Engine instances.

La dashboard dei bucket di storage è strutturata in modo molto simile: a sinistra trovi i dati attuali dei rispettivi bucket, mentre a destra le metriche più importanti sono visualizzate in ordine cronologico:

Dashboard for the GCP storage buckets.
In questa pagina