Puoi risparmiare tempo e impegno nella configurazione e nella manutenzione delle applicazioni di monitoraggio eseguite 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 abiliti il monitoraggio automatico delle applicazioni, GKE rileva
le istanze di deployment dei carichi di lavoro supportati
ed esegue il deployment
delle 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 workload:
- Apache Airflow
- Istio
- RabbitMQ
- Server del modello di AI:
L'intervallo di scraping delle metriche per i server dei modelli di AI è di 15 secondi. Per i carichi di lavoro non AI, l'intervallo di scraping è di 30 secondi.
Per saperne di più su altre soluzioni di osservabilità preconfigurate 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à,
installala e poi
inizializzala. Se hai già installato gcloud CLI, scarica l'ultima versione 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:
- Il cluster deve eseguire GKE versione 1.28 o successive.
- Devi disporre della versione 492.0.0 o successive di gcloud CLI.
- Il cluster deve avere abilitata 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'estrazione delle metriche richiede fino a 10 minuti per l'avvio per i workload supportati dopo il deployment di un nuovo workload o dopo l'attivazione del monitoraggio automatico delle applicazioni per un cluster.
Console
Per abilitare il monitoraggio automatico delle applicazioni per un nuovo cluster:
Nella console Google Cloud , vai alla pagina Crea un cluster Autopilot.
Vai a Crea un cluster Autopilot
Puoi completare questa attività anche creando un cluster Standard.
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 monitoraggio automatico delle applicazioni.
Fai clic su Crea.
Puoi anche abilitare 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 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 di Compute Engine per il cluster.
Puoi anche aggiornare un cluster esistente utilizzando il comando
gcloud container clusters update
.
API
Per abilitare il monitoraggio automatico delle applicazioni per un nuovo cluster, invia una richiesta POST
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 di 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 è attivato 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 di Compute Engine per il cluster.
L'output è simile al seguente:
autoMonitoringConfig.scope: ALL
Nell'output, se il valore del campo autoMonitoringConfig.scope
è ALL
,
il monitoraggio automatico delle applicazioni è attivato. In caso contrario, il monitoraggio automatico delle applicazioni
è 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 di Compute Engine per il cluster.
L'output è simile al seguente:
autoMonitoringConfig.scope: ALL
Nell'output, se il valore del campo autoMonitoringConfig.scope
è ALL
,
il monitoraggio automatico delle applicazioni è attivato. In caso contrario, il monitoraggio automatico delle applicazioni
è disattivato.
Visualizza dashboard
Quando abiliti il monitoraggio automatico delle applicazioni, GKE installa dashboard pronte all'uso per monitorare le applicazioni per i workload supportati di cui è stato eseguito il deployment nel cluster. Non vedrai le dashboard per i carichi di lavoro supportati che non sono mai stati eseguiti su un cluster.
Per visualizzare i 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 workload monitorati automaticamente nella pagina Cloud Monitoring:
Vai alla pagina Dashboard.
Fai clic sulla scheda Elenco dashboard.
Seleziona la categoria Integrazioni.
Fai clic sul nome della dashboard. Ad esempio, RabbitMQ Prometheus Overview.
Disattivare il monitoraggio automatico delle applicazioni
Se disabiliti il monitoraggio automatico delle applicazioni su un cluster, le risorse PodMonitoring
create da GKE rimangono intatte e GKE continua a monitorare i carichi di lavoro supportati esistenti. GKE interrompe
il monitoraggio automatico delle nuove istanze dei carichi di lavoro supportati che implementi
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
che ha creato in precedenza.
Puoi disattivare il monitoraggio automatico delle applicazioni per un cluster utilizzando la consoleGoogle Cloud , 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 Abilita monitoraggio automatico delle applicazioni.
Fai clic su Salva.
gcloud
Aggiorna il cluster utilizzando l'opzione --auto-monitoring-scope=NONE
:
gcloud 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 di 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 di Compute Engine per il cluster.
Personalizza il monitoraggio automatico dei carichi di lavoro supportati
Puoi personalizzare la configurazione di monitoraggio per le singole istanze dei workload supportati o disattivare il monitoraggio delle singole istanze dei workload supportati.
Per personalizzare la risorsa PodMonitoring
per un'istanza di un carico di lavoro supportato di cui è stato eseguito il deployment senza influire sul monitoraggio automatico delle applicazioni di altri carichi di lavoro, devi escludere l'istanza dal monitoraggio automatico delle applicazioni e poi aggiornare la configurazione o sostituire la risorsa PodMonitoring
associata all'istanza del carico di lavoro 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 workload
Puoi identificare la risorsa PodMonitoring
creata da GKE
per un carico di lavoro utilizzando la console Google Cloud :
Vai alla pagina Browser 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 esaminarlo. 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 di cui è stato eseguito il deployment o se vuoi personalizzare la configurazione di monitoraggio di un carico di lavoro, puoi escluderlo dal monitoraggio automatico delle applicazioni.
Per escludere un workload, devi aggiungere l'etichetta dei metadati
allow-gke-auto-monitoring: false
alla configurazione del workload di destinazione.
Ad esempio, il seguente manifest descrive un StatefulSet RabbitMQ che
non viene monitorato dal monitoraggio automatico delle applicazioni:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: rabbitmq
labels:
allow-gke-auto-monitoring: "false"
spec:
serviceName: rabbitmq
replicas: 3
Dopo aver escluso un'istanza del workload, puoi eliminare la risorsa PodMonitoring
che GKE ha creato per il workload. GKE
non tenta di ripristinare la risorsa PodMonitoring
se la elimini o
la modifichi. Se esegui il deployment di un nuovo workload con l'etichetta dei metadati
allow-gke-auto-monitoring: false
, GKE non crea una risorsa
PodMonitoring
per il workload.
Elimina la configurazione del monitoraggio per un workload
Se vuoi interrompere il monitoraggio di un carico di lavoro o se vuoi eseguire il deployment di una 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 workload dal monitoraggio automatico delle applicazioni.
- Identifica la risorsa
PodMonitoring
che GKE ha creato per il workload. 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:
- 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 del monitoraggio automatico delle applicazioni delle dashboard pronte all'uso per i workload supportati dal monitoraggio automatico delle applicazioni sono disponibili senza costi aggiuntivi. Tuttavia, Monitoring addebita 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à.