Puoi risparmiare tempo e fatica nella configurazione e nella manutenzione delle applicazioni di monitoraggio in esecuzione su Google Kubernetes Engine (GKE) attivando il monitoraggio automatico delle applicazioni per i carichi di lavoro supportati.
Come funziona il monitoraggio automatico delle applicazioni
Quando attivi il monitoraggio automatico delle applicazioni, GKE rileva le istanze di carichi di lavoro supportati di cui è stato eseguito il deployment e le risorse PodMonitoring
per ogni istanza di carico di lavoro rilevata.
Il monitoraggio automatico delle applicazioni installa anche dashboard pronte all'uso per monitorare le applicazioni. Le metriche vengono raccolte da Google Cloud Managed Service per Prometheus.
Workload supportati
Il monitoraggio automatico delle applicazioni supporta i seguenti carichi di lavoro:
Per ulteriori informazioni su altre soluzioni di osservabilità pronte all'uso che puoi configurare manualmente, consulta Introduzione alla configurazione degli esportatori nella documentazione di Google Cloud Observability.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installa e poi
inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo
gcloud components update
.
- Abilita l'API Cloud Monitoring.
Requisiti per il monitoraggio automatico delle applicazioni
Per abilitare il monitoraggio automatico delle applicazioni, il cluster GKE deve soddisfare i seguenti requisiti:
- Nel cluster deve essere installata la versione GKE 1.28 o successiva.
- Devi disporre della versione 492.0.0 o successiva gcloud CLI.
- Nel cluster deve essere attivata la raccolta gestita di Google Cloud Managed Service per Prometheus. La raccolta gestita di Google Cloud Managed Service per Prometheus è abilitata per impostazione predefinita per i nuovi cluster.
Abilita il monitoraggio automatico delle applicazioni
Puoi attivare il monitoraggio automatico delle applicazioni per i cluster GKE nuovi o esistenti utilizzando la console Google Cloud, Google Cloud CLI o l'API GKE.
L'avvio dello scraping delle metriche richiede fino a 10 minuti per i carichi di lavoro supportati dopo il deployment di un nuovo carico di lavoro o l'attivazione del monitoraggio automatico delle applicazioni per un cluster.
Console
Per attivare il monitoraggio automatico delle applicazioni per un nuovo cluster:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud.
Fai clic su
Crea, quindi nella sezione Standard o Autopilot fai clic su Configura.Per un cluster in modalità Autopilot, fai clic su Impostazioni avanzate. Per un cluster in modalità standard, fai clic su Funzionalità.
Nella sezione Operazioni, seleziona Attiva il monitoraggio automatico delle applicazioni.
Fai clic su Crea.
Puoi anche attivare il monitoraggio automatico delle applicazioni per un cluster esistente aggiornando il campo Abilita monitoraggio automatico delle applicazioni nella sezione Operazioni della scheda Dettagli cluster.
gcloud
Per abilitare il monitoraggio automatico delle applicazioni per un nuovo cluster, utilizza l'opzione
--auto-monitoring-scope=ALL
:
gcloud beta container clusters create-auto CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--auto-monitoring-scope=ALL
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
Puoi anche aggiornare un cluster esistente utilizzando il comando
gcloud beta container clusters update
.
API
Per abilitare il monitoraggio automatico delle applicazioni per un nuovo cluster, invia una POST
richiesta al metodo
clusters.create
:
POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters
{
"cluster": {
"name": CLUSTER_NAME
"initialNodeCount": 1,
"monitoringConfig": {
"managedPrometheusConfig": {
"enabled": true,
"autoMonitoringConfig": {
"scope": ALL
}
}
}
}
}
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto Google Cloud.CLUSTER_NAME
: il nome del nuovo cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
Determinare se il monitoraggio automatico delle applicazioni è attivo
Puoi determinare se il monitoraggio automatico delle applicazioni è abilitato o disabilitato per un cluster utilizzando la console Google Cloud, gcloud CLI o l'API GKE.
Console
Segui questi passaggi:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud:
Nell'elenco dei cluster, fai clic sul nome del cluster.
Nella sezione Funzionalità, il campo Monitoraggio automatico delle applicazioni indica se il monitoraggio automatico delle applicazioni è attivo o disattivato.
gcloud
Descrivi il cluster:
gcloud container clusters describe CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
L'output è simile al seguente:
autoMonitoringConfig.scope: ALL
Nell'output, se il valore del campo autoMonitoringConfig.scope
è ALL
,
viene attivato il monitoraggio automatico delle applicazioni. In caso contrario, il monitoraggio automatico delle applicazioni viene disattivato.
API
Invia una richiesta GET
al metodo
clusters.get
:
GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto Google Cloud.CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
L'output è simile al seguente:
autoMonitoringConfig.scope: ALL
Nell'output, se il valore del campo autoMonitoringConfig.scope
è ALL
,
viene attivato il monitoraggio automatico delle applicazioni. In caso contrario, il monitoraggio automatico delle applicazioni viene disattivato.
Visualizza dashboard
Quando attivi il monitoraggio automatico delle applicazioni, GKE installa dashboard pronte all'uso per il monitoraggio delle applicazioni per i carichi di lavoro supportati di cui è stato eseguito il deployment nel cluster. Non vengono visualizzate le dashboard per i carichi di lavoro supportati che non sono mai stati eseguiti su un cluster.
Per visualizzare le dashboard con la telemetria dei carichi di lavoro monitorati automaticamente nella pagina Google Kubernetes Engine, procedi nel seguente modo:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud:
Fai clic sul nome del cluster in cui vuoi visualizzare le dashboard per i workload monitorati automaticamente.
Fai clic sulla scheda Osservabilità. La sezione Integrazioni mostra le dashboard configurate per i carichi di lavoro supportati in esecuzione sul cluster.
Per visualizzare le dashboard con la telemetria dei carichi di lavoro monitorati automaticamente nella pagina Cloud Monitoring, procedi nel seguente modo:
Vai alla pagina Dashboard.
Fai clic sulla scheda Elenco dashboard.
Seleziona la categoria Integrazioni.
Fai clic sul nome della dashboard. Ad esempio, Panoramica di Prometheus per RabbitMQ.
Disattivare il monitoraggio automatico delle applicazioni
Se disattivi il monitoraggio automatico delle applicazioni su un cluster, le risorsePodMonitoring
create da GKE rimangono invariate e GKE continua a monitorare i carichi di lavoro supportati esistenti. GKE interrompe il monitoraggio automatico delle nuove istanze dei carichi di lavoro supportati di cui esegui il deployment nel cluster. Per interrompere il monitoraggio dei workload supportati esistenti, devi
eliminare le risorse PodMonitoring
create da GKE. Se riattivi il monitoraggio automatico delle applicazioni per un cluster, GKE rileva e riconcilia le risorse PodMonitoring
create in precedenza.
Puoi disattivare il monitoraggio automatico delle applicazioni per un cluster utilizzando la console Google Cloud, l'gcloud CLI o l'API GKE.
Console
Vai alla pagina Google Kubernetes Engine nella console Google Cloud:
Fai clic sul nome del cluster.
Nell'elenco Funzionalità, individua il campo Monitoraggio automatico delle applicazioni.
Fai clic su editModifica.
Deseleziona Attiva monitoraggio automatico delle applicazioni.
Fai clic su Salva.
gcloud
Aggiorna il cluster utilizzando l'opzione --auto-monitoring-scope=NONE
:
gcloud beta container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--auto-monitoring-scope=NONE
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
API
Invia una richiesta PUT
al metodo
clusters.update
:
PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME
{
"update": {
"desiredMonitoringConfig": {
"managedPrometheusConfig": {
"autoMonitoringConfig": {
"scope": NONE
}
}
}
}
}
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto Google Cloud.CLUSTER_NAME
: il nome del cluster.COMPUTE_LOCATION
: la posizione Compute Engine per il cluster.
Personalizzare il monitoraggio automatico dei carichi di lavoro supportati
Puoi personalizzare la configurazione di monitoraggio per singole istanze di carichi di lavoro supportati o disattivare il monitoraggio di singole istanze di carichi di lavoro supportati.
Per personalizzare la risorsa PodMonitoring
per un'istanza di un workload supportato di cui è stato eseguito il deployment senza influire sul monitoraggio automatico delle applicazioni di altri workload, devi escludere l'istanza dal monitoraggio automatico delle applicazioni e poi aggiornare la configurazione o sostituire la risorsa PodMonitoring
associata all'istanza del workload di destinazione.
Se aggiorni o elimini una risorsa PodMonitoring
creata da GKE senza escludere il carico di lavoro associato, GKE ripristina la risorsa PodMonitoring
per garantire la continuità durante il monitoraggio di altri carichi di lavoro supportati.
Trovare la risorsa PodMonitoring
per un carico di lavoro
Puoi identificare la risorsa PodMonitoring
creata da GKE per un carico di lavoro utilizzando la console Google Cloud:
Vai alla pagina Browser degli oggetti.
Nel campo Cluster, inserisci il nome del cluster.
Nel campo Spazio dei nomi, inserisci il nome dello spazio dei nomi.
Nel filtro Tipi di oggetti, seleziona PodMonitoring.
In monitoring.googleapis.com, seleziona PodMonitoring.
Fai clic sul nome di un oggetto per ispezionarlo. L'etichetta dei metadati
source:gke-auto-monitoring
indica che GKE ha creato la risorsaPodMonitoring
.
Escludere le istanze di cui è stato eseguito il deployment dal monitoraggio automatico
Se non vuoi monitorare un'istanza di un carico di lavoro supportato o se vuoi personalizzare la configurazione di monitoraggio di un carico di lavoro, puoi escluderlo dal monitoraggio automatico delle applicazioni.
Per escludere un carico di lavoro, devi aggiungere l'etichetta dei metadatiallow-gke-auto-monitoring: false
alla configurazione del carico di lavoro di destinazione.
Ad esempio, il seguente manifest descrive un StatefulSet RabbitMQ che
non è monitorato dal monitoraggio automatico delle applicazioni:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: rabbitmq
allow-gke-auto-monitoring: false
spec:
serviceName: rabbitmq
replicas: 3
Dopo aver escluso un'istanza di workload, puoi eliminare la risorsa PodMonitoring
creata da GKE per il workload. GKE
non tenta di ripristinare la risorsa PodMonitoring
se la elimini o la
modifichi. Se esegui il deployment di un nuovo carico di lavoro con l'etichetta dei metadati
allow-gke-auto-monitoring: false
, GKE non crea una risorsa
PodMonitoring
per il carico di lavoro.
Eliminare la configurazione di monitoraggio per un carico di lavoro
Se vuoi interrompere il monitoraggio di un carico di lavoro o se vuoi eseguire il deployment della tua risorsa PodMonitoring
personalizzata per un carico di lavoro, puoi eliminare la configurazione di monitoraggio.
Per eliminare la configurazione del monitoraggio automatico delle applicazioni di un singolo carico di lavoro:
- Escludi il carico di lavoro dal monitoraggio automatico delle applicazioni.
- Identifica la risorsa
PodMonitoring
creata da GKE per il carico di lavoro. Elimina la risorsa
PodMonitoring
:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
Sostituisci quanto segue:
POD_MONITORING_NAME
: il nome della risorsaPodMonitoring
.NAMESPACE
: lo spazio dei nomi della risorsaPodMonitoring
.
Per eliminare la configurazione del monitoraggio automatico delle applicazioni di tutti i carichi di lavoro in un cluster, procedi nel seguente modo:
- Disattiva il monitoraggio automatico delle applicazioni.
Elimina tutte le risorse
PodMonitoring
nel cluster con l'etichetta dei metadatisource:gke-auto-monitoring
:kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
Prezzi
La configurazione e l'installazione di dashboard pronte all'uso per i workload supportati tramite il monitoraggio automatico delle applicazioni sono disponibili senza costi aggiuntivi. Tuttavia, Monitoring addebita costi per l'importazione delle metriche da parte di Google Cloud Managed Service per Prometheus in base ai prezzi di Monitoring.
Passaggi successivi
- Scopri come visualizzare le metriche di osservabilità.