Scalabilità in base alle metriche di monitoraggio


La scalabilità automatica in base alle metriche di Cloud Monitoring consente di regolare la capacità necessaria in base alle misurazioni dell'app. Quando esegui la scalabilità automatica di un gruppo di istanze gestite in base a una metrica, lo strumento di scalabilità automatica crea VM quando il valore della metrica aumenta ed elimina le VM quando il valore diminuisce.

Ad esempio, puoi definire quante VM ti occorrono in base al numero di utenti, alla latenza o al numero di messaggi in un abbonamento Pub/Sub. Puoi utilizzare le metriche integrate offerte dal servizio Monitoring o le metriche personalizzate esportate dalla tua applicazione.

Questo documento descrive come eseguire la scalabilità automatica di un gruppo di istanze gestite (MIG) in base alle metriche di monitoraggio.

Puoi anche eseguire la scalabilità automatica di un gruppo di istanze gestite in base a utilizzo della CPU, capacità di gestione del bilanciamento del carico o pianificazioni.

Prima di iniziare

  • Scopri i concetti fondamentali dell'autoscalabilità.
  • Scopri di più sui concetti delle metriche di monitoraggio utilizzati in una configurazione di scalabilità automatica.
  • Se vuoi eseguire la scalabilità automatica in base a una metrica di Ops Agent, installa Ops Agent.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

La scalabilità in base alle metriche di monitoraggio è limitata dalle limitazioni per tutti i gestori della scalabilità, nonché dalle seguenti limitazioni:

  • Puoi configurare la scalabilità automatica in base a un massimo di 5 metriche di monitoraggio per gruppo di istanze gestite.
  • Puoi eseguire il ridimensionamento automatico in base alle metriche con tipi di valore INT64 o DOUBLE soltanto. Gli altri tipi di valori non sono supportati.
  • Non puoi configurare la stessa metrica più di una volta in un criterio di scalabilità automatica.

Configura la scalabilità automatica in base alle metriche di monitoraggio

Puoi utilizzare un valore della metrica di monitoraggio per la scalabilità automatica in due modi diversi:

  • Target di utilizzo: se vuoi che il gestore della scalabilità automatica mantenga una metrica su un valore specifico, configura un target di utilizzo. Il gestore della scalabilità automatica crea VM quando il valore della metrica è superiore al target ed elimina le VM quando il valore della metrica è inferiore al target. Questo è utile per misurare parametri come il traffico di rete, l'utilizzo della memoria/del disco o la latenza media della tua applicazione. Il seguente diagramma mostra come un gestore della scalabilità automatica aggiunge e rimuove VM in risposta a un valore della metrica per mantenere un target di utilizzo.

    Il gestore della scalabilità automatica aggiunge e rimuove VM per mantenere un target di utilizzo.

  • Assegnazione di un'istanza singola: se vuoi eseguire la scalabilità automatica in base al volume di lavoro disponibile da assegnare a ogni VM, configura un'assegnazione di un'istanza singola. L'assegnazione di un'istanza singola che specifichi rappresenta la quantità di lavoro che prevedi verrà gestita da ogni VM. Il gestore della scalabilità automatica divide il valore della metrica per il valore dell'assegnazione di una singola istanza per calcolare quante VM sono necessarie. Ad esempio, se la metrica è pari a 100 e l'assegnazione di una singola istanza è 5, lo strumento di scalabilità automatica crea 20 VM nel gruppo di istanze gestite. Questo è utile per le metriche che riflettono la quantità di lavoro, ad esempio la lunghezza della coda Pub/Sub o il conteggio dei job batch. L'assegnazione di un'istanza singola non si applica alle metriche provenienti da ogni VM. Il seguente diagramma mostra la relazione proporzionale tra il valore della metrica e il numero di VM quando si esegue il ridimensionamento con l'assegnazione di una singola istanza.

    La relazione proporzionale tra il valore della metrica e il numero di istanze.

Scalabilità automatica per mantenere una metrica su un valore target

Quando vuoi mantenere una metrica su un valore target, specifica un target di utilizzo. Il gestore della scalabilità automatica crea VM quando il valore della metrica è superiore al target ed elimina le VM quando il valore della metrica è inferiore al target.

  • Se la metrica proviene da ogni VM del tuo gruppo di istanze gestite, il gestore della scalabilità automatica prende il valore medio della metrica in tutte le VM del gruppo di istanze gestite e lo confronta con il target di utilizzo. Ad esempio, se vuoi eseguire la scalabilità automatica utilizzando la metrica tcp_connections che indica il numero di connessioni TCP su una VM, il gestore della scalabilità automatica prende un numero medio di connessioni TCP su tutte le VM del gruppo di istanze gestite (MIG) da confrontare con il target. Quando utilizzi queste metriche che provengono da una VM, il gruppo MIG non può eseguire fare lo scale in a 0 perché il gestore della scalabilità automatica richiede almeno una VM per pubblicare un valore della metrica.

  • Se la metrica si applica all'intero gruppo di istanze gestite e non proviene dalle VM al suo interno, il gestore della scalabilità automatica confronta il valore della metrica con il valore target di utilizzo. Ad esempio, puoi utilizzare una metrica personalizzata che misura la latenza della applicazione.

Quando la metrica ha più valori, applica un filtro alla scalabilità automatica utilizzando un singolo valore della metrica. Per ulteriori dettagli sui filtri delle metriche e su altri campi che puoi utilizzare nella configurazione, consulta Concetti relativi alle metriche di monitoraggio.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Se non hai un gruppo di istanze gestite, creane uno. In caso contrario, fai clic sul nome di un gruppo di istanze dall'elenco per aprirne la pagina.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, se esiste un indicatore per una metrica di Cloud Monitoring, puoi fare clic per modificarlo o fare clic su Aggiungi un indicatore per aggiungerne uno nuovo.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Nel riquadro Risorsa e metrica visualizzato, svolgi quanto segue:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica da utilizzare per la scalabilità automatica. Puoi filtrare le metriche in base a qualsiasi parola chiave, ad esempio memoria, byte, disco.
      2. Fai clic su Applica. Il riquadro mostra un grafico che indica i dati della metrica selezionata.
    2. Se vuoi utilizzare dati specifici della metrica, aggiungi un filtro basato sulle etichette come segue:

      1. Nella sezione Filtri, fai clic su Aggiungi un filtro.
      2. Seleziona un'Etichetta e inserisci un Valore.
      3. Fai clic su Fine. Il grafico viene aggiornato per mostrare il valore filtrato della metrica.
    3. Per visualizzare il valore aggregato della metrica che verrà utilizzato per eseguire la scalabilità automatica del tuo gruppo di istanze gestite, attiva/disattiva il pulsante Mostra aggregazione nel grafico. Il grafico viene aggiornato per mostrare il valore aggregato.

    4. Nella sezione Opzioni del target della metrica per la scalabilità automatica, seleziona Target di utilizzo.

    5. Fornisci quanto segue:

      1. Target di utilizzo: specifica il valore che deve mantenere il gestore della scalabilità automatica. Deve essere un numero positivo. Ad esempio, sia 24,5 sia 100 sono valori accettabili.
      2. Tipo di target di utilizzo: seleziona un tipo di target corrispondente al tipo di misurazione della metrica. Per confronti accurati, se il target di utilizzo viene misurato al secondo, utilizza Delta / secondo come tipo di target. Analogamente, utilizza Delta / min per un target di utilizzo misurato in base ai minuti.
        • Indicatore: il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi due minuti e lo confronta con il target di utilizzo.
        • Delta / min: il gestore della scalabilità automatica calcola la media della crescita al minuto e la confronta con il target di utilizzo.
        • Delta / secondo: il gestore della scalabilità automatica calcola la media della crescita al secondo e la confronta con il target di utilizzo.
    6. Al termine della configurazione della metrica, fai clic su Seleziona.

  8. Esamina i dettagli della metrica e fai clic su Fine.

  9. Per completare la configurazione, fai clic su Salva.

gcloud

Per configurare la scalabilità automatica in base alle metriche di monitoraggio, utilizza il comando set-autoscaling.

Utilizza il comando seguente per eseguire la scalabilità automatica in base a una metrica di monitoraggio con un target di utilizzo.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=METRIC_URL \
  --stackdriver-metric-utilization-target=TARGET_VALUE \
  --stackdriver-metric-utilization-target-type=TARGET_TYPE

Se la metrica ha più valori e vuoi utilizzare un singolo valore per la scalabilità automatica, utilizza il flag --stackdriver-metric-filter come indicato nel seguente comando.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=METRIC_URL \
  --stackdriver-metric-utilization-target=TARGET_VALUE \
  --stackdriver-metric-utilization-target-type=TARGET_TYPE \
  --stackdriver-metric-filter="METRIC_FILTER"

Sostituisci quanto segue:

  • MIG_NAME: il gruppo di istanze gestite in cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il MIG può avere.
  • MIN_INSTANCES: il numero minimo di VM che il MIG deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di monitoraggio. Ad esempio, compute.googleapis.com/instance/uptime. Se utilizzi una metrica personalizzata, deve soddisfare i requisiti delle metriche personalizzate.
  • TARGET_VALUE: il valore della metrica che il ridimensionamento automatico tenta di mantenere.
  • TARGET_TYPE: il tipo di valore per la metrica.
    • gauge Il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi due minuti e lo confronta con il valore target di utilizzo.
    • delta-per-minute Il gestore della scalabilità automatica calcola la media della crescita al minuto e la confronta con il target di utilizzo.
    • delta-per-second il gestore della scalabilità automatica calcola la media della crescita al secondo e la confronta con il target di utilizzo. Per confronti accurati, se imposti il target di utilizzo in secondi, utilizza delta-per-second come tipo di target. Analogamente, utilizza delta-per-minute per un obiettivo di utilizzo in minuti.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica con più valori e per specificare il tipo di risorsa monitorata. Se utilizzi una metrica proveniente da ogni VM, non devi specificare il tipo di risorsa monitorata perché viene utilizzato come valore predefinito gce_instance. Per altre metriche, utilizza resource.type nell'espressione del filtro per specificare la risorsa monitorata. Per scoprire di più su metric filter, consulta Concetti relativi alle metriche di monitoraggio.

Per visualizzare un elenco completo dei comandi e dei flag disponibili per l'interfaccia a riga di comando gcloud, consulta la documentazione di riferimento di gcloud.

REST

Per configurare la scalabilità automatica in base alle metriche di monitoraggio per un MIG zonale, utilizza la risorsa autoscalers o, per un MIG regionale, la risorsa regionAutoscalers.

Esegui la seguente chiamata per eseguire la scalabilità automatica di un gruppo di istanze gestite zonale basata su una metrica di monitoraggio con un target di utilizzo.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
 "name": "AUTOSCALER_NAME",
 "target": "zones/ZONE/instanceGroupManagers/MIG_NAME",
 "autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
    {
      "metric": "METRIC_URL",
      "utilizationTarget": TARGET_VALUE,
      "utilizationTargetType": TARGET_TYPE
    }
  ],
 }
}

Se la metrica ha più valori e vuoi utilizzare un singolo valore per la scalabilità automatica, utilizza il parametro filter come indicato nella seguente chiamata API.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
 "name": "AUTOSCALER_NAME",
 "target": "zones/ZONE/instanceGroupManagers/MIG_NAME",
 "autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
    {
      "metric": "METRIC_URL",
      "utilizationTarget": TARGET_VALUE,
      "utilizationTargetType": TARGET_TYPE,
      "filter": "METRIC_FILTER"
    }
  ],
 }
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome del gestore della scalabilità automatica.
  • MIG_NAME: il gruppo di istanze gestite in cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il MIG può avere.
  • MIN_INSTANCES: il numero minimo di VM che il MIG deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di monitoraggio. Ad esempio, compute.googleapis.com/instance/uptime. Se utilizzi una metrica personalizzata, deve soddisfare i requisiti delle metriche personalizzate.
  • TARGET_VALUE: il valore della metrica che il ridimensionamento automatico tenta di mantenere.
  • TARGET_TYPE: il tipo di valore per la metrica.
    • GAUGE: il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi due minuti e lo confronta con il valore di utilizzo target.
    • DELTA_PER_MINUTE Il gestore della scalabilità automatica calcola il tasso medio di crescita al minuto e lo confronta con il target di utilizzo.
    • DELTA_PER_SECOND Il gestore della scalabilità automatica calcola la media della crescita al secondo e la confronta con il target di utilizzo. Per confronti accurati, se imposti il target di utilizzo in secondi, utilizza DELTA_PER_SECOND come tipo di target. Analogamente, utilizza DELTA_PER_MINUTE per un obiettivo di utilizzo in minuti.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica con più valori e per specificare il tipo di risorsa monitorata. Se utilizzi una metrica proveniente da ogni VM, non devi specificare il tipo di risorsa monitorata perché viene utilizzato come valore predefinito gce_instance. Per altre metriche, devi specificare la risorsa monitorata utilizzando il selettore resource.type. Per scoprire di più su metric filter, consulta Concetti relativi alle metriche di monitoraggio.

Scalabilità automatica in base al lavoro disponibile per ogni VM in un gruppo di istanze gestite

Quando vuoi eseguire il ridimensionamento automatico in base alla quantità di lavoro disponibile per ogni VM in un gruppo di istanze gestite, specifica un'assegnazione di un'istanza singola. Il valore dell'assegnazione di un'istanza singola impostato indica quanto lavoro prevedi che ogni VM debba gestire. Il gestore della scalabilità automatica divide il valore della metrica per il valore dell'assegnazione di una singola istanza per calcolare quante VM sono necessarie.

Un valore della metrica pari a 0 indica che non sono presenti attività da completare per il gruppo di istanze gestite. Se il numero minimo di istanze del MIG è impostato su 0 e il valore della metrica scende a 0, il MIG si riduce a 0 finché il valore della metrica non aumenta.

Quando la metrica ha più valori, applica un filtro alla scalabilità automatica utilizzando un singolo valore della metrica. Per ulteriori dettagli sui filtri delle metriche e su altri campi che puoi utilizzare nella configurazione, consulta Concetti relativi alle metriche di monitoraggio.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Se non hai un gruppo di istanze gestite, creane uno. In caso contrario, fai clic sul nome di un gruppo di istanze MIG dall'elenco per aprire la pagina del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, se esiste un indicatore per una metrica di monitoraggio, puoi fare clic per modificarlo o fare clic su Aggiungi un indicatore per aggiungere una nuova metrica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Nel riquadro Risorsa e metrica visualizzato, svolgi quanto segue:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica da utilizzare per la scalabilità automatica. Puoi filtrare le metriche in base a qualsiasi parola chiave, ad esempio memoria, byte, disco.
      2. Fai clic su Applica. Il riquadro mostra un grafico che indica i dati della metrica selezionata.
    2. Se vuoi utilizzare dati specifici della metrica, aggiungi un filtro basato sulle etichette come segue:

      1. Nella sezione Filtri, fai clic su Aggiungi un filtro.
      2. Seleziona un'Etichetta e inserisci un Valore.
      3. Fai clic su Fine. Il grafico viene aggiornato per mostrare il valore della metrica filtrata.
    3. Per visualizzare il valore aggregato della metrica che verrà utilizzato per eseguire la scalabilità automatica del tuo gruppo di istanze gestite, attiva/disattiva il pulsante Mostra aggregazione nel grafico. Il grafico viene aggiornato per mostrare il valore aggregato.

    4. Nella sezione Opzioni del target della metrica per la scalabilità automatica, seleziona Assegnazione di un'istanza VM singola.

    5. Specifica un valore Assegnazione di un'istanza singola che rappresenti la quantità di lavoro da assegnare a ogni VM nel gruppo di istanze gestite.

    6. Al termine della configurazione della metrica, fai clic su Seleziona.

  8. Esamina i dettagli della metrica e fai clic su Fine.

  9. Per completare la configurazione, fai clic su Salva.

gcloud

Per configurare la scalabilità automatica in base alle metriche di monitoraggio, utilizza il comando set-autoscaling.

Nel comando, specifica il flag --stackdriver-metric-single-instance-assignment per indicare la quantità di lavoro che prevedi verrà gestita da ogni VM nel gruppo.

Il seguente comando crea un gestore della scalabilità automatica in base all'assegnazione del lavoro per ogni VM.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
    --max-num-replicas=MAX_INSTANCES \
    --min-num-replicas=MIN_INSTANCES \
    --update-stackdriver-metric=METRIC_URL \
    --stackdriver-metric-filter="METRIC_FILTER" \
    --stackdriver-metric-single-instance-assignment=INSTANCE_ASSIGNMENT

Sostituisci quanto segue:

  • MIG_NAME: il nome del gruppo di istanze gestite in cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il MIG può avere.
  • MIN_INSTANCES: il numero minimo di VM che il MIG deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di monitoraggio. Ad esempio, compute.googleapis.com/instance_group/size. Se utilizzi una metrica personalizzata, deve soddisfare i requisiti delle metriche personalizzate.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica con più valori e per specificare il tipo di risorsa monitorata. Per scoprire di più sul filtro delle metriche, consulta Concetti relativi alle metriche di monitoraggio.
  • INSTANCE_ASSIGNMENT: la quantità di lavoro da assegnare a ogni istanza VM nel gruppo di istanze gestite.

REST

Per configurare la scalabilità automatica in base alle metriche di monitoraggio per un MIG zonale, utilizza la risorsa autoscalers o, per un MIG regionale, la risorsa regionAutoscalers.

Utilizza il parametro singleInstanceAssignment per specificare la quantità di lavoro che prevedi verrà gestita da ogni VM.

Ad esempio, effettua la chiamata seguente per creare un gestore della scalabilità automatica che scala un gruppo di istanze gestite a livello di zona in base all'assegnazione dell'istanza.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers

{
 "name": "AUTOSCALER_NAME",
 "target": "zones/ZONE/instanceGroupManagers/MIG_NAME",
 "autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
    {
      "metric": "METRIC_URL",
      "filter": "METRIC_FILTER",
      "singleInstanceAssignment": INSTANCE_ASSIGNMENT
    }
  ],
 }
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome del gestore della scalabilità automatica.
  • MIG_NAME: il nome del gruppo di istanze gestite in cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il MIG può avere.
  • MIN_INSTANCES: il numero minimo di VM che il MIG deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di monitoraggio. Ad esempio, compute.googleapis.com/instance_group/size. Se utilizzi una metrica personalizzata, deve soddisfare i requisiti delle metriche personalizzate.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica con più valori e per specificare il tipo di risorsa monitorata. Per scoprire di più sul filtro delle metriche, consulta Concetti relativi alle metriche di monitoraggio.
  • INSTANCE_ASSIGNMENT: la quantità di lavoro da assegnare a ogni istanza VM nel gruppo di istanze gestite.

Esempi di scalabilità automatica in base alle metriche

Questa sezione fornisce alcuni esempi di metriche utilizzate per la scalabilità automatica. Per un elenco completo delle metriche, consulta Metriche di Google Cloud.

Scalabilità automatica in base a una metrica personalizzata

Potrebbe verificarsi una situazione in cui la metrica che fornisce un indicatore pertinente non rappresenta un volume totale di lavoro disponibile o un'altra risorsa applicabile al gruppo, ma una media, un percentile o un'altra proprietà statistica. Per questo esempio, supponiamo di eseguire la scalabilità in base alla latenza media di elaborazione del gruppo.

Supponiamo la seguente configurazione:

  • A un gruppo di istanze gestite a livello di zona denominato our-instance-group viene assegnata l'esecuzione di una determinata attività. Il gruppo si trova nella zona us-central1-a.
  • Hai una metrica personalizzata di monitoraggio che esporta un valore che vuoi mantenere a un determinato livello. Per questo esempio, supponiamo che la metrica rappresenti la latenza media dell'elaborazione delle query assegnate al gruppo.
    • La metrica personalizzata è denominata: custom.googleapis.com/example_average_latency.
    • La metrica personalizzata ha un'etichetta con una chiave denominata group_name e un valore uguale al nome del gruppo di istanze gestite, our-instance-group.
    • La metrica personalizzata esporta i dati per la risorsa monitorata globale, ovvero non è associata a una VM specifica.

Hai stabilito che quando il valore della metrica è superiore a un valore specifico, devi aggiungere altre VM al gruppo per gestire il carico, mentre quando è inferiore a quel valore, puoi liberare alcune risorse. Vuoi che il gestore della scalabilità automatica aggiunga o rimuovi gradualmente le VM a una velocità proporzionale alla misura in cui la metrica è superiore o inferiore al target. Per questo esempio, supponiamo che tu abbia stabilito un valore target pari a 250 delta/sec.

Puoi configurare la scalabilità automatica per il gruppo utilizzando un valore di destinazione di utilizzo di 250, che rappresenta la velocità di variazione del valore della metrica che il gestore della scalabilità automatica tenterà di mantenere:

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, fai clic su Aggiungi un indicatore nella sezione Indicatori di scalabilità automatica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Viene visualizzato il riquadro Risorsa e metrica.

    1. Fai clic su Seleziona una metrica.
      1. Scegli la metrica da Globale > Metriche personalizzate.
      2. Fai clic su Applica.
    2. Nella sezione Filtri:
      1. Fai clic su Aggiungi un filtro.
      2. Nel menu a discesa Etichetta, seleziona group_name.
      3. Nel campo Valore, inserisci our-instance-group.
      4. Fai clic su Fine. Il grafico viene aggiornato per mostrare il valore filtrato della metrica.
    3. Nella sezione Opzioni del target della metrica per la scalabilità automatica, segui questi passaggi:
      1. Seleziona Target di utilizzo.
      2. Inserisci il valore target di utilizzo pari a 250.
      3. Imposta il tipo di target di utilizzo su Delta / sec.
    4. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e poi fai clic su Fine.

  9. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling our-instance-group \
  --zone=us-central1-a \
  --max-num-replicas=50 \
  --min-num-replicas=0 \
  --update-stackdriver-metric=custom.googleapis.com/example_average_latency \
  --stackdriver-metric-filter="metric.labels.group_name = \"our-instance-group\" AND resource.type = \"global\"" \
  --stackdriver-metric-utilization-target=250 \
  --stackdriver-metric-utilization-target-type=delta-per-second

REST

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/autoscalers
{
"name": "our-instance-group-autoscaler",
"target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceGroupManagers/our-instance-group",
"autoscalingPolicy": {
  "maxNumReplicas": 50,
  "minNumReplicas": 0,
  "customMetricUtilizations": [
    {
      "filter": "metric.labels.group_name=\"our-instance-group\" AND resource.type = \"global\"",
      "utilizationTargetType": "delta-per-second",
      "utilizationTarget": 250.0,
      "metric": "custom.googleapis.com/example_average_latency"
    }
  ]
}
}

Scalabilità automatica in base ai messaggi non confermati in Pub/Sub

Per configurare la scalabilità automatica in base ai messaggi non confermati in una sottoscrizione Pub/Sub, utilizza la metrica subscription/num_undelivered_messages fornito da pubsub e filtra in base a subscription ID.

La metrica subscription/num_undelivered_messages esporta il numero totale di messaggi nella sottoscrizione, inclusi i messaggi in fase di elaborazione, ma non ancora confermati. L'utilizzo di una metrica che non include i messaggi in fase di elaborazione non è consigliato perché questa metrica può scendere a 0 quando è ancora in corso un lavoro, il che richiede l'autoscalabilità per fare lo scale in risorse e, eventualmente, interrompere il lavoro effettivo.

Se non hai un abbonamento, puoi crearne uno di tipo pull, push o BigQuery prima di configurare la scalabilità automatica.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. Nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  6. Imposta Tipo di indicatore su Coda Cloud Pub/Sub.

  7. Seleziona un argomento. Se vuoi un nuovo argomento, fai clic su Crea un argomento per crearlo.

  8. Seleziona l'abbonamento in base al quale vuoi eseguire la scalabilità automatica del gruppo di istanze gestite. Se vuoi un nuovo abbonamento, fai clic su Crea un abbonamento per crearne uno.

  9. Nel campo Numero di messaggi da assegnare a ogni VM, specifica il numero di messaggi non confermati che prevedi verranno gestiti da ogni VM.

  10. Fai clic su Fine.

  11. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=pubsub.googleapis.com/subscription/num_undelivered_messages \
  --stackdriver-metric-filter="resource.type=\"pubsub_subscription\" AND resource.labels.subscription_id=\"SUBSCRIPTION_ID\"" \
  --stackdriver-metric-single-instance-assignment=NUMBER_OF_MESSAGES_TO_ASSIGN_TO_EACH_VM

REST

Per configurare la scalabilità automatica per un gruppo di istanze gestite a livello di zona, utilizza la risorsa autoscalers o, per un gruppo di istanze gestite a livello di regione, utilizza la risorsa regionAutoscalers.

Ad esempio, esegui la seguente chiamata per creare un gestore della scalabilità automatica per un gruppo di istanze gestite a livello di zona.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME",
"autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
    {
      "singleInstanceAssignment": NUMBER_OF_MESSAGES_TO_ASSIGN_TO_EACH_VM,
      "filter": "resource.type = \"pubsub_subscription\" AND resource.labels.subscription_id=\"SUBSCRIPTION_ID\"",
      "metric": "pubsub.googleapis.com/subscription/num_undelivered_messages"
    }
  ]
}
}

Scalabilità automatica in base al traffico di rete in entrata

Per configurare la scalabilità automatica in base al traffico di rete in entrata verso le VM nel tuo MIG, utilizza la metrica instance/network/received_bytes_count fornita da compute.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, fai clic su Aggiungi un indicatore nella sezione Indicatori di scalabilità automatica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Viene visualizzato il riquadro Risorsa e metrica.

    1. Fai clic su Seleziona una metrica.
      1. Seleziona Istanza VM > Istanza > Byte ricevuti (compute.googleapis.com/instance/network/received_bytes_count).
      2. Fai clic su Applica.
    2. Nella sezione Opzioni del target della metrica per la scalabilità automatica, segui questi passaggi:
      1. Assicurati che sia selezionata l'opzione Target di utilizzo.
      2. Inserisci un valore target di utilizzo.
      3. Imposta un tipo di target di utilizzo.
    3. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e poi fai clic su Fine.

  9. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=compute.googleapis.com/instance/network/received_bytes_count \
  --stackdriver-metric-utilization-target=TARGET_VALUE \
  --stackdriver-metric-utilization-target-type=TARGET_TYPE

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME",
"autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
    {
      "utilizationTargetType": "TARGET_TYPE",
      "utilizationTarget": TARGET_VALUE,
      "metric": "compute.googleapis.com/instance/network/received_bytes_count"
    }
  ]
}
}

Scalabilità automatica in base all'utilizzo della memoria

Per configurare la scalabilità automatica in base alla percentuale di memoria utilizzata, specifica la metrica percent_used fornita dalle metriche di Ops Agent per la memoria. Devi filtrare la metrica in base a state per utilizzare solo lo stato della memoria used. Se non specifichi il filtro, lo strumento di scalabilità prende la somma dell'utilizzo della memoria da parte di tutti gli stati della memoria etichettati come buffered, cached, free, slab e used.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Nella pagina di panoramica del gruppo di istanze, fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, fai clic su Aggiungi un indicatore nella sezione Indicatori di scalabilità automatica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Viene visualizzato il riquadro Risorsa e metrica.

    1. Fai clic su Seleziona una metrica.
      1. Seleziona Istanza VM > Memoria > Utilizzo memoria (compute.googleapis.com/instance/memory/percent_used).
      2. Fai clic su Applica.
    2. Nella sezione Filtri:
      1. Fai clic su Aggiungi un filtro.
      2. Nel menu a discesa Etichetta, scegli l'etichetta della metrica stato.
      3. Nel campo Valore, digita used.
      4. Fai clic su Fine.
    3. Nella sezione Opzioni del target della metrica per la scalabilità automatica, segui questi passaggi:
      1. Assicurati che sia selezionata l'opzione Target di utilizzo.
      2. Inserisci un valore target di utilizzo.
      3. Imposta il tipo di target di utilizzo su Indicatore.
    4. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e poi fai clic su Fine.

  9. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=agent.googleapis.com/memory/percent_used \
  --stackdriver-metric-filter="metric.labels.state = \"used\""
  --stackdriver-metric-utilization-target-type=gauge \
  --stackdriver-metric-utilization-target=TARGET_VALUE  \

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME",
"autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
  {
    "filter": "metric.labels.state=\"used\"",
    "utilizationTargetType": "GAUGE",
    "utilizationTarget": TARGET_VALUE,
    "metric": "agent.googleapis.com/memory/percent_used"
  }
  ]
}
}

Scalabilità automatica in base all'I/O disco

Per configurare la scalabilità automatica in base al numero totale di operazioni I/O del disco, utilizza la metrica operation_count fornita dalle metriche di Ops Agent per il disco. Se vuoi eseguire la scalata in base alle operazioni di lettura o scrittura, filtra la metrica utilizzando l'etichetta direction. Analogamente, per eseguire il ridimensionamento in base alle operazioni del disco in un determinato dispositivo, utilizza l'etichetta device nel filtro delle metriche.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Nella pagina di panoramica del gruppo di istanze, fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, fai clic su Aggiungi un indicatore nella sezione Indicatori di scalabilità automatica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Viene visualizzato il riquadro Risorsa e metrica.

    1. Fai clic su Seleziona una metrica.
      1. Seleziona Istanza VM > Disco > Operazioni disco (agent.googleapis.com/disk/operation_count).
      2. Fai clic su Applica.
    2. Nella sezione Opzioni del target della metrica per la scalabilità automatica, segui questi passaggi:
      1. Assicurati che sia selezionata l'opzione Target di utilizzo.
      2. Inserisci un valore target di utilizzo.
      3. Imposta un tipo di target di utilizzo.
    3. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e poi fai clic su Fine.

  9. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
  --max-num-replicas=MAX_INSTANCES  \
  --min-num-replicas=MIN_INSTANCES  \
  --update-stackdriver-metric=agent.googleapis.com/disk/operation_count \
  --stackdriver-metric-utilization-target=TARGET_VALUE  \
  --stackdriver-metric-utilization-target-type=TARGET_TYPE

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME",
"autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
  {
    "utilizationTargetType": "TARGET_TYPE",
    "utilizationTarget": TARGET_VALUE,
    "metric": "agent.googleapis.com/disk/operation_count"
  }
  ]
}
}

Scalabilità automatica in base alle dimensioni di un altro gruppo di istanze gestite

Puoi eseguire la scalabilità automatica di un gruppo di istanze gestite in base alle dimensioni di un altro gruppo di istanze gestite all'interno dello stesso progetto. Ad esempio, puoi avere un'applicazione a più livelli con un MIG frontend che si ridimensiona automaticamente in base a un bilanciatore del carico e un MIG di backend che si ridimensiona automaticamente in proporzione al frontend. Utilizza un singolo assegnamento di istanze per definire quante VM di backend sono necessarie per ogni VM di frontend. Se hai bisogno di una VM di backend per ogni 4 VM di frontend, imposta l'assegnazione di una singola istanza su 4 nel gruppo di istanze gestite di backend.

Per eseguire la scalabilità automatica di un gruppo di istanze gestite (MIG_1) in base alle dimensioni di un altro gruppo di istanze gestite (MIG_2), utilizza la metrica instance_group/size fornita da compute.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del tuo gruppo di istanze nell'elenco per aprire la pagina di panoramica del gruppo di istanze.

  3. Nella pagina di panoramica del gruppo di istanze, fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica.
  5. In Scalabilità automatica, fai clic su Aggiungi un indicatore nella sezione Indicatori di scalabilità automatica.

  6. Imposta Tipo di indicatore su Metrica di Cloud Monitoring.

  7. Fai clic su Configura. Viene visualizzato il riquadro Risorsa e metrica.

    1. Fai clic su Seleziona una metrica
      1. Seleziona Gruppo di istanze > Gruppo_istanze > Dimensione gruppo di istanze (compute.googleapis.com/instance_group/size).
      2. Fai clic su Applica.
    2. Nella sezione Filtri:
      1. Fai clic su Aggiungi un filtro.
      2. Nel menu a discesa Etichetta, scegli l'etichetta della risorsa instance_group_name.
      3. Nel campo Valore, digita il nome del gruppo di istanze gestite (MIG_2) in base al quale vuoi eseguire il ridimensionamento automatico del gruppo di istanze gestite.
      4. Fai clic su Fine.
    3. Nella sezione Opzioni del target della metrica per la scalabilità automatica, segui questi passaggi:
      1. Seleziona Assegnazione di un'istanza VM singola.
      2. Nel campo Assegnazione di un'istanza VM singola, inserisci 4 se vuoi mantenere 1 VM nel tuo MIG attuale (MIG_1) per ogni 4 VM in MIG_2.
    4. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e poi fai clic su Fine.

  9. Al termine, fai clic su Salva.

gcloud

gcloud compute instance-groups managed set-autoscaling MIG_1 \
  --max-num-replicas=MAX_INSTANCES \
  --min-num-replicas=MIN_INSTANCES \
  --update-stackdriver-metric=compute.googleapis.com/instance_group/size \
  --stackdriver-metric-filter="resource.type = \"instance_group\" AND resource.labels.location = \"ZONE|REGION\" AND resource.labels.instance_group_name = \"MIG_2\"" \
  --stackdriver-metric-single-instance-assignment=4

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers
{
"name": "AUTOSCALER_NAME",
"target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_1",
"autoscalingPolicy": {
  "maxNumReplicas": MAX_INSTANCES,
  "minNumReplicas": MIN_INSTANCES,
  "customMetricUtilizations": [
  {
    "singleInstanceAssignment": 4,
    "filter": "resource.type = \"instance_group\" and resource.labels.location = \"ZONE|REGION\" AND resource.labels.instance_group_name = \"MIG_2\"",
    "metric": "compute.googleapis.com/instance_group/size"
  }
  ]
}
}

Concetti relativi alle metriche di monitoraggio

Questa sezione fornisce una breve descrizione dei concetti relativi alle metriche di monitoraggio che devi conoscere durante la configurazione della scalabilità automatica in base alle metriche di monitoraggio.

  • Identificatore metrica o URL metrica: il nome della metrica sotto forma di URL senza protocollo. Puoi trovare gli URL delle metriche integrate nell'elenco delle metriche.

    Ad esempio, l'URL di una metrica Pub/Sub che indica il numero di messaggi non confermati è pubsub.googleapis.com/subscription/num_undelivered_messages.

  • Tipo di risorsa monitorata: l'origine del valore della metrica. Puoi trovare il tipo di risorsa monitorata di una metrica nell'elenco delle metriche.

    Ad esempio, il tipo di risorsa monitorata della metrica pubsub.googleapis.com/subscription/num_undelivered_messages è pubsub_subscription. Per maggiori dettagli su ciascun tipo di risorsa monitorata, consulta Tipi di risorse monitorate.

  • Filtro metrica: quando la metrica ha più valori, un filtro consente all'autoscaler di identificare un valore metrica specifico dall'insieme di possibili valori metrica. Utilizza le etichette definite per una metrica e un tipo di risorsa monitorata per filtrare i valori. Se vuoi esplorare i valori delle metriche con diversi filtri, puoi provarli nell'esploratore delle metriche.

    Ad esempio, lo screenshot seguente mostra la metrica pubsub.googleapis.com/subscription/num_undelivered_messages che indica il numero di messaggi non confermati in tutti gli abbonamenti disponibili. Ogni linea del grafico indica un abbonamento.

    Esploratore delle metriche che mostra i valori delle metriche senza filtro.

    Senza un filtro, lo strumento di scalabilità automatica prende la somma dei valori delle metriche da tutti gli abbonati. Per eseguire la scalabilità automatica in base a un singolo abbonamento, applica un filtro all'etichetta subscription_id definita per pubsub_subscription. Lo screenshot seguente mostra un singolo abbonamento dopo l'applicazione del filtro.

    Esploratore delle metriche che mostra il valore della metrica filtrata.

Requisiti per i filtri delle metriche

Quando utilizzi una metrica con più valori (classificati utilizzando le etichette), puoi applicare un filtro per la scalabilità automatica in base a valori specifici della metrica. Se il filtro restituisce più valori, questi vengono sommati. Per risultati ottimali, crea un filtro sufficientemente specifico da restituire un singolo valore.

Il filtro del gestore della scalabilità automatica per le metriche è compatibile con la sintassi del filtro di monitoraggio. Il filtro deve soddisfare i seguenti requisiti:

  • Devi racchiudere il valore di un filtro tra virgolette doppie.
  • Devi utilizzare l'operatore di confronto diretto per l'uguaglianza (=).
  • Devi utilizzare l'operatore AND per unire diversi criteri di filtro.

    Ad esempio: --stackdriver-metric-filter="resource.type=\"pubsub_subscription\" AND resource.labels.subscription_id=\"our-subscription\"".

  • Devi utilizzare valori diretti. Non puoi utilizzare caratteri jolly o funzioni nel filtro.

    Ad esempio, non puoi utilizzare resource.labels.zone = starts_with("us-").

  • Non puoi utilizzare le etichette dei metadati delle risorse che memorizzano i metadati di una risorsa monitorata.

Per un riferimento completo delle etichette delle metriche e delle etichette risorsa monitorata su cui puoi applicare i filtri, consulta l'elenco delle metriche e l'elenco delle risorse monitorate.

Requisiti delle metriche personalizzate

Per utilizzare le metriche personalizzate, devi prima creare una metrica personalizzata associata a uno dei tipi di risorse monitorate.

Una metrica personalizzata utilizzata per la scalabilità automatica deve avere le seguenti proprietà:

  • Se la configurazione della scalabilità automatica utilizza i dati di ogni VM del gruppo, configura le istanze nel tuo gruppo di istanze gestite in modo che ogni VM esegua l'esportazione della metrica personalizzata. I valori esportati da ogni VM devono essere associati a una risorsa monitorata gce_instance, che contiene le seguenti etichette:
    • zone con il nome della zona in cui si trova l'istanza.
    • instance_id con il valore dell'ID numerico univoco assegnato alla VM.
  • La metrica deve esportare i dati almeno ogni 60 secondi. Se esporti i dati più spesso di ogni 60 secondi, il ridimensionamento automatico può rispondere alle variazioni di carico più rapidamente. Se esporti i dati con una frequenza inferiore a ogni 60 secondi, lo strumento di scalabilità automatica potrebbe non rispondere alle variazioni di carico abbastanza rapidamente.
  • La metrica deve esportare dati di tipo di valore INT64 o DOUBLE.

Per informazioni sulla creazione di una metrica personalizzata, consulta Utilizzare le metriche personalizzate.

Passaggi successivi