Scalabilità in base alle metriche di Monitoring

La scalabilità automatica basata sulle metriche di Cloud Monitoring consente di regolare la capacità necessaria in base alle misurazioni della tua app. Quando scala automaticamente un gruppo di istanze gestite in base a una metrica, il gestore della scalabilità automatica crea VM quando il valore della metrica aumenta ed elimina le VM quando il valore diminuisce.

Ad esempio, puoi definire quante VM hai bisogno per numero di utenti, latenza o numero di messaggi in una sottoscrizione Pub/Sub. Puoi utilizzare le metriche integrate fornite dal servizio Monitoring o le metriche personalizzate che esporti dalla tua applicazione.

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

Puoi anche scalare automaticamente 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 nozioni di base del gestore della scalabilità automatica.
  • Scopri di più sui concetti delle metriche di Monitoring utilizzati in una configurazione di scalabilità automatica.
  • Se vuoi scalare automaticamente in base a una metrica Ops Agent, installa Ops Agent.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    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. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

La scalabilità basata sulle metriche di Monitoring è limitata dalle limitazioni per tutti i gestori della scalabilità automatica e dalle seguenti limitazioni:

  • Puoi configurare la scalabilità automatica in base a un massimo di cinque metriche di Monitoring per gruppo di istanze gestite.
  • Puoi scalare automaticamente in base a metriche che hanno solo tipi di valori INT64 o DOUBLE. 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 Monitoring

Puoi utilizzare un valore della 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 le VM quando il valore della metrica è superiore al target ed elimina le VM quando il valore della metrica è inferiore al target. Questo è utile per metriche come il traffico di rete, l'utilizzo di memoria/disco o la latenza media dell'applicazione. Il seguente diagramma mostra in che modo un gestore della scalabilità automatica aggiunge e rimuove VM in risposta al valore di una 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 applicare la scalabilità automatica in base a quanto lavoro è disponibile da assegnare a ogni VM, configura un'assegnazione di istanza singola. L'assegnazione a un'istanza singola specificata rappresenta la quantità di lavoro che ti aspetti di gestire da ogni VM. Il gestore della scalabilità automatica divide il valore della metrica per il valore di assegnazione di una singola istanza per calcolare il numero di VM necessarie. Ad esempio, se la metrica è uguale a 100 e l'assegnazione della singola istanza è 5, il gestore della scalabilità automatica crea 20 VM nel gruppo di istanze gestite. Questo è utile per le metriche che riflettono la quantità di lavoro, come la lunghezza della coda di Pub/Sub o il numero di job batch. L'assegnazione a 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 durante la scalabilità con assegnazione di istanza singola.

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

Scala automaticamente per mantenere impostata una metrica su un valore target

Se vuoi mantenere una metrica su un valore target, specifica un target di utilizzo. Il gestore della scalabilità automatica crea le 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 nel tuo gruppo di istanze gestite, il gestore della scalabilità automatica prende il valore medio della metrica in tutte le VM nel gruppo di istanze gestite e lo confronta con il target di utilizzo. Ad esempio, se vuoi scalare automaticamente utilizzando la metrica tcp_connections che fornisce il numero di connessioni TCP su una VM, il gestore della scalabilità automatica prende in considerazione un numero medio di connessioni TCP in tutte le VM nel gruppo di istanze gestite da confrontare con il target. Quando utilizzi metriche di questo tipo che hanno origine da una VM, il gruppo di istanze gestite non può fare lo scale in a 0 perché il gestore della scalabilità automatica richiede almeno una VM per pubblicare un valore di metrica.

  • Se la metrica si applica all'intero gruppo di istanze gestite e non proviene dalle VM nel gruppo di istanze gestite, 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 della tua applicazione.

Se la metrica ha più valori, applica un filtro per la scalabilità automatica utilizzando un singolo valore della metrica. Per ulteriori dettagli sui filtri delle metriche e sugli altri campi che puoi utilizzare nella tua configurazione, consulta Concetti sulle 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. In caso contrario, fai clic sul nome di un gruppo di istanze gestite nell'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 la 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 o fare clic su Aggiungi un indicatore per aggiungere un nuovo indicatore.

  6. Imposta Tipo di indicatore su Metrica Cloud Monitoring.

  7. Fai clic su Configura. Nel riquadro Risorsa e metrica visualizzato, procedi nel seguente modo:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica che vuoi 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 mostra 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 si aggiorna per mostrare il valore filtrato della metrica.
    3. Per visualizzare il valore aggregato della metrica che verrà utilizzata per scalare automaticamente il gruppo di istanze gestite, attiva il pulsante Mostra aggregazione nel grafico. Il grafico si aggiorna 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 gestire il gestore della scalabilità automatica. 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 che corrisponde 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. Allo stesso modo, utilizza Delta / min per un target di utilizzo misurato al minuto.
        • Misuratore: il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi minuti e lo confronta con il target di utilizzo.
        • Delta / min: il gestore della scalabilità automatica calcola la velocità media di crescita al minuto e la 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. Dopo aver configurato la 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.

Usa il comando seguente 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, usa il flag --stackdriver-metric-filter come indicato nel comando seguente.

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 gruppo di istanze gestite può avere.
  • MIN_INSTANCES: il numero minimo di VM che il gruppo di istanze gestite deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance/uptime. Se la utilizzi, deve soddisfare i relativi requisiti.
  • TARGET_VALUE: il valore della metrica che il gestore della scalabilità automatica cerca di mantenere.
  • TARGET_TYPE: il tipo di valore della metrica.
    • gauge il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi minuti e lo confronta con il target di utilizzo.
    • 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 il tasso di crescita medio al secondo e lo 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. Allo stesso modo, utilizza delta-per-minute per un target 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 che proviene da ogni VM, non devi specificare il tipo di risorsa monitorata perché per impostazione predefinita viene utilizzato il tipo di risorsa gce_instance. Per altre metriche, utilizza resource.type nell'espressione di filtro per specificare la risorsa monitorata. Per scoprire di più sul filtro delle metriche, consulta Concetti sulle metriche di Monitoring.

Per visualizzare 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 gruppo di istanze gestite a livello di zona, utilizza la risorsa autoscalers oppure, per un gruppo di istanze gestite a livello di regione, utilizza la risorsa regionAutoscalers.

Effettua la seguente chiamata per scalare automaticamente un gruppo di istanze gestite a livello di zona basato su 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, usa 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 gruppo di istanze gestite può avere.
  • MIN_INSTANCES: il numero minimo di VM che il gruppo di istanze gestite deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance/uptime. Se la utilizzi, deve soddisfare i relativi requisiti.
  • TARGET_VALUE: il valore della metrica che il gestore della scalabilità automatica cerca di mantenere.
  • TARGET_TYPE: il tipo di valore della metrica.
    • GAUGE: il gestore della scalabilità automatica calcola il valore medio dei dati raccolti negli ultimi 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 confronti precisi, se imposti il target di utilizzo in secondi, utilizza DELTA_PER_SECOND come tipo di destinazione. Allo stesso modo, utilizza DELTA_PER_MINUTE per un target 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 che proviene da ogni VM, non devi specificare il tipo di risorsa monitorata perché per impostazione predefinita viene utilizzato il tipo di risorsa gce_instance. Per altre metriche, devi specificare la risorsa monitorata utilizzando il selettore resource.type. Per scoprire di più sul filtro delle metriche, consulta Concetti sulle metriche di Monitoring.

Scala automaticamente in base al lavoro disponibile per ogni VM in un gruppo di istanze gestite

Quando vuoi applicare la scalabilità automatica in base alla quantità di lavoro disponibile per ogni VM in un gruppo di istanze gestite, specifica una singola assegnazione di istanza. Il valore dell'assegnazione a istanza singola che imposti indica la quantità di lavoro che ti aspetti di gestire da ogni VM. Il gestore della scalabilità automatica divide il valore della metrica per il valore di assegnazione di una singola istanza per calcolare il numero di VM necessarie.

Un valore di metrica pari a 0 indica che non è necessario completare il gruppo di istanze gestite. Se il numero minimo di istanze del gruppo di istanze gestite è impostato su 0 e il valore della metrica scende a 0, il gruppo di istanze gestite viene ridotto a 0 finché il valore della metrica non aumenta.

Se la metrica ha più valori, applica un filtro per la scalabilità automatica utilizzando un singolo valore della metrica. Per ulteriori dettagli sui filtri delle metriche e sugli altri campi che puoi utilizzare nella tua configurazione, consulta Concetti sulle 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. In caso contrario, fai clic sul nome di un gruppo di istanze gestite nell'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 la 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 fare clic su Aggiungi un indicatore per aggiungere una nuova metrica.

  6. Imposta Tipo di indicatore su Metrica Cloud Monitoring.

  7. Fai clic su Configura. Nel riquadro Risorsa e metrica visualizzato, procedi nel seguente modo:

    1. Fai clic su Seleziona una metrica.
      1. Seleziona la metrica che vuoi 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 mostra 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 si aggiorna per mostrare il valore della metrica filtrata.
    3. Per visualizzare il valore aggregato della metrica che verrà utilizzata per scalare automaticamente il gruppo di istanze gestite, attiva il pulsante Mostra aggregazione nel grafico. Il grafico si aggiorna 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. Fornisci un valore Assegnazione istanza singola che rappresenta la quantità di lavoro da assegnare a ogni VM nel gruppo di istanze gestite.

    6. Dopo aver configurato la 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 la quantità di lavoro che ti aspetti di gestire da ogni VM del gruppo.

Il seguente comando crea un gestore della scalabilità automatica in base all'assegnazione del lavoro per ciascuna 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 a cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il gruppo di istanze gestite può avere.
  • MIN_INSTANCES: il numero minimo di VM che il gruppo di istanze gestite deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance_group/size. Se la utilizzi, deve soddisfare i relativi requisiti.
  • 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 sulle metriche di Monitoring.
  • 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 Monitoring per un gruppo di istanze gestite a livello di zona, utilizza la risorsa autoscalers oppure, per un gruppo di istanze gestite a livello di regione, utilizza la risorsa regionAutoscalers.

Utilizza il parametro singleInstanceAssignment per specificare la quantità di lavoro che ti aspetti di gestire da ogni VM.

Ad esempio, effettua la chiamata seguente per creare un gestore della scalabilità automatica in grado di scalare 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 a cui vuoi aggiungere un gestore della scalabilità automatica.
  • MAX_INSTANCES: il numero massimo di VM che il gruppo di istanze gestite può avere.
  • MIN_INSTANCES: il numero minimo di VM che il gruppo di istanze gestite deve avere.
  • METRIC_URL: un URL senza protocollo di una metrica di Monitoring. Ad esempio, compute.googleapis.com/instance_group/size. Se la utilizzi, deve soddisfare i relativi requisiti.
  • 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 sulle metriche di Monitoring.
  • INSTANCE_ASSIGNMENT: la quantità di lavoro da assegnare a ogni istanza VM nel gruppo di istanze gestite.

Esempi di scalabilità automatica basata su 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 una quantità totale di lavoro disponibile o un'altra risorsa applicabile al gruppo, ma una media, un percentile o qualche altra proprietà statistica. Per questo esempio, supponi di scalare in base alla latenza di elaborazione media del gruppo.

Supponi di avere la seguente configurazione:

  • Un gruppo di istanze gestite a livello di zona denominato our-instance-group viene assegnato per eseguire un'attività specifica. Il gruppo si trova nella zona us-central1-a.
  • Utilizzi 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 delle query di elaborazione assegnate al gruppo.
    • Il nome della metrica personalizzata è: 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 sono associati a nessuna 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 se il valore è inferiore a questo valore, puoi liberare risorse. Vuoi che il gestore della scalabilità automatica aggiunga o rimuova gradualmente le VM a una velocità proporzionale a quanto la metrica è al di sopra o al di sotto del target. Per questo esempio, supponiamo di aver stabilito che il valore target è 250 delta/sec.

Puoi configurare la scalabilità automatica per il gruppo utilizzando un target di utilizzo pari a 250, che rappresenta la frequenza di modifica 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 gruppo di istanze gestite nell'elenco per aprire la pagina di riepilogo 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 la 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 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, procedi nel seguente modo:
      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 si aggiorna per mostrare il valore filtrato della metrica.
    3. Nella sezione Opzioni del target della metrica per la scalabilità automatica, procedi nel seguente modo:
      1. Seleziona Target di utilizzo.
      2. Inserisci il valore del target di utilizzo come 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 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 al 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é una metrica di questo tipo può scendere a 0 quando è ancora in corso il lavoro, il che richiede la scalabilità automatica per fare lo scale in e potenzialmente l'interruzione del lavoro effettivo.

Se non hai una sottoscrizione, puoi creare una sottoscrizione 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 gruppo di istanze gestite nell'elenco per aprire la pagina di riepilogo 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 la 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. Se vuoi un nuovo argomento, fai clic su Crea un argomento per crearne uno.

  8. Seleziona l'abbonamento in base al quale vuoi scalare automaticamente il tuo 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 oppure, per un gruppo di istanze gestite a livello di regione, utilizza la risorsa regionAutoscalers.

Ad esempio, effettua la chiamata seguente 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"
    }
  ]
}
}

Scala automaticamente 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 gruppo di istanze gestite, 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 gruppo di istanze gestite nell'elenco per aprire la pagina di riepilogo 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 la 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 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, procedi nel seguente modo:
      1. Assicurati che sia selezionato Target di utilizzo.
      2. Inserisci un valore target per l'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 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 memoria di Ops Agent. Dovresti filtrare la metrica per state per utilizzare solo lo stato della memoria used. Se non specifichi il filtro, il gestore della scalabilità automatica prende in considerazione la somma dell'utilizzo della memoria in 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 gruppo di istanze gestite 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 esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura la 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 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, procedi nel seguente modo:
      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, procedi nel seguente modo:
      1. Assicurati che sia selezionato Target di utilizzo.
      2. Inserisci un valore target per l'utilizzo.
      3. Imposta il tipo di target di utilizzo su Misuratore.
    4. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e 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 conteggio totale delle operazioni di I/O del disco, utilizza la metrica operation_count fornita dalle metriche di Ops Agent per disk. Se vuoi scalare in base a operazioni di lettura o scrittura, filtra la metrica utilizzando l'etichetta direction. Analogamente, per scalare in base alle operazioni su 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 gruppo di istanze gestite 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 esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura la 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 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 sul disco (agent.googleapis.com/disk/operation_count).
      2. Fai clic su Applica.
    2. Nella sezione Opzioni del target della metrica per la scalabilità automatica, procedi nel seguente modo:
      1. Assicurati che sia selezionato Target di utilizzo.
      2. Inserisci un valore target per l'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 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"
  }
  ]
}
}

Scala automaticamente in base alle dimensioni di un altro gruppo di istanze gestite

Puoi scalare automaticamente 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 multi-livello con un gruppo di istanze gestite di frontend che scala automaticamente in base a un bilanciatore del carico e un gruppo di istanze gestite di backend che scala automaticamente in modo proporzionale al frontend. Utilizza una singola assegnazione dell'istanza per definire il numero di VM di backend necessarie per ogni VM di frontend. Se ti serve una VM di backend ogni 4 VM di frontend, imposta l'assegnazione della singola istanza su 4 nel gruppo di istanze gestite di backend.

Per scalare automaticamente 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 gruppo di istanze gestite 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 esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura la 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 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_istanza > Dimensioni del gruppo di istanze (compute.googleapis.com/instance_group/size).
      2. Fai clic su Applica.
    2. Nella sezione Filtri, procedi nel seguente modo:
      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 scalare automaticamente il gruppo di istanze gestite.
      4. Fai clic su Fine.
    3. Nella sezione Opzioni del target della metrica per la scalabilità automatica, procedi nel seguente modo:
      1. Seleziona Assegnazione di un'istanza VM singola.
      2. Nel campo Assegnazione istanza VM singola, inserisci 4 se vuoi mantenere 1 VM nel gruppo di istanze gestite attuale (MIG_1) ogni 4 VM in MIG_2.
    4. Dopo aver configurato la metrica, fai clic su Seleziona.
  8. Esamina i dettagli della metrica e 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 sulle metriche di Monitoring

Questa sezione fornisce una breve descrizione dei concetti delle 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 per le metriche integrate nell'elenco delle metriche.

    Ad esempio, l'URL di una metrica Pub/Sub che fornisce 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 ogni tipo di risorsa monitorata, consulta Tipi di risorse monitorate.

  • Filtro metriche: se la metrica ha più valori, un filtro consente al gestore della scalabilità automatica di identificare un valore di metrica specifico dall'insieme di possibili valori di metriche. Utilizza le etichette definite su una metrica e un tipo di risorsa monitorata per filtrare i valori. Se vuoi esplorare i valori delle metriche con filtri diversi, puoi provarli in metrics Explorer.

    Ad esempio, il seguente screenshot mostra la metrica pubsub.googleapis.com/subscription/num_undelivered_messages che mostra il numero di messaggi non confermati in tutte le sottoscrizioni disponibili. Ogni riga del grafico indica un abbonamento.

    Metrics Explorer che mostra i valori delle metriche senza filtro.

    Senza un filtro, il gestore della scalabilità automatica prende la somma dei valori delle metriche di tutti gli abbonamenti. Per scalare automaticamente in base a un singolo abbonamento, applica un filtro all'etichetta subscription_id definita per pubsub_subscription. Il seguente screenshot mostra un singolo abbonamento dopo l'applicazione del filtro.

    Metrics Explorer che mostra il valore delle metriche filtrate.

Requisiti di filtro delle metriche

Quando utilizzi una metrica che ha più valori (classificati mediante le etichette), puoi applicare un filtro per scalare automaticamente in base a valori specifici della metrica. Se il filtro restituisce più valori, questi vengono sommati. Per ottenere risultati ottimali, crea un filtro sufficientemente specifico da restituire un singolo valore.

I filtri delle metriche dal gestore della scalabilità automatica sono compatibili con la sintassi dei filtri di Monitoring. Il filtro deve soddisfare i seguenti requisiti:

  • È necessario racchiudere il valore di un filtro tra virgolette doppie.
  • Devi utilizzare l'operatore di confronto diretto di 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 funzioni o caratteri jolly nel filtro.

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

  • Non puoi utilizzare etichette metadati delle risorse che archiviano i metadati su una risorsa monitorata.

Per un riferimento completo sulle etichette delle metriche e delle etichette risorsa monitorata su cui puoi applicare 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, imposta le istanze nel gruppo di istanze gestite in modo che ogni VM esporta la metrica personalizzata. I valori esportati di 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 gestore della scalabilità automatica può rispondere più rapidamente per caricare le modifiche. Se esporti i dati meno spesso di ogni 60 secondi, il gestore della scalabilità automatica potrebbe non rispondere alle modifiche del caricamento abbastanza rapidamente.
  • La metrica deve esportare dati con tipo di valore INT64 o DOUBLE.

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

Passaggi successivi