Scalabilità in base alle metriche di Monitoring


La scalabilità automatica in base alle metriche di Cloud Monitoring consente di regolare la capacità necessaria in base alle misurazioni dall'app. Quando scali automaticamente un gruppo di istanze gestite (MIG) in base a una metrica, il gestore della scalabilità automatica crea macchine virtuali (VM) quando il valore della metrica aumenta e le elimina quando diminuisce.

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

Questo documento descrive come scalare automaticamente un gruppo di istanze gestite (MIG) in base alle metriche di Monitoring.

Puoi anche scalare automaticamente un MIG in base a utilizzo della CPU, capacità di gestione del bilanciamento del carico o pianificazioni.

Prima di iniziare

  • Scopri i concetti fondamentali del gestore della scalabilità automatica.
  • Scopri i concetti delle metriche di Monitoring utilizzati per configurare la scalabilità automatica.
  • Se vuoi scalare automaticamente in base a una metrica di Ops Agent, installa Ops Agent.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Limitazioni

Alla scalabilità basata sulle metriche di Monitoring si applicano le limitazioni per tutti i gestori della scalabilità automatica e quelle riportate di seguito:

  • Puoi configurare la scalabilità automatica in base a un massimo di 5 metriche di Monitoring per MIG.
  • Puoi scalare automaticamente in base alle metriche solo con tipi di valore INT64 o DOUBLE. Gli altri tipi di valore non sono supportati.
  • All'interno di un criterio di scalabilità automatica non puoi configurare la stessa metrica più di una volta.

Configura la scalabilità automatica in base alle metriche di Monitoring

Puoi utilizzare un valore metrica di Monitoring per la scalabilità automatica in due modi:

  • 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 e le elimina quando il valore della metrica è inferiore al target. È utile per metriche come il traffico di rete, l'utilizzo della memoria/del disco o la latenza media dell'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 istanza singola: se vuoi scalare automaticamente in base al volume di lavoro disponibile da assegnare a ogni VM, configura un'assegnazione di istanza singola. L'assegnazione di un'istanza singola specificata da te rappresenta il volume di lavoro che prevedi verrà gestito 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 istanza singola è pari a 5, il gestore della scalabilità automatica crea 20 VM nel MIG. Questo è utile per le metriche che riflettono il volume di lavoro, ad esempio la lunghezza della coda Pub/Sub o il conteggio dei job batch. L'assegnazione di 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 scala con l'assegnazione di un'istanza singola.

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

Scalabilità automatica per mantenere una metrica su un valore target

Quando desideri 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 e le elimina quando il valore della metrica è inferiore al target.

  • Se la metrica proviene da ogni VM del tuo MIG, il gestore della scalabilità automatica prende il valore medio della metrica in tutte le VM del MIG e lo confronta con il target di utilizzo. Ad esempio, se vuoi scalare automaticamente 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 MIG e lo confronta con il target. Con queste metriche provenienti da una VM, il MIG non può 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 MIG e non proviene dalle VM al suo interno, il gestore della scalabilità automatica confronta il valore della metrica con il target di utilizzo. Ad esempio, puoi utilizzare una metrica personalizzata che misura la latenza dell'applicazione.

Quando la metrica ha più valori, applica un filtro per scalare automaticamente 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 Monitoring.

Console

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

    Vai a Gruppi di istanze

  2. Se non disponi di un gruppo di istanze gestite, creane uno. Altrimenti, fai clic sul nome di un MIG dall'elenco per aprire la pagina corripondente.

  3. Fai clic su Modifica.

  4. Se non è presente 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 abilitare 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 oppure puoi 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, segui questi passaggi:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica che desideri 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. Nel riquadro è presente un grafico che mostra i dati della metrica selezionata.
    2. Se vuoi utilizzare dati specifici della metrica, aggiungi un filtro basato sulle etichette come indicato di seguito:

      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 scalare automaticamente il MIG, 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 il gestore della scalabilità automatica deve mantenere. Deve essere un numero positivo. Ad esempio, 24,5 e 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 in secondi, utilizza Delta/secondo come tipo di target. Analogamente, utilizza Delta/min per misurare il target di utilizzo 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 il tasso di crescita medio al minuto e lo confronta con il target di utilizzo.
        • Delta/secondo: il gestore della scalabilità automatica calcola il tasso di crescita medio al secondo e lo 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 Monitoring, utilizza il comando set-autoscaling.

