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:
- Eseguire l'integrazione con Slack per una risposta più rapida
- Gestire il consumo di risorse per ridurre i costi
- Limita la spesa disattivando la fatturazione quando raggiungi il budget
Limitazioni
I budget utilizzano dati stimati di Fatturazione Cloud, soggetti a modifiche fino al completamento della fattura.
Se imposti i criteri dell'organizzazione in modo da limitare la condivisione delle risorse per dominio (ad esempio, attivando
enforceInTransit
sugli argomenti Pub/Sub), potresti riscontrare un errore quando provi a configurare o collegare gli argomenti Pub/Sub. In questa situazione, potresti dover forzare l'accesso all'account per collegare correttamente un argomento Pub/Sub a un budget. Per forzare l'accesso all'account:- Rimuovi il criterio dell'organizzazione contenente il vincolo di restrizione del dominio utilizzando uno dei seguenti metodi:
- Segui la procedura per collegare un argomento Pub/Sub.
- (Facoltativo) Reintegra il criterio dell'organizzazione per l'organizzazione o il progetto.
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.
Vai alla pagina Pub/Sub della console Google Cloud.
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.
Fai clic su
Crea argomento.Nel campo ID argomento, fornisci un nome per l'argomento.
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) |
---|---|
|
|
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) |
---|
|
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:
|
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
|
{
|
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:
- L'argomento Pub/Sub non esiste più.
- La fatturazione Cloud non è più autorizzata a pubblicare nell'argomento Pub/Sub.
- Hai superato la quota di notifiche.
- Sono in vigore criteri dell'organizzazione che limitano la condivisione delle risorse in base al dominio.
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:
- L'argomento Pub/Sub non esiste più.
- L'account di fatturazione Cloud non è più autorizzato a pubblicare nell'argomento Pub/Sub.
- Hai superato la quota di notifiche.
- Sono in vigore criteri dell'organizzazione che limitano la condivisione delle risorse in base al dominio.
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:
- Ascoltare le notifiche
- Inviare notifiche a Slack
- Controllare l'utilizzo delle risorse con le notifiche
- Disattivare l'utilizzo della fatturazione con le notifiche