Questo documento spiega come configurare le notifiche di anomalie del budget e dei costi programmatici (anteprima) utilizzando Pub/Sub.
I budget e le anomalie dei costi sono in genere configurati per inviare 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 - enforceInTransitsugli 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 Google Cloud console. 
- 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 configurata più alta. Il valore è una percentuale in formato decimale (ad es.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 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 una 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