Utilizza il seguente comando per scalare automaticamente in base a una metrica di Monitoring 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 MIG in cui desideri 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 di cui il MIG ha bisogno.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance/uptime. Le metriche personalizzate devono soddisfare i requisiti delle metriche personalizzate.
  • TARGET_VALUE: il valore della metrica che il gestore della scalabilità automatica 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 target di utilizzo.
    • delta-per-minute il gestore della scalabilità automatica calcola il tasso di crescita medio al minuto e lo confronta con il target di utilizzo.
    • delta-per-second il gestore della scalabilità automatica calcola il tasso di crescita medio al secondo e lo confronta con il target di utilizzo. Per effettuare confronti accurati, se imposti il target di utilizzo in base ai secondi, utilizza delta-per-second come tipo di target. Analogamente, utilizza delta-per-minute per un target di utilizzo in base ai 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 in quanto gce_instance viene utilizzato come valore predefinito. Per altre metriche, utilizza resource.type nell'espressione di filtro per specificare la risorsa monitorata. Per scoprire di più sui filtri delle metriche, consulta Concetti relativi alle metriche di Monitoring.

Per vedere un elenco completo dei comandi e dei flag disponibili per gcloud CLI, consulta la documentazione di riferimento di gcloud.

REST

Per configurare la scalabilità automatica in base alle metriche di Monitoring per un MIG a livello di zona, utilizza la risorsa autoscalers o, per un MIG a livello di regione, la risorsa regionAutoscalers.

Esegui la seguente chiamata per scalare automaticamente un MIG a livello di zona sulla base di una metrica di Monitoring 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 MIG.
  • AUTOSCALER_NAME: il nome del gestore della scalabilità automatica.
  • MIG_NAME: il MIG in cui desideri 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 di cui il MIG ha bisogno.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance/uptime. Le metriche personalizzate devono soddisfare i requisiti delle metriche personalizzate.
  • TARGET_VALUE: il valore della metrica che il gestore della scalabilità automatica 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 target di utilizzo.
    • DELTA_PER_MINUTE il gestore della scalabilità automatica calcola il tasso di crescita medio al minuto e lo confronta con il target di utilizzo.
    • DELTA_PER_SECOND il gestore della scalabilità automatica calcola il tasso di crescita medio al secondo e lo confronta con il target di utilizzo. Per effettuare confronti accurati, se imposti il target di utilizzo in base ai secondi, utilizza DELTA_PER_SECOND come tipo di target. Analogamente, utilizza DELTA_PER_MINUTE per un target di utilizzo in base ai minuti.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica che ha 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 in quanto gce_instance viene utilizzato come valore predefinito. Per altre metriche, devi specificare la risorsa monitorata utilizzando il selettore resource.type. Per scoprire di più sul filtro delle metriche, consulta Concetti relativi alle metriche di Monitoring.

Scalabilità automatica in base al lavoro disponibile per ogni VM in un MIG

Quando vuoi scalare automaticamente in base al volume di lavoro disponibile per ogni VM in un MIG, specifica un'assegnazione di un'istanza singola. Il valore dell'assegnazione di un'istanza singola impostato indica quanto lavoro ciascuna VM dovrà gestire secondo le tue previsioni. 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 MIG. Se il numero minimo di istanze del MIG è impostato su 0 e il valore della metrica scende a 0, il MIG fa lo scale in a 0 finché il valore della metrica non aumenta.

Quando la metrica ha più valori, applica un filtro per scalare automaticamente 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 Monitoring.

Console

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

    Vai a Gruppi di istanze

  2. Se non disponi di un gruppo di istanze gestite, creane uno. Altrimenti, fai clic sul nome di un MIG dall'elenco per aprire la pagina corripondente.

  3. Fai clic su Modifica.

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, se esiste un indicatore per una metrica di Monitoring, puoi fare clic per modificarlo o puoi 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, segui questi passaggi:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica che desideri 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. Nel riquadro è presente un grafico che mostra i dati della metrica selezionata.
    2. Se vuoi utilizzare dati specifici della metrica, aggiungi un filtro basato sulle etichette come indicato di seguito:

      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 scalare automaticamente il MIG, 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 il volume di lavoro da assegnare a ogni VM nel MIG.

    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 Monitoring, utilizza il comando set-autoscaling.

Nel comando specifica il flag --stackdriver-metric-single-instance-assignment per indicare il volume di lavoro che ciascuna VM nel gruppo dovrà gestire secondo le tue previsioni

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 MIG 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 di cui il MIG ha bisogno.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance_group/size. Le metriche personalizzate devono soddisfare i requisiti delle metriche personalizzate.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica che ha più valori e per specificare il tipo di risorsa monitorata. Per scoprire di più sul filtro delle metriche, consulta Concetti relativi alle metriche di Monitoring.
  • INSTANCE_ASSIGNMENT: il volume di lavoro da assegnare a ogni istanza VM nel MIG.

REST

Per configurare la scalabilità automatica in base alle metriche di Monitoring per un MIG a livello di zona, utilizza la risorsa autoscalers o, per un MIG a livello di regione, la risorsa regionAutoscalers.

Utilizza il parametro singleInstanceAssignment per specificare il volume di lavoro che prevedi verrà gestito da ogni VM.

Ad esempio, esegui la seguente chiamata per creare un gestore della scalabilità automatica che ridimensiona un MIG a livello di zona in base all'assegnazione delle istanze.

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 MIG.
  • AUTOSCALER_NAME: il nome del gestore della scalabilità automatica.
  • MIG_NAME: il nome del MIG 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 di cui il MIG ha bisogno.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance_group/size. Le metriche personalizzate devono soddisfare i requisiti delle metriche personalizzate.
  • METRIC_FILTER: applica un filtro per utilizzare un singolo valore di una metrica che ha più valori e per specificare il tipo di risorsa monitorata. Per scoprire di più sul filtro delle metriche, consulta Concetti relativi alle metriche di Monitoring.
  • INSTANCE_ASSIGNMENT: il volume di lavoro da assegnare a ogni istanza VM nel MIG.

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 diGoogle Cloud .

Scalabilità automatica in base a una metrica personalizzata

Potrebbe verificarsi una situazione in cui la metrica che fornisce un indicatore pertinente non rappresenta il 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 scalare in base alla latenza media di elaborazione del gruppo.

Immaginiamo la seguente configurazione:

  • A un MIG 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.
  • È presente una metrica personalizzata di Monitoring che esporta un valore che vuoi mantenere a un determinato livello. Per questo esempio, supponiamo che la metrica rappresenti la latenza media di 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 MIG, 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 rimuova 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 target di utilizzo di 250, che rappresenta il tasso 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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  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, segui questi passaggi:
      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 fornita da pubsub e filtra in base a subscription ID.

La metrica subscription/num_undelivered_messages esporta il numero totale di messaggi nella sottoscrizione, inclusi quelli in fase di elaborazione, ma non ancora confermati. Non si consiglia di utilizzare una metrica che non include i messaggi in fase di elaborazione, in quanto questa metrica può scendere a 0 quando è ancora in corso un lavoro, il che porta il gestore della scalabilità automatica a fare lo scale in e interrompere eventualmente il lavoro effettivo.

Se non disponi di una sottoscrizione, puoi crearne una 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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non è presente 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 abilitare 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. Per un nuovo argomento, fai clic su Crea un argomento per crearne uno.

  8. Seleziona la sottoscrizione in base a quale vuoi utilizzare per scalare automaticamente il MIG. Se vuoi una nuova sottoscrizione, fai clic su Crea una sottoscrizione per crearla.

  9. Nel campo Numero di messaggi da assegnare a ogni VM, specifica il numero di messaggi non confermati che, secondo le tue previsioni, 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 MIG a livello di zona, utilizza la risorsa autoscalers o, per un MIG a livello di regione, utilizza la risorsa regionAutoscalers.

Ad esempio, esegui la seguente chiamata per creare un gestore della scalabilità automatica per un MIG 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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

  3. Fai clic su Modifica.

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  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 alla memoria utilizzata

Per configurare la scalabilità automatica in base alla percentuale di memoria utilizzata, specifica la metrica percent_used fornita dalle metriche di Ops Agent sulla memoria. Devi filtrare la metrica in base a state in modo da utilizzare solo lo stato di memoria used. Se non specifichi il filtro, il gestore della scalabilità automatica prende in considerazione la somma della memoria utilizzata da tutti gli stati di 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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

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

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  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, segui questi passaggi:
      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 del 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 sul disco. Se vuoi scalare in base alle operazioni di lettura o scrittura, filtra la metrica utilizzando l'etichetta direction. Analogamente, per scalare 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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

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

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  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 MIG

Puoi scalare automaticamente un MIG in base alle dimensioni di un altro MIG all'interno dello stesso progetto. Ad esempio, puoi avere un'applicazione a più livelli con un MIG frontend con scalabilità automatica in base a un bilanciatore del carico e un MIG di backend con scalabilità automatica in proporzione al frontend. Utilizza l'assegnazione di un'istanza singola 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 un'istanza singola su 4 nel MIG di backend.

Per scalare automaticamente un MIG (MIG_1) in base alle dimensioni di un altro MIG (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 MIG nell'elenco per aprire la pagina di riepilogo del gruppo di istanze.

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

  4. Se non è presente 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 abilitare la scalabilità automatica.
  5. In Scalabilità automatica, nella sezione Indicatori di scalabilità automatica, fai clic su Aggiungi un indicatore.

  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, segui questi passaggi:
      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 MIG (MIG_2) in base al quale vuoi scalare automaticamente il MIG.
      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 Monitoring

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

  • 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 ulteriori dettagli su ciascun tipo di risorsa monitorata, consulta Tipi di risorse monitorate.

  • Filtro metrica: quando la metrica ha più valori, un filtro consente al gestore della scalabilità automatica di identificare un valore della metrica specifico dall'insieme di valori possibili della 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 in Esplora 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 tutte le sottoscrizioni disponibili. Ogni linea del grafico indica una sottoscrizione.

    Strumetno Esplora metriche che mostra i valori delle metriche senza filtro.

    Senza un filtro, il gestore della scalabilità automatica prende in considerazione la somma dei valori delle metriche da tutte le sottoscrizioni. Per scalare automaticamente in base a una singola sottoscrizione, applica un filtro all'etichetta subscription_id definita per pubsub_subscription. Lo screenshot seguente mostra una singola sottoscrizione dopo l'applicazione del filtro.

    Strumento Esplora metriche che mostra il valore della metrica filtrata.

Requisiti per filtrare le metriche

Quando utilizzi una metrica con più valori (classificati tramite 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 in modo che restituisca un singolo valore.

Il filtro del gestore della scalabilità automatica per le metriche è compatibile con la sintassi del filtro di Monitoring. Per il filtro devi soddisfare i seguenti requisiti:

  • Racchiudi il valore di un filtro tra virgolette doppie.
  • Utilizza l'operatore di confronto di uguaglianza diretta (=).
  • Utilizza 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\"".

  • Utilizza 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 una documentazione di riferimento completa sulle etichette delle metriche e delle risorse monitorate 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 MIG in modo che ogni VM esporti la 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 a una frequenza maggiore di 60 secondi, il gestore della scalabilità automatica può rispondere più rapidamente alle variazioni di carico. Se esporti i dati con una frequenza inferiore a 60 secondi, la velocità di risposta del gestore della scalabilità automatica alle variazioni di carico potrebbe non essere sufficiente.
  • La metrica deve esportare dati di tipo di valore INT64 o DOUBLE.

Per informazioni sulla creazione di una metrica personalizzata, consulta Utilizzo delle metriche personalizzate.

Passaggi successivi