Configurare le notifiche programmatiche

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

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

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 i budget e gli argomenti Pub/Sub. A seconda del livello di accesso, è necessario un insieme di autorizzazioni diverso.

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:

Per i ruoli personalizzati per modificare un budget di fatturazione Cloud esistente per collegarlo a un argomento Pub/Sub esistente, devi disporre delle seguenti autorizzazioni:

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

Chiedi all'amministratore di concederti il seguente ruolo nel progetto di destinazione 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 fatturazione Cloud IAM predefiniti sul progetto:

Chiedi all'amministratore di concederti il seguente ruolo nel progetto di destinazione 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 l'account di fatturazione Cloud.

Utenti con autorizzazioni per l'account di fatturazione Cloud (anteprima)

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

  • billing.accounts.get sull'account di fatturazione Cloud.
  • billing.accounts.getIamPolicy sull'account di fatturazione Cloud.
  • billing.anomalies.get sull'account di fatturazione Cloud.
  • billing.anomalies.list sull'account di fatturazione Cloud.
  • pubsub.topics.setIamPolicy sul progetto di destinazione che contiene gli argomenti Pub/Sub che vuoi utilizzare.
  • pubsub.topics.list sul progetto di destinazione che contiene gli argomenti Pub/Sub che vuoi utilizzare.
  • pubsub.subscriptions.consume sul progetto di destinazione (o sulla sottoscrizione) che contiene le sottoscrizioni Pub/Sub che vuoi utilizzare.

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

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

Crea un argomento Pub/Sub

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

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

    Accedi alla console Pub/Sub Google Cloud

  2. Seleziona un progetto che contenga l'argomento Pub/Sub.

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

  3. Fai clic su Crea argomento.

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

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

Connetti l'argomento Pub/Sub

Per abilitare le notifiche programmatiche per la ricezione di messaggi Pub/Sub con lo stato attuale del budget o dell'anomalia, devi collegare il budget o l'anomalia all'argomento Pub/Sub.

Notifiche relative al budget

Per connettere un argomento Pub/Sub a un budget di fatturazione Cloud, completa 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 che vuoi 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 per l'argomento e fai clic su Crea argomento.
    • Dopo aver creato l'argomento, questo 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 che vuoi 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 per l'account di fatturazione selezionato.

  4. Nella sezione Gestione dei costi del menu di navigazione Fatturazione, seleziona Budget e avvisi.
  5. Seleziona il budget che vuoi 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 per l'argomento 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 dei costi, completa i seguenti passaggi:

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

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

    Si apre la pagina Anomalie per l'account di fatturazione selezionato.

  3. Fai clic su Gestisci anomalie.
  4. Inserisci un valore per Soglia di anomalia per 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 vengono inviate notifiche per tutte le anomalie.
  5. Nella sezione Notifiche Pub/Sub, seleziona Collega un argomento Pub/Sub per ricevere aggiornamenti programmatici sulle anomalie.
  6. Dal 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 che stai visualizzando per trovare l'argomento che vuoi selezionare.
    • Se vuoi creare un nuovo argomento, passa al progetto che preferisci prima di fare clic su Crea un argomento.
  7. Fai clic su Salva.

Formato delle notifiche

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

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

Notifiche relative al budget

Attributi

Gli attributi sono coppie chiave-valore contenute in tutte le notifiche inviate dalla 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 all'interno dell'account di fatturazione Cloud.
schemaVersion 1.0 La versione dello schema delle notifiche.

Dati

I dettagli degli avvisi relativi al budget vengono restituiti in una stringa UTF-8 con codifica 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 di utilizzo a partire da questo momento. Questo è il primo giorno del periodo di tempo del budget (mese, trimestre, anno o 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ò avere 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 per il 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 nessuna soglia.
forecastThresholdExceeded 0.2 È stata superata la soglia di avviso per il costo previsto più alto. Il valore è una percentuale in formato decimale (ad esempio, 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 espressi in questa valuta.

Notifiche di anomalie

Attributi

Gli attributi sono coppie chiave-valore contenute in tutte le notifiche inviate dalla fatturazione Cloud 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 degli avvisi di anomalia vengono restituiti in una stringa UTF-8 con codifica 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 di 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.

Pubblicazione delle notifiche in 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 attuale del budget. Questa cadenza è diversa da quella delle email di avviso relative al budget, che vengono inviate solo quando viene raggiunta una soglia del budget.
  • Le notifiche Pub/Sub vengono inviate anche se l'account di fatturazione Cloud non ha un utilizzo.
  • Potrebbero essere necessarie diverse ore prima di ricevere la prima notifica Pub/Sub.
  • Pub/Sub fornisce solo la distribuzione "at-least-once". Potresti ricevere un messaggio più volte e i messaggi potrebbero arrivare non in ordine.
  • Se la pubblicazione non va a buon fine a causa di una configurazione errata dell'argomento Pub/Sub, non riceverai alcuna notifica.

La consegna potrebbe non riuscire per uno dei seguenti motivi:

Notifiche di anomalie

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

La consegna potrebbe non riuscire per uno dei seguenti motivi:

Per saperne di più, consulta Pubblica e ricevi messaggi in Pub/Sub.

Passaggi successivi

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