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 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 Cloud Function ile birlikte bir 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 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 şansı bulmadan ö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ının kullandığı 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 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'i kullanmaya başlamak için Metrik Gezgini 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ı Metrik Gezgini'nde görselleştirmekten memnun kaldıktan 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 doküman okuma 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 genellikle JSON verileri şeklinde olan mesajları eşzamansız olarak 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.
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
Pub/Sub konsolunda Firebase projenizle ilişkili bütçeyi (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.Google Cloud 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 dokümanlarında, Cloud Functions kullanarak bu verileri nasıl alacağınıza dair 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 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 olduğunda 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