Basit 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 karmaşık uyarılar oluşturmak isteyebilirsiniz. Göz önünde bulundurabileceğiniz iki yaklaşım:
Daha karmaşık ve zamanında uyarılar oluşturmak için Cloud Monitoring 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 hangi tür uyarıları alacağı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 verilmektedir.
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 etkilemeden önce tek tek hizmetlerin beklenmedik şekilde artıp artmadığını da bilmek 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ğiniz çok fazla isteği reddediyorsa (Firebase Security Rules değerinizin yanlış olabileceğine dair bir gösterge).
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 basit 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 uygulanabilir 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 Metrik Gezgini'ni kullanmanı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ı Metrik Gezgini'nde 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, uyarıları Slack kanallarına veya kısa mesaj yoluyla 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 aracılığıyla eşzamansız olarak mesaj (genellikle JSON verileri şeklinde) göndermesine olanak tanıyan bir mesaj iletme hizmetidir. Bu konulardaki mesajları dinlemek ve verilerle ilgili uygun işlemleri yapmak için Cloud Functions gibi yetkili hizmetler ayarlayabilirsiniz.
Faturalandırma 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
Pub/Sub konsolunda Firebase projenizle ilişkili bütçeyi (Google Cloud bölümünde, Faturalandırma > Bütçeler ve uyarılar altında) ziyaret edip Bu bütçeye bir Pub/Sub konusu bağla onay kutusunu tıklayarak faturalandırma verileriniz için bir Pub/Sub konusu ayarlayabilirsiniz. Bu işlem, daha sonra dinleyebileceğiniz bir Pub/Sub konusu oluşturur. Ayrıntılı adımlar için tam dokümanlara bakın.
Pub/Sub faturalandırma konunuzu oluşturduktan sonra bu konuyu 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 belgelerinde, Cloud Functions 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). İşlemin örnek bir adım adım açıklaması 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 uyarı gönderme, Discord kanallarına uyarı gönderme veya kısa mesaj gönderme
Harcamalarınızı geçmiş verilerle karşılaştırarak analiz etme ve olağan dışı bir durum tespit edildiğinde sizi uyarma
Faturalandırma düzeyleri çok yükseldiğinde Remote Config üzerinden uygulamanızda değişiklik yapma
Faturalandırma hizmetinizi hesabınızdan programatik olarak kaldırarak Firebase projenizi tamamen devre dışı bırakma