設定進階帳單快訊和邏輯

雖然預算快訊是接收帳單更新資訊的相對簡單方式,但有時您可能需要建立更複雜的快訊,其中包含更多自訂邏輯。以下是兩種建議做法:

  • 使用 Cloud Monitoring 建立更精細、更即時的快訊

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

雖然這兩種技術都需要您投入更多心力,但您能完全掌控要接收的快訊類型,以及如何回應。

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

使用 Cloud Monitoring 建立更精密的警告

當整體帳單金額達到特定門檻時,系統會傳送簡單的預算快訊電子郵件通知您。不過,您可能也想知道個別服務是否意外增加,以免預算受到重大影響。對於這類更複雜的用途,建議您瞭解 Cloud Monitoring,這是 Firebase 專案可用的 Google Cloud 工具。

Cloud Monitoring 適用於多種不同類型的快訊:

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

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

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

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

透過 Cloud Monitoring 建立的快訊通常會比基本預算快訊電子郵件更快傳送,後者通常每天傳送一次。快訊可以採用簡訊、Slack 頻道訊息、PagerDuty 通知、Webhook 等形式。這些選項可讓您傳送更清楚、更具行動價值的快訊。

正在使用 Cloud Monitoring

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

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

在Metrics Explorer中熟悉資源用量的視覺化呈現後,建議您針對最重視的指標建立警告政策。以下是警告政策範例:

  • 30 分鐘的時間範圍內的文件讀取次數大於特定值

  • 如果特定資源 (例如函式叫用) 的用量在某個時間範圍內似乎增加過快

建立其他計費邏輯

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

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

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

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

搭配使用 Pub/Sub 主題和 Cloud Functions

如要為帳單資料設定 Pub/Sub 主題,請在 Google Cloud 控制台 (依序前往 「Billing」>「Budgets and alerts」) 中,前往 與 Firebase 專案相關聯的預算,然後勾選 「Connect a Pub/Sub topic to this budget」核取方塊。系統會建立 Pub/Sub 主題,供您稍後聆聽。如需詳細步驟,請參閱完整說明文件。

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

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

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