設定進階帳單快訊和邏輯

簡單的預算快訊電子郵件是接收帳單更新的相對簡單方式,但有時您可能需要建立更精密的快訊,其中包含更多自訂邏輯。以下提供兩種做法:

  • 使用 Cloud Monitoring 建立更精細且及時的快訊

  • 使用帳單Pub/Sub通知和對應的 Cloud 函式,根據支出變化建立自訂行為

雖然這兩種方法都需要您付出更多心力,但可讓您完全掌控要接收哪些類型的快訊,以及如何回應。

本頁面將概略說明這些做法。

使用 Cloud Monitoring 建立更精細的快訊

簡單預算快訊電子郵件會在整體帳單費用達到特定門檻時通知您。不過,您可能也想知道個別服務是否意外增加,以免對預算造成重大影響。如要處理這類較複雜的使用案例,建議您瞭解 Cloud Monitoring,這是 Firebase 專案適用的 Google Cloud 工具。

Cloud Monitoring 適用於多種快訊:

  • 如果專案所依附的資源無法使用 (包括 Firebase 和 Google Cloud 服務,甚至是 AWS 等外部服務)

  • 如果 Cloud Functions 等服務的回應時間超出預期

  • 如果 Cloud Storage 值區、Realtime Database 執行個體或 Cloud Firestore 執行個體拒絕過多要求 (表示 Firebase Security Rules 可能不正確)。

  • 如果部分 Firebase 產品使用的資源量超過特定門檻

透過 Cloud Monitoring 建立的快訊通常會比簡單的預算快訊電子郵件更快傳送,後者通常每天只會傳送一次。快訊可以簡訊、Slack 頻道訊息、PagerDuty 通知、Webhook 等形式傳送。這些選項可讓您傳送警報,並提供更高且更實用的可見度層級。

正在使用 Cloud Monitoring

如要開始使用 Cloud Monitoring,建議先從 Metrics Explorer 開始,您可以在 Firebase/Google Cloud 專案中建立自訂指標的圖表,並以視覺化方式呈現使用情況。

具體來說,您可以查看 Cloud FirestoreRealtime Database 或 Cloud Functions 執行個體等資源。您可以查看這些產品的用量資訊 (例如文件讀取次數、傳送的位元組數或函式呼叫次數),這些資訊會影響帳單。

在指標探索器中順利查看資源用量後,建議您針對最重視的指標建立快訊政策。以下列舉一些快訊政策範例:

  • 如果 30 分鐘內的文件讀取次數超過特定值

  • 如果特定資源 (例如函式呼叫) 的用量在特定時間範圍內快速增加

建立額外的帳單邏輯

當預算達到特定門檻時,預算快訊會自動傳送電子郵件,但如要設定更精細的快訊,或針對支出增加採取程式輔助反應,建議您根據 Google Cloud Pub/Sub 訊息設定額外的自訂邏輯。

舉例來說,您可以透過簡訊將快訊傳送至 Slack 管道,也可以根據支出金額,以程式輔助方式變更應用程式或專案。

Pub/Sub 是一種訊息傳遞服務,可讓其他服務透過稱為 Pub/Sub 主題的管道,以非同步方式傳送訊息 (通常是 JSON 資料)。您可以設定授權服務 (例如 Cloud Functions),監聽這些主題中的訊息,並適當處理資料。

請注意,無論帳單用量是否變更,系統大約每 20 分鐘就會傳送一次帳單 Pub/Sub 通知,而且這些通知不含狀態 (也就是說,通知不會提供任何先前的脈絡資訊)。如要追蹤支出金額隨時間異常增加的情況,或比較支出與上個週期的差異,您必須使用 Cloud FirestoreRealtime Database 等資料庫自行管理這些歷史資料。

搭配 Cloud Functions 使用 Pub/Sub 主題

如要為帳單資料設定 Pub/Sub 主題,請前往 Google Cloud 控制台,在與 Firebase 專案相關聯的預算中 (依序點選「帳單」 >「預算和快訊」),勾選「將 Pub/Sub 主題連結到這筆預算」核取方塊。這會建立 Pub/Sub 主題,供您稍後監聽。如需詳細步驟,請參閱完整說明文件

建立Pub/Sub帳單主題後,您可以編寫 Cloud Function 來監聽這個主題,並根據資料採取相應行動。系統會以 JSON 資料格式傳送資料,其中包含實用資訊,例如您目前的支出金額、預算金額,以及目前帳單週期的開始日期。

如要瞭解如何使用 Cloud Function 接收這項資料,請參閱 Google Cloud 說明文件。不過,如果您使用 Cloud Functions for Firebase 部署函式,一般程序會稍微簡單一些 (請參閱 Firebase 說明文件)。你也可以參閱這部影片,瞭解相關程序。

收到這類資料後,您可以透過多種方式回應。建議的方法如下: