Veritabanı metriklerini izleme

Bu sayfada, veritabanınızı izlemek için Cloud Firestore için Cloud Monitoring metriklerinin nasıl kullanılacağı açıklanmaktadır.

Cloud Firestore için Cloud Monitoring metrikleri

Aşağıdaki bölümlerde, Cloud Firestore için kullanılabilen metrikler hakkında genel bilgiler verilmektedir.

İzlenen Kaynaklar

Cloud Monitoring'teki izlenen kaynak; sanal makine, veritabanı veya uygulama gibi mantıksal ya da fiziksel bir varlığı temsil eder. İzlenen kaynaklar; keşfedilebilen, bir kontrol paneli aracılığıyla raporlanabilen veya uyarı oluşturmak için kullanılabilen benzersiz bir metrik grubu içerir. Her kaynağın, kaynak hakkında ek bilgiler içeren anahtar/değer çiftleri olan bir dizi kaynak etiketi de vardır. Kaynak etiketleri, kaynakla ilişkili tüm metrikler için kullanılabilir.

Cloud Monitoring API kullanılarak Cloud Firestore performansı aşağıdaki kaynakla izlenir:

Kaynaklar Açıklama
firestore.googleapis.com/Database project, location ve database_id için dökümler sağlayan izlenen kaynak türü.

Metrikler

Cloud Firestore ile ilgili metriklerin tam listesi için Cloud Firestore metrikleri başlıklı makaleyi inceleyin. Aşağıdaki bölümde, kullanılabilir metriklerden bazıları açıklanmaktadır.

Hizmet çalışma zamanı metrikleri

serviceruntime metrikleri, bir projenin trafiğine dair üst düzey bir genel bakış sunar. Bu metrikler çoğu Google Cloud API'si için kullanılabilir. consumed_api izlenen kaynak türü bu yaygın metrikleri içerir. Bu metrikler her 30 dakikada bir örneklenir ve bu da verilerin düzeltilmesine neden olur.

serviceruntime metrikleri için önemli bir kaynak etiketi method şeklindedir. Bu etiket, çağrılan temel RPC yöntem çağrısını temsil eder. Çağırdığınız SDK yönteminin adı, temel RPC yöntemiyle aynı olmayabilir. Bunun nedeni, SDK'nın üst düzey API soyutlaması sağlamasıdır. Ancak uygulamanızın Cloud Firestore ile nasıl etkileşim kurduğunu anlamaya çalışırken RPC yönteminin adına dayalı metrikleri anlamak önemlidir.

Belirli bir SDK yöntemi için temel RPC yönteminin ne olduğunu öğrenmeniz gerekiyorsa API belgelerine bakın.

api/request_latencies

api/request_latencies metriği, tamamlanan tüm isteklerdeki gecikme dağılımlarını sağlar.

Cloud Firestore, Cloud Firestore hizmeti bileşenindeki metrikleri kaydeder. Gecikme metrikleri, Cloud Firestore isteği aldığı andan Cloud Firestore yanıtı göndermeyi tamamladığı ana kadar geçen süreyi (depolama katmanıyla etkileşimler dahil) içerir. Bu nedenle, istemci ile Cloud Firestore hizmeti arasındaki gidiş dönüş gecikmesi (rtt) bu metriklere dahil edilmez.

Belge işlemi metrikleri

Cloud Firestore; okuma, yazma ve silme sayılarını sağlar. Yazma metriği, "CREATE" ve "UPDATE" işlemlerinin dökümünü sağlar. Bu metrikler, CRUD işlemleriyle uyumludur.

Aşağıdaki metrikler, veritabanınızın okuma ağırlıklı mı yoksa yazma ağırlıklı mı olduğunu ve yeni dokümanların silinen dokümanlara oranını anlamak için kullanılabilir.

  • document/delete_ops_count: Başarıyla silinen dokümanların sayısı.
  • document/read_ops_count: Sorgulardan veya aramalardan başarılı belge okuma sayısı.
  • document/write_ops_count: Başarılı belge yazma işlemlerinin sayısı.

Faturalandırma metrikleri

Faturalandırma kullanımını anlamak için bu metrikleri kullanın. Bu metrikler, yönetici işlemlerinden (dizine ekleme, içe aktarma, dışa aktarma ve toplu silme) kaynaklanan faturalandırmayı içermez.

  • api/billable_read_units: Faturalandırılabilir okuma birimlerinin sayısı. Kullanım, hizmet adına ve API yöntemine göre ayrılabilir.
  • api/billable_realtime_read_units: Anlık güncellemelerden elde edilen faturalandırılabilir anlık güncelleme birimlerinin sayısı. Bu, yalnızca yerel modda Cloud Firestore için geçerlidir.
  • api/billable_write_units: Faturalandırılabilir yazma birimlerinin sayısı. Kullanım, hizmet adına ve API yöntemine göre ayrılabilir.
  • document/billable_managed_delete_write_units: TTL gibi yönetilen silme hizmetlerinden alınan faturalandırılabilir yazma birimlerinin sayısı.

Dizin metrikleri

Dizin yayılımını anlamak için dizin yazma oranları document/write_ops_count metriğiyle karşılaştırılabilir.

  • index/write_count: Dizin yazma işlemlerinin sayısı.

TTL Metrikleri

Cloud Firestore metrikleri için TTL metrikleri, uygulanan TTL politikasının etkisini izlemek için kullanılır.

  • document/ttl_deletion_count: TTL hizmetleri tarafından silinen toplam belge sayısı.
  • document/ttl_expiration_to_deletion_delays: TTL'si olan bir dokümanın süresinin dolması ile gerçekten silinmesi arasında geçen süre.

Önceden tanımlanmış kontrol panellerini görüntüleme ve özel kontrol panelleri oluşturma

Cloud Firestore, Cloud Monitoring metriklerini kullanan önceden tanımlanmış kontrol panellerini destekler. Özel kontrol panelleri de oluşturabilirsiniz.

Veritabanı kullanım metriklerini görüntüleme

Zaman içinde belge okuma, yazma ve silme işlemlerini görüntülemek için Google Cloud Console'da kullanım kontrol panellerini açın.

Erişim denetimi

Kullanım kontrol panelleri için monitoring.timeSeries.list Identity and Access Management (IAM) izni gerekir. Proje Sahibi, Düzenleyici ve Görüntüleyici rolleri bu izni verir. Bu izni Cloud Monitoring rolü veya özel rol aracılığıyla da verebilirsiniz.

Veritabanı kullanımı kontrol paneli

Cloud Firestore veritabanının kullanım metriklerini görüntülemek için aşağıdaki adımları uygulayın.

  1. Google Cloud Console'da Veritabanları sayfasına gidin.

    Veritabanları'na gidin

  2. Veritabanları listesinden gerekli veritabanını seçin.

  3. Gezinme menüsünde Kullanım'ı tıklayın.

Kullanım kontrol paneli ve fatura raporları

Konsoldaki Cloud Firestore kullanım kontrol panelleri, kullanımın tahminini sağlar. Kullanımdaki ani artışları belirlemenize yardımcı olabilirler. Ancak kontrol paneli, faturalandırılan işlemlerin tam bir görünümü değildir. Faturalandırılan kullanım büyük olasılıkla daha yüksektir. Faturalandırmayı izlemek için faturalandırma metrikleri bölümüne bakın.

Tüm tutarsızlık durumlarında fatura raporu, kullanım kontrol paneline göre önceliklidir.

İçe ve dışa aktarma işlemleri, kullanım kontrol paneli ile faturalandırılan kullanım arasında tutarsızlıklara neden olur. Bu işlemler tarafından gerçekleştirilen okuma ve yazma işlemleri, kullanım kontrol panelinde gösterilmez.

Veritabanı performans metriklerini görüntüleme

Google Cloud konsolunun Cloud Firestore bölümündeki İzleme sayfasında, İstek Gecikmeleri (P50 ve P99), Yanıt Kodları ve Sorgu istatistikleri (P50) gibi önceden tanımlanmış izleme kontrol panelleri bulunur. Ayrıca bir adet özel kontrol paneli de oluşturabilirsiniz. Bir veritabanının İzleme sayfasına erişmek için aşağıdaki adımları uygulayın:

  1. Google Cloud Console'da Cloud Firestore Veritabanları sayfasını açın.

    Veritabanları'na gidin

  2. Listeden bir veritabanı seçin.

  3. Gezinme menüsünde Monitoring'i tıklayarak bir kontrol paneli açın.

Özel Cloud Monitoring kontrol panelleri oluşturma

Cloud Monitoring'da özel gösterge tabloları, sizinle alakalı bilgileri düzenli bir şekilde görüntülemenize olanak tanır. Örneğin, üretim ortamınızda projenizin performans metriklerini ve uyarı politikalarını görüntülemek için bir kontrol paneli oluşturabilirsiniz.

Özel kontrol paneli oluşturma hakkında daha fazla bilgi için Özel kontrol panelini yönetme ve Kontrol paneli widget'ları ekleme başlıklı makaleleri inceleyin.

Uyarı politikası oluşturma

Cloud Monitoring'da, bir metrik koşulunda değişiklik olduğunda sizi bilgilendirecek uyarılar oluşturabilirsiniz. Bu uyarıları, olası sorunlar kullanıcılarınızı etkilemeden önce bildirim almak için kullanabilirsiniz.

Uyarı oluşturma hakkında daha fazla bilgi için Metrik eşiği uyarı politikaları oluşturma başlıklı makaleyi inceleyin.

Gecikme uyarısı politikası oluşturduğumuz aşağıdaki örneği inceleyin. Uyarı politikası, 5 dakikalık kayan bir zaman aralığında p99 gecikmesini kontrol eder. p99 gecikme süresi 5 dakika boyunca 250 ms'den yüksek kalırsa uyarı tetiklenir.

Konsol

  1. Google Cloud Console'da İzleme sayfasına gidin ve   Uyarı'yı seçin.

    Monitoring'e git

  2. Create policy'yi (Politika oluştur) seçin.

  3. Consumed API (Kullanılan API) kaynağından Request Latencies (İstek Gecikmeleri) metriğini seçin.

  4. Yerel mod veritabanlarındaki Firestore için firestore.googleapis.com hizmet filtresi ekleyin.

  5. Tetikleyiciyi yapılandırmak için Sonraki'yi tıklayın.

  6. Condition Types (Koşul Türleri) olarak Threshold'u (Eşik) seçin.

    Eşik koşulu, 250 ms eşik değerine ayarlanır. p99 gecikme değeri, kayan pencere süresinin tamamı (5 dk.) boyunca aynı kaldığında bir uyarı tetiklenir.

  7. Eşik değeri'ni 250 olarak ayarlayın.

  8. Bildirimleri yapılandırmak için İleri'yi tıklayın.

  9. Uyarı politikası adını ayarlayın ve Next'i (Sonraki) tıklayın.

  10. Uyarı yapılandırmalarını inceleyin ve Create Policy'yi (Politika oluştur) tıklayın.

MQL (use in paranthesis next to TR long form in the first instance)

Aynı gecikme uyarısı politikasını Monitoring Query Language (MQL) sorgusu kullanarak uygulayabilirsiniz. MQL kullanımıyla ilgili daha fazla örnek için Örnek MQL sorguları başlıklı makaleyi inceleyin.

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'