Temel bütçe uyarısı e-postaları, faturalandırma güncellemelerini almanın nispeten kolay bir yolu olsa da daha özelleştirilmiş mantık içeren daha gelişmiş uyarılar oluşturmak isteyebileceğiniz zamanlar olabilir. Göz önünde bulundurabileceğiniz iki yaklaşım:
Daha gelişmiş ve zamanında uyarılar oluşturmak için Cloud Monitoring özelliğini kullanma
Harcamanızdaki değişikliklere yanıt olarak özel davranışlar oluşturmak için ilgili bir Cloud Function ile birlikte faturalandırma Pub/Sub bildirimi kullanın.
Bu tekniklerin her ikisi de sizin tarafınızdan daha fazla çalışma gerektirse de tam olarak ne tür uyarılar aldığınızı ve bunlara nasıl yanıt vereceğinizi kontrol etme gücü verir.
Bu sayfada, bu yaklaşımların her biriyle ilgili genel bilgiler sunulmaktadır.
Cloud Monitoring ile daha karmaşık uyarılar oluşturma
Basit bütçe uyarı e-postaları, toplam faturalandırmanız belirli eşiklere ulaştığında sizi bilgilendirir. Ancak, bütçenizi önemli ölçüde etkileme fırsatı bulmadan önce tek tek hizmetlerin beklenmedik şekilde artıp artmadığını da öğrenmek isteyebilirsiniz. Bunun gibi daha karmaşık kullanım alanları için, Firebase projenizde kullanabileceğiniz bir Google Cloud aracı olan Cloud Monitoring hakkında bilgi edinmenizi öneririz.
Cloud Monitoring, çeşitli uyarı türleri için kullanışlıdır:
Projenizin kullandığı bir kaynak kullanılamıyorsa (hem Firebase hem de Google Cloud hizmetleri için, ancak AWS gibi harici hizmetler için de)
Cloud Functions gibi hizmetlerin yanıt vermesi beklenenden uzun sürüyorsa
Cloud Storage paketi, Realtime Database örneği veya Cloud Firestore örneği çok fazla isteği reddediyorsa (Firebase Security Rules değerinizin yanlış olabileceğini gösterir).
Firebase ürünlerinizin bazıları tarafından kullanılan kaynak miktarı belirli bir eşiğin üzerine çıktıysa
Cloud Monitoring üzerinden oluşturulan uyarılar genellikle günde bir kez gönderilen temel bütçe uyarı e-postalarından daha hızlı gönderilir. Uyarılar; SMS mesajları, Slack kanal mesajları, PagerDuty bildirimleri, webhook'lar ve daha fazlası şeklinde olabilir. Bu seçenekler, daha yüksek ve daha fazla işlem yapılabilir görünürlük düzeylerine sahip uyarılar göndermenizi sağlar.
Cloud Monitoring uygulamasını kullanma
Cloud Monitoring ile çalışmaya başlamak için Metrics Explorer ile başlamanızı öneririz. Bu araç, Firebase/Google Cloud projenizdeki özel metriklerin grafiklerini oluşturmanıza ve kullanımlarını görselleştirmenize olanak tanır.
Özellikle Cloud Firestore, Realtime Database veya Cloud Functions örnekleriniz gibi kaynaklara bakabilirsiniz. Faturalandırmanızı etkileyecek bu ürünlerle ilgili kullanım bilgilerini (ör. okunan belge sayısı, gönderilen bayt sayısı veya işlev çağrıları) görüntüleyebilirsiniz.
Kaynak kullanımınızı Metrics Explorer içinde görselleştirdikten sonra, en çok önem verdiğiniz metriklerle ilgili bir uyarı politikası oluşturmanızı öneririz. Aşağıda bazı örnek uyarı politikaları verilmiştir:
30 dakikalık bir süre içinde okunan doküman sayısı belirli bir değerden büyükse
Belirli bir kaynağın (ör. işlev çağrısı) kullanımı belirli bir zaman aralığında çok hızlı artıyorsa
Ek faturalandırma mantığı oluşturma
Bütçe uyarıları, bütçeniz belirli eşiklere ulaştığında otomatik olarak e-posta gönderir. Ancak daha gelişmiş uyarılar veya harcama artışlarına yönelik programatik tepkiler için Google Cloud Pub/Sub mesajlarına dayalı ek özel mantık ayarlamayı düşünebilirsiniz.
Örneğin, Slack kanallarına veya kısa mesaj yoluyla uyarı gönderebilir ya da harcama düzeylerine bağlı olarak uygulamanızda veya projenizde programatik değişiklikler yapabilirsiniz.
Pub/Sub, diğer hizmetlerin Pub/Sub konuları olarak bilinen kanallar üzerinden eşzamansız olarak mesaj (genellikle JSON verileri biçiminde) göndermesine olanak tanıyan bir mesaj iletme hizmetidir. Cloud Functions gibi yetkili hizmetleri, bu konulardaki mesajları dinleyecek ve verilerle ilgili uygun işlemleri yapacak şekilde ayarlayabilirsiniz.
Fatura ile ilgili Pub/Sub bildirimlerinin, faturalandırma kullanımınız değişmiş olsun veya olmasın yaklaşık 20 dakikada bir gönderildiğini ve durum bilgisiz olduğunu (yani, kendilerinden önce ne olduğuna dair bağlam sağlamadığını) unutmayın. Harcamalardaki zaman içindeki olağan dışı artışları takip etmek veya harcamalarınızı önceki dönemle karşılaştırmak istiyorsanız bu geçmiş verileri Cloud Firestore veya Realtime Database gibi bir veritabanı kullanarak kendiniz yönetmeniz gerekir.
Pub/Sub konularını Cloud Functions ile kullanma
Google Cloud konsolunda (Faturalandırma > Bütçeler ve uyarılar bölümünde) Firebase projenizle ilişkili bütçeyi ziyaret ederek faturalandırma verileriniz için bir Pub/Sub konusu ayarlayabilir, ardından Bu bütçeye bir Pub/Sub konusu bağlayın onay kutusunu tıklayabilirsiniz. Bu işlem, daha sonra dinleyebileceğiniz bir Pub/Sub konusu oluşturur. Ayrıntılı adımlar için tam belgelere bakın.
Pub/Sub faturalandırma konunuzu oluşturduktan sonra faturalandırma konusunu dinlemek ve verilere göre işlem yapmak için bir Cloud Function yazabilirsiniz. Veriler JSON verileri olarak gönderilir ve şu ana kadar harcadığınız tutar, bütçe tutarınız ve mevcut faturalandırma döneminizin başlangıç tarihi gibi faydalı bilgiler içerir.
Google Cloud dokümanında, Cloud Functions işlevi kullanarak bu verileri nasıl alacağınızla ilgili tüm ayrıntılar yer almaktadır. Ancak işlevlerinizi dağıtmak için Cloud Functions for Firebase kullanıyorsanız genel süreç biraz daha basittir (Firebase dokümanlarına göz atın). Sürecin örnek bir açıklamasını görmek için bu videoya da göz atabilirsiniz.
Bu verileri aldıktan sonra, bunlara yanıt vermenin çeşitli yolları vardır. İşte bazı seçenekler:
Harcamanız belirli bir eşiğe ulaştığında Slack kanallarına, Discord kanallarına veya kısa mesaj yoluyla uyarı gönderin.
Harcamalarınızı geçmiş verilerle karşılaştırarak analiz eder ve olağan dışı bir durum olduğunda sizi uyarır.
Fatura düzeyleri çok yükselmişse Remote Config kullanarak uygulamanızda değişiklik yapın.
Faturalandırma hizmetinizi hesabınızdan programatik olarak kaldırarak Firebase projenizi tamamen devre dışı bırakın.