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

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

  • Sử dụng Cloud Monitoring để tạo các 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 thông báo tương ứng Hàm Cloud giúp tạo hành vi tuỳ chỉnh nhằm phản hồi những thay đổi trong đang chi tiêu

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

Trang này cung cấp thông tin tổng quan cho từng phương pháp tiếp cận này.

Tạo cảnh báo tinh vi hơn bằng Cloud Monitoring

Các email cảnh báo đơn giản về ngân sách cho bạn biết khi đạt đến hạn mức thanh toán tổng thể 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 lên một cách không mong muố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, bạn nên tìm hiểu về Cloud Monitoring, một công cụ Google Cloud có sẵn cho dự án Firebase của bạn.

Cloud Monitoring hữu ích cho một số loại cảnh báo:

  • Nếu không có tài nguyên mà dự án của bạn cần (cho cả hai tài nguyên) Firebase và các dịch vụ Google Cloud, nhưng ngay 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 bộ chứa Cloud Storage, thực thể Realtime Database hoặc thực thể Cloud Firestore của bạn đang từ chối quá nhiều yêu cầu (cho biết rằng Firebase Security Rules của bạn có thể không chính xác).

  • Nếu một số sản phẩm Firebase của bạn sử dụng nhiều tài nguyên hơn một ngưỡng nhất định

Cảnh báo được tạo qua Cloud Monitoring thường được gửi nhanh hơn email cảnh báo về 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ưới dạng tin nhắn SMS, tin nhắn trên kênh Slack, thông báo PagerDuty, webhook và nhiều thiết bị khác. Các tuỳ chọn này cho phép bạn gửi cảnh báo với mức độ hiển thị cao hơn và có thể hành động hơn.

Sử dụng Cloud Monitoring

Để bắt đầu sử dụng Cloud Monitoring, bạn nên bắt đầu bằng Trình khám phá chỉ số, cho phép bạn tạo biểu đồ gồm các chỉ số tuỳ chỉnh trong Dự án Firebase/Google Cloud và trực quan hoá cách sử dụng của chúng.

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

Sau khi bạn đã thấy rõ mức sử dụng tài nguyên trong phần Chỉ số Explorer, bạn nên tạo một chính sách cảnh báo về các chỉ số mà bạn quan tâm nhất. Sau đây là một số ví dụ về chính sách cảnh báo:

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

  • Nếu mức sử dụng một tài nguyên cụ thể (chẳng hạn như lệnh gọi hàm) có vẻ 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 về ngân sách tự động gửi email khi ngân sách của bạn đạt đến một mức nhất định nhưng dùng để cảnh báo hoặc phản ứng có lập trình tinh vi hơn mức chi tiêu tăng lên, bạn có thể xem xét thiết lập thêm logic tuỳ chỉnh trên Google Cloud tin nhắn 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 có lập trình cho ứng dụng hoặc dự án của bạn tuỳ thuộc vào mức chi tiêu.

Pub/Sub là một dịch vụ truyền tin cho phép các dịch vụ khác gửi thông báo – thường ở dạng dữ liệu JSON – theo phương thức 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 thiết bị được uỷ quyền các dịch vụ, như Cloud Functions, để nghe thông báo trong các chủ đề này và hành động đối với dữ liệu một cách thích hợp.

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

Đang sử dụng Pub/Sub chủ đề 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 vào ngân sách được liên kết với dự án Firebase của bạn trong bảng điều khiển Google Cloud (trong Thanh toán > Ngân sách và cảnh báo), sau đó nhấp vào hộp đánh dấu Kết nối một chủ đề Pub/Sub với ngân sách này. Thao tác 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 một Hàm trên đám mây để theo dõi chủ đề này và hành động theo dữ liệu tương ứng. Chiến lược phát hành đĩa đơn được gửi dưới dạng dữ liệu JSON và bao gồm các thông tin hữu ích như số tiền bạn đã chi tiêu cho đến thời điểm này, số tiền ngân sách và ngày bắt đầu chiến dịch hiện tại chu kỳ thanh toán.

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

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