Configurare il monitoraggio automatico delle applicazioni per i carichi di lavoro


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:

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.

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:

  1. 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.

  2. Per un cluster in modalità Autopilot, fai clic su Impostazioni avanzate. Per un cluster in modalità Standard, fai clic su Funzionalità.

  3. Nella sezione Operazioni, seleziona Attiva monitoraggio automatico delle applicazioni.

  4. 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:

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:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud :

    Vai a Google Kubernetes Engine

  2. Nell'elenco dei cluster, fai clic sul nome del cluster.

  3. 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:

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:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud :

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster in cui vuoi visualizzare le dashboard per i workload monitorati automaticamente.

  3. 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:

  1. Vai alla pagina Dashboard.

    Accedi a Dashboard

  2. Fai clic sulla scheda Elenco dashboard.

  3. Seleziona la categoria Integrazioni.

  4. 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

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud :

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster.

  3. Nell'elenco Funzionalità, individua il campo Monitoraggio automatico delle applicazioni.

  4. Fai clic su Modifica.

  5. Deseleziona Abilita monitoraggio automatico delle applicazioni.

  6. 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:

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 :

  1. Vai alla pagina Browser oggetti.

    Vai al visualizzatore oggetti

  2. Nel campo Cluster, inserisci il nome del cluster.

  3. Nel campo Spazio dei nomi, inserisci il nome dello spazio dei nomi.

  4. Nel filtro Tipi di oggetti, seleziona PodMonitoring.

  5. In monitoring.googleapis.com, seleziona PodMonitoring.

  6. Fai clic sul nome di un oggetto per esaminarlo. L'etichetta dei metadati source:gke-auto-monitoring indica che GKE ha creato la risorsa PodMonitoring.

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:

  1. Escludi il workload dal monitoraggio automatico delle applicazioni.
  2. Identifica la risorsa PodMonitoring che GKE ha creato per il workload.
  3. Elimina la risorsa PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    Sostituisci quanto segue:

    • POD_MONITORING_NAME: il nome della risorsa PodMonitoring.
    • NAMESPACE: lo spazio dei nomi della risorsa PodMonitoring.

Per eliminare la configurazione del monitoraggio automatico delle applicazioni di tutti i carichi di lavoro in un cluster:

  1. Disattiva il monitoraggio automatico delle applicazioni.
  2. Elimina tutte le risorse PodMonitoring nel cluster con l'etichetta dei metadati source: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