Thiết lập logic và cảnh báo thanh toán nâng cao

Mặc dù các email cảnh báo ngân sách đơn giản là cách tương đối dễ dàng để nhận thông tin cập nhật về thanh toán, nhưng có thể đôi khi bạn muốn tạo các cảnh báo phức tạp hơn bao gồm nhiều logic tùy chỉnh hơn. Dưới đây là hai cách tiếp cận để xem xét:

  • Sử dụng Giám sát đám mây để tạo cảnh báo tinh vi và kịp thời hơn

  • Sử dụng thông báo Pub/Sub thanh toán cùng với Chức năng đám mây tương ứng để tạo hành vi tùy chỉnh nhằm đáp ứng những thay đổi trong chi tiêu của bạn

Mặc dù cả hai kỹ thuật này đều đòi hỏi bạn phải làm việc nhiều hơn nhưng chúng mang lại cho bạn khả năng kiểm soát chính xác loại cảnh báo nào bạn đang nhận và cách phản hồi chúng.

Trang này cung cấp một cái nhìn tổng quan cho từng phương pháp này.

Tạo cảnh báo phức tạp hơn với Giám sát đám mây

Email thông báo ngân sách đơn giản cho bạn biết khi tổng thanh toán của bạn đã đạt đến ngưỡng nhất định. Tuy nhiên, bạn cũng có thể muốn biết liệu các dịch vụ riêng lẻ có tăng đột biến hay không -- trước khi chúng có cơ hội ảnh hưởng đáng kể đến ngân sách của bạn. Đối với các trường hợp sử dụng phức tạp hơn như thế này, chúng tôi khuyên bạn nên tìm hiểu về Giám sát đám mây, một công cụ Google Cloud có sẵn cho dự án Firebase của bạn.

Giám sát đám mây rất hữu ích cho một số loại cảnh báo khác nhau:

  • Nếu tài nguyên mà dự án của bạn dựa vào không có sẵn (đối với cả dịch vụ Firebase và Google Cloud, kể cả đối với các dịch vụ bên ngoài, như AWS)

  • Nếu các dịch vụ như Cloud Functions mất nhiều thời gian hơn dự kiến ​​để phản hồi

  • Nếu nhóm Cloud Storage, phiên bản Cơ sở dữ liệu thời gian thực hoặc phiên bản Cloud Firestore của bạn từ chối quá nhiều yêu cầu (dấu hiệu cho thấy Quy tắc bảo mật Firebase của bạn có thể không chính xác).

  • Nếu lượng tài nguyên mà một số sản phẩm Firebase của bạn sử dụng đã tăng lên trên một ngưỡng nhất định

Cảnh báo được tạo thông qua Giám sát đám mây thường được gửi nhanh hơn email cảnh báo ngân sách đơn giản, thường được gửi một lần mỗi ngày. Cảnh báo có thể ở dạng tin nhắn SMS, tin nhắn kênh Slack, thông báo PagerDuty, webhook, v.v. Các tùy chọn này cho phép bạn gửi thông báo với mức độ hiển thị cao hơn và hữu dụng hơn.

Sử dụng giám sát đám mây

Để bắt đầu với Giám sát đám mây, chúng tôi khuyên bạn nên bắt đầu với Metrics Explorer , công cụ này cho phép bạn tạo biểu đồ về các số liệu tùy chỉnh trong dự án Firebase/Google Cloud của mình và trực quan hóa việc sử dụng chúng.

Cụ thể, bạn có thể xem các tài nguyên như Cloud Firestore, Cơ sở dữ liệu thời gian thực hoặc các phiên bản Chức năng đám mây. Bạn có thể xem thông tin sử dụng về các sản phẩm này (như số lần đọc tài liệu, số byte đã gửi hoặc lệnh gọi hàm) sẽ ảnh hưởng đến việc thanh toán của bạn.

Sau khi bạn cảm thấy thoải mái khi trực quan hóa việc sử dụng tài nguyên của mình trong Metrics Explorer, chúng tôi khuyên bạn nên tạo chính sách cảnh báo về các số liệu mà bạn quan tâm nhất. Dưới đây là một số chính sách cảnh báo mẫu:

  • Nếu số lượng tài liệu được đọc trong khoảng thời gian 30 phút lớn hơn một giá trị cụ thể

  • Nếu việc sử dụng một tài nguyên cụ thể (chẳng hạn như lệnh gọi hàm) dường như tăng quá nhanh trong một khung thời gian nhất định

Tạo logic thanh toán bổ sung

Thông báo ngân sách tự động gửi email khi ngân sách của bạn đạt đến ngưỡng nhất định, nhưng để có cảnh báo phức tạp hơn hoặc phản ứng có lập trình trước việc tăng chi tiêu, bạn có thể xem xét thiết lập logic tùy chỉnh bổ sung dựa trên thông báo Google Cloud Pub/Sub.

Ví dụ: bạn có thể gửi thông báo đến các kênh Slack hoặc qua tin nhắn văn bản hoặc bạn thực hiện các thay đổi theo chương trình đối với ứng dụng hoặc dự án của mình tùy thuộc vào mức chi tiêu.

Pub/Sub là dịch vụ chuyển tin nhắn cho phép các dịch vụ khác gửi tin nhắn — thường ở dạng dữ liệu JSON — theo cách không đồng bộ thông qua các kênh được gọi là chủ đề Pub/Sub. Bạn có thể thiết lập các dịch vụ được ủy quyền, như Chức năng đám mây, để nghe tin nhắn trong các chủ đề này và hành động phù hợp với dữ liệu.

Lưu ý rằng thông báo Pub/Sub về thanh toán được gửi khoảng 20 phút một lần cho dù việc sử dụng thanh toán của bạn có thay đổi hay không và chúng không có trạng thái (có nghĩa là chúng không cung cấp ngữ cảnh về những gì xảy ra trước đó). Nếu bạn muốn theo dõi mức chi tiêu tăng bất thường theo thời gian hoặc so sánh chi tiêu của mình với chu kỳ trước đó, bạn sẽ cần phải tự mình quản lý dữ liệu lịch sử đó bằng cách sử dụng cơ sở dữ liệu như Cloud Firestore hoặc Cơ sở dữ liệu thời gian thực.

Sử dụng chủ đề Pub/Sub với Cloud Functions

Bạn có thể thiết lập chủ đề Pub/Sub cho dữ liệu thanh toán của mình bằng cách truy cập ngân sách được liên kết với dự án Firebase của bạn trong Google Cloud Console (trong Thanh toán > Ngân sách và thông báo ), sau đó nhấp vào hộp kiểm Kết nối chủ đề Pub/Sub với ngân sách này . Điều này sẽ tạo một chủ đề Pub/Sub mà bạn có thể nghe sau. Để biết các bước chi tiết, hãy tham khảo tài liệu đầy đủ .

Sau khi tạo chủ đề thanh toán Pub/Sub, bạn có thể viết Hàm đám mây để nghe chủ đề này và hành động dựa trên dữ liệu tương ứng. Dữ liệu được gửi dưới dạng dữ liệu JSON và bao gồm thông tin hữu ích như số tiền bạn đã chi tiêu cho đến nay, số tiền trong ngân sách và ngày bắt đầu chu kỳ thanh toán hiện tại của bạn.

Tài liệu Google Cloud có đầy đủ chi tiết về cách nhận dữ liệu này bằng Chức năng đám mây. Tuy nhiên, nếu bạn đang sử dụng Cloud Functions cho Firebase để triển khai các chức năng của mình thì quy trình chung sẽ đơn giản hơn một chút (xem tài liệu về Firebase ). Bạn cũng có thể tham khảo video này để biết hướng dẫn mẫu về quy trình.

Sau khi nhận được dữ liệu này, bạn có thể phản hồi theo một số cách khác nhau. Dưới đây là một số tùy chọn: