Configurare le notifiche programmatiche

Questo documento spiega come configurare le notifiche programmatiche relative ad anomalie di budget e costi (anteprima) utilizzando Pub/Sub.

I budget e le anomalie dei costi sono in genere configurati per l'invio di notifiche via email. Se utilizzi i budget o il rilevamento delle anomalie dei costi come strumento di controllo dei costi, le notifiche via email potrebbero non essere il metodo migliore da utilizzare per garantire un'azione tempestiva per controllare i costi. Puoi configurare e utilizzare le notifiche programmatiche per automatizzare le risposte sul controllo dei costi. Ecco alcuni esempi di risposte automatiche sul controllo dei costi:

Limitazioni

Autorizzazioni richieste per questa attività

Notifiche relative al budget

Per configurare le notifiche del budget programmatiche, devi disporre delle autorizzazioni per creare o modificare budget e argomenti Pub/Sub. Hai bisogno di un insieme diverso di autorizzazioni a seconda del tuo livello di accesso.

Utenti con autorizzazioni per l'account di fatturazione Cloud Utenti con autorizzazioni solo a livello di progetto (anteprima)

Se la tua organizzazione utilizza ruoli personalizzati per l'autenticazione, devi disporre delle seguenti autorizzazioni nei ruoli personalizzati:

Affinché i ruoli personalizzati possano modificare un budget esistente della fatturazione Cloud per collegarlo a un argomento Pub/Sub esistente, sono necessarie le seguenti autorizzazioni:

Per ottenere le autorizzazioni necessarie utilizzando i ruoli predefiniti, chiedi all'amministratore di concederti uno dei seguenti ruoli predefiniti di Cloud IAM per la fatturazione Cloud nel tuo account:

Chiedi all'amministratore di concederti il seguente ruolo nel progetto target che contiene gli argomenti Pub/Sub:

Se la tua organizzazione utilizza ruoli personalizzati per l'autenticazione, devi disporre delle seguenti autorizzazioni nei ruoli personalizzati:

Per ottenere le autorizzazioni necessarie utilizzando i ruoli predefiniti, chiedi all'amministratore di concederti uno dei seguenti ruoli Cloud IAM per la fatturazione predefiniti nel progetto:

Chiedi all'amministratore di concederti il seguente ruolo nel progetto target che contiene gli argomenti Pub/Sub:

Notifiche di anomalie

Per configurare le notifiche di anomalie programmatiche, devi disporre delle autorizzazioni per creare o modificare anomalie e argomenti Pub/Sub. Devi disporre delle autorizzazioni per gli account di fatturazione Cloud.

Utenti con autorizzazioni per gli account di fatturazione Cloud (anteprima)

Per ottenere le autorizzazioni necessarie utilizzando i ruoli predefiniti, chiedi all'amministratore di concederti uno dei seguenti ruoli Cloud IAM di fatturazione Cloud predefiniti nel tuo account di fatturazione Cloud:

Chiedi all'amministratore di concederti il seguente ruolo nel progetto target che contiene gli argomenti Pub/Sub:

crea un argomento Pub/Sub

Per configurare le notifiche di anomalie o budget programmatiche, devi prima creare un argomento Pub/Sub. Se hai già configurato un argomento Pub/Sub per budget o anomalie dei costi, puoi saltare questo passaggio.

  1. Vai alla pagina Pub/Sub della console Google Cloud.

    Accedi a Pub/Sub nella console Google Cloud

  2. Seleziona un progetto contenente l'argomento Pub/Sub.

    Quando configuri gli argomenti Pub/Sub per le notifiche di fatturazione, ti consigliamo di utilizzare un progetto di amministrazione di FinOps per contenere gli argomenti Pub/Sub relativi alla fatturazione.

  3. Fai clic su Crea argomento.

  4. Nel campo ID argomento, fornisci un nome per l'argomento.

  5. Mantieni le impostazioni predefinite di abbonamento e crittografia e fai clic su Crea.

Collega l'argomento Pub/Sub

Per consentire alle notifiche programmatiche di ricevere messaggi Pub/Sub con lo stato corrente del budget o dell'anomalia, devi collegare il budget o l'anomalia all'argomento Pub/Sub.

Notifiche relative al budget

Per collegare un argomento Pub/Sub a un budget di fatturazione Cloud, compila i seguenti passaggi:

Utenti con autorizzazioni per l'account di fatturazione Cloud Utenti con autorizzazioni solo a livello di progetto (anteprima)
  1. Accedi alla pagina Budget e avvisi nella console Google Cloud.

    Apri Budget e avvisi
  2. Quando richiesto, scegli l'account di fatturazione Cloud per cui vuoi gestire i budget.

    Si apre la pagina Budget e avvisi per l'account di fatturazione selezionato.

  3. Seleziona il budget da collegare o creane uno nuovo.
  4. Nella sezione Azioni, in Gestisci notifiche, seleziona Collega un argomento Pub/Sub a questo budget.
  5. Nel campo Progetto, fai clic su Seleziona un progetto e scegli il progetto che contiene gli argomenti Pub/Sub che hai configurato.
  6. In Seleziona un argomento Pub/Sub, seleziona un argomento esistente o creane uno nuovo facendo clic su Crea un argomento.
    • Se crei un nuovo argomento, nel campo ID argomento, fornisci un nome e fai clic su Crea argomento.
    • Dopo averlo creato, l'argomento viene selezionato automaticamente.
  7. Fai clic su Salva.
  1. Accedi alla dashboard della console Google Cloud e seleziona un progetto.

    Apri la console Google Cloud
  2. Seleziona il progetto per cui vuoi gestire i budget.
  3. Vai alla sezione Fatturazione: apri il menu di navigazione della console Google Cloud e seleziona Fatturazione.

    Se ti viene chiesto di scegliere l'account di fatturazione da visualizzare e gestire, fai clic su Vai all'account di fatturazione collegato per visualizzare l'account di fatturazione collegato al progetto selezionato.

    Si apre la pagina Panoramica della fatturazione relativa all'account di fatturazione selezionato.

  4. Nella sezione Gestione dei costi del menu di navigazione Fatturazione, seleziona Budget e avvisi.
  5. Seleziona il budget da collegare o creane uno nuovo.
  6. Nella sezione Azioni, in Gestisci notifiche, seleziona Collega un argomento Pub/Sub a questo budget.
  7. Nel campo Progetto, fai clic su Seleziona un progetto e scegli il progetto che contiene gli argomenti Pub/Sub che hai configurato.
  8. In Seleziona un argomento Pub/Sub, seleziona un argomento esistente o creane uno nuovo facendo clic su Crea un argomento.
    • Se crei un nuovo argomento, nel campo ID argomento, fornisci un nome e fai clic su Crea argomento.
    • Una volta creato, l'argomento verrà selezionato.
  9. Fai clic su Salva.

Notifiche di anomalie

Per collegare un argomento Pub/Sub a un'anomalia di costo, completa i seguenti passaggi:

Utenti con autorizzazioni per gli account di fatturazione Cloud (anteprima)
  1. Accedi alla pagina Anomalie nella console Google Cloud.

    Anomalie aperte
  2. Quando richiesto, scegli l'account di fatturazione Cloud per cui vuoi gestire le anomalie.

    Viene visualizzata la pagina Anomalie per l'account di fatturazione selezionato.

  3. Fai clic su Gestisci anomalie.
  4. Inserisci un valore per Soglia di anomalia in Impatto sui costi. Questo importo è il valore di soglia che attiva le notifiche. Se non fornisci un valore, la soglia viene impostata su zero e le notifiche vengono inviate per tutte le anomalie.
  5. Nella sezione Notifiche Pub/Sub, seleziona Collega un argomento Pub/Sub per ricevere aggiornamenti programmatici sulle anomalie.
  6. Nel menu a discesa visualizzato, seleziona l'argomento Pub/Sub che vuoi collegare per ricevere le notifiche.
    • Gli argomenti sono elencati per progetto. Potresti dover cambiare il progetto visualizzato per trovare l'argomento che vuoi selezionare.
    • Se vuoi creare un nuovo argomento, passa al progetto preferito prima di fare clic su Crea un argomento.
  7. Fai clic su Salva.

Formato delle notifiche

Le notifiche inviate all'argomento Pub/Sub sono composte da due parti:

  • Attributi: un insieme di coppie chiave-valore che descrivono l'evento.
  • Dati: una stringa contenente un oggetto JSON che descrive i dettagli dell'avviso sul budget.

Notifiche relative al budget

Attributi

Gli attributi sono coppie chiave-valore contenute in tutte le notifiche inviate da Fatturazione Cloud al tuo argomento Pub/Sub. Le notifiche contengono sempre il seguente insieme di coppie chiave/valore, indipendentemente dal payload delle notifiche.

Nome dell'attributo Esempio Descrizione
billingAccountId 01D4EE-079462-DFD6EC L'identificatore dell'account di fatturazione Cloud proprietario del budget.
budgetId de72f49d-779b-4945-a127-4d6ce8def0bb L'identificatore dell'avviso relativo al budget nell'account di fatturazione Cloud.
schemaVersion 1.0 La versione dello schema delle notifiche.

Dati

I dettagli dell'avviso sul budget vengono restituiti in una stringa UTF-8 codificata base64 contenente un oggetto JSON con le seguenti proprietà:

Dati Esempio Descrizione
budgetDisplayName "My Personal Budget" Il nome leggibile assegnato al budget.
costAmount 140.321 L'importo dei costi maturati. Il tipo di costi monitorati dipende dai filtri e dalle impostazioni del budget.
costIntervalStart "2021-02-01T08:00:00Z" L'inizio del periodo di avviso relativo al budget. "costAmount" include i costi per l'utilizzo a partire da questo momento. Si tratta del primo giorno del periodo di tempo del budget (mese, trimestre, anno o un intervallo di date personalizzato) durante il quale si è verificato l'utilizzo del budget.
budgetAmount 152.557 L'importo stanziato nel budget.
budgetAmountType "SPECIFIED_AMOUNT" Il tipo di importo del budget. Può essere uno dei seguenti valori:
  • "SPECIFIED_AMOUNT": un importo fisso.
  • "LAST_MONTH_COST": costi totali sostenuti durante l'ultimo mese di calendario.
  • "LAST_PERIODS_COST": i costi sostenuti durante l'ultimo periodo di calendario non mensile, ad esempio un trimestre o un anno.
alertThresholdExceeded 0.9 È stata superata la soglia di avviso del costo effettivo più alta configurata. Il valore è una percentuale in formato decimale (ad esempio 0, 9 corrisponde al 90%). Questa chiave non è presente se il costo effettivo non supera alcuna soglia.
forecastThresholdExceeded 0.2 È stata superata la soglia di avviso del costo previsto più alta. Il valore è una percentuale in formato decimale (ad es.0, 2 corrisponde al 20%). Questa chiave non è presente se il costo previsto non supera alcuna soglia.
currencyCode "USD" La valuta dell'avviso relativo al budget. Tutti i costi e gli importi degli avvisi relativi al budget sono in questa valuta.

Notifiche di anomalie

Attributi

Gli attributi sono coppie chiave-valore contenute in tutte le notifiche inviate da Cloud Billing al tuo argomento Pub/Sub. Le notifiche contengono sempre il seguente insieme di coppie chiave-valore, indipendentemente dal payload della notifica.

Nome attributo Esempio Descrizione
scope scope_project L'ambito dell'anomalia.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC L'identificatore dell'account di fatturazione Cloud in cui si è verificata l'anomalia.
resourceDisplayName My project Il nome visualizzato della risorsa in cui si è verificata l'anomalia.
resourceName projects/123456 L'identificatore della risorsa in cui si è verificata l'anomalia.
SchemaVersion 1.0 La versione dello schema Pub/Sub.

Dati

I dettagli dell'avviso di anomalia vengono restituiti in una stringa UTF-8 codificata in base64 contenente un oggetto JSON con le seguenti proprietà:

Dati Esempio Descrizione
anomalyName billingAccounts/01D4EE-079462-DFD6EC/anomalies/aaa Il nome della risorsa per l'anomalia.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC L'identificatore dell'account di fatturazione.
resourceName "projects/12345" L'identificatore della risorsa in cui si è verificata l'anomalia.
resourceDisplayName "My project" Il nome visualizzato della risorsa in cui si è verificata l'anomalia.
detectionDate "2024-02-01T08:00:00Z" La data in cui è stata rilevata l'anomalia di costo.
Scope SCOPE_PROJECT Indica l'ambito dell'anomalia.
expectedSpendAmount {
"currencyCode": "USD",
"units": "8",
"nanos": 988106832
}
La spesa prevista per la risorsa.
actualSpendAmount 196.22 La spesa effettiva per la risorsa.
deviationAmount 31.01 La differenza tra la spesa effettiva e quella prevista.
deviationPercentage 18.77 La percentuale dell'importo della deviazione dalla spesa prevista.
Root cause
root_causes {
resource: "services/XXX-XXXX-XXX"
display_name: "BigQuery"
cause_type: CAUSE_TYPE_SERVICE
deviation {
  expected_spend {
    currency_code: "USD"
    units: "5000"
  }
  actual_spend {
    currency_code: "USD"
    units: "5000"
  }
  deviation_amount {
    currency_code: "USD"
    units: "5000"
  }
  deviation_percentage: "Infinity"
}
sub_causes {
  resource: "locations/us-west1",
  display_name: "us-west1",
  cause_type: CAUSE_TYPE_LOCATION,
  deviation {
    expected_spend {
      currency_code: "USD",
    }
    actual_spend {
      currency_code: "USD",
      units:"5000"
    }
    deviation_amount {
      currency_code: "USD",
      units: "5000"
    }
    deviation_percentage: "Infinity"
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
      }
      actual_spend {
        currency_code: "USD"
        units: 5000
      }
      deviation_amount {
        currency_code: "USD"
        units: 5000
      }
      deviation_percentage: "Infinity"
    }
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
        units: "1"
        nanos: 5413077
      }
      actual_spend {
        currency_code: "USD"
        units: "1",
        nanos: 122606000
      }
      deviation_amount {
        currency_code: "USD"
        nanos: 117192923
      }
      deviation_percentage:11.656196419841217
    }
  }
}
}
Un campo ripetuto che contiene informazioni sulla causa principale dell'anomalia.

Garanzie di recapito per le notifiche a Pub/Sub

Dopo aver collegato il budget o l'anomalia a un argomento Pub/Sub, puoi aspettarti di ricevere notifiche programmatiche come segue:

Notifiche relative al budget

  • Le notifiche relative al budget vengono inviate all'argomento Pub/Sub più volte al giorno con lo stato corrente del budget. Questa cadenza è diversa da quella delle email di avviso relative al budget, che vengono inviate solo quando viene raggiunta una soglia di budget.
  • Le notifiche Pub/Sub vengono inviate anche se l'account Cloud Billing non ha alcun utilizzo.
  • Potrebbero essere necessarie diverse ore prima di ricevere la prima notifica Pub/Sub.
  • Pub/Sub garantisce solo la consegna "at-least-once". Potresti ricevere un messaggio più volte e i messaggi potrebbero arrivare fuori sequenza.
  • Se l'invio non va a buon fine a causa di una configurazione errata dell'argomento Pub/Sub, non riceverai alcuna notifica.

L'invio potrebbe non andare a buon fine per uno dei seguenti motivi:

Notifiche di anomalie

  • Le notifiche di anomalia vengono inviate all'argomento Pub/Sub solo quando viene raggiunta la soglia.
  • Pub/Sub garantisce solo una consegna "at-least-once". Potresti ricevere un messaggio più volte e i messaggi potrebbero arrivare fuori sequenza.
  • Se l'invio non va a buon fine a causa di una configurazione errata dell'argomento Pub/Sub, non riceverai alcuna notifica.

L'invio potrebbe non andare a buon fine per uno dei seguenti motivi:

Per ulteriori informazioni, consulta Pubblica e ricevi messaggi in Pub/Sub.

Passaggi successivi

Per scoprire di più su come utilizzare le notifiche programmatiche, consulta i seguenti esempi di risposte programmatiche per il controllo dei costi: