簡單的預算快訊電子郵件是接收帳單更新的相對簡單方式,但有時您可能需要建立更精密的快訊,其中包含更多自訂邏輯。以下提供兩種做法:
使用 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 Firestore、Realtime Database 或 Cloud Functions 執行個體等資源。您可以查看這些產品的用量資訊 (例如文件讀取次數、傳送的位元組數或函式呼叫次數),這些資訊會影響帳單。
在指標探索器中順利查看資源用量後,建議您針對最重視的指標建立快訊政策。以下列舉一些快訊政策範例:
如果 30 分鐘內的文件讀取次數超過特定值
如果特定資源 (例如函式呼叫) 的用量在特定時間範圍內快速增加
建立額外的帳單邏輯
當預算達到特定門檻時,預算快訊會自動傳送電子郵件,但如要設定更精細的快訊,或針對支出增加採取程式輔助反應,建議您根據 Google Cloud Pub/Sub 訊息設定額外的自訂邏輯。
舉例來說,您可以透過簡訊將快訊傳送至 Slack 管道,也可以根據支出金額,以程式輔助方式變更應用程式或專案。
Pub/Sub 是一種訊息傳遞服務,可讓其他服務透過稱為 Pub/Sub 主題的管道,以非同步方式傳送訊息 (通常是 JSON 資料)。您可以設定授權服務 (例如 Cloud Functions),監聽這些主題中的訊息,並適當處理資料。
請注意,無論帳單用量是否變更,系統大約每 20 分鐘就會傳送一次帳單 Pub/Sub 通知,而且這些通知不含狀態 (也就是說,通知不會提供任何先前的脈絡資訊)。如要追蹤支出金額隨時間異常增加的情況,或比較支出與上個週期的差異,您必須使用 Cloud Firestore 或 Realtime 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 說明文件)。你也可以參閱這部影片,瞭解相關程序。
收到這類資料後,您可以透過多種方式回應。建議的方法如下:
分析您的支出與歷來資料的比較結果,並在發現任何異常情況時發出快訊
透過 Remote Config 變更應用程式,以降低過高的帳單費用
從帳戶以程式輔助方式移除帳單服務,完全停用 Firebase 專案