Cloud Logging ile sitenizin web isteği günlüklerini görüntüleyin, arayın ve filtreleyin

Firebase projenizi Cloud Logging'e bağlayarak her bir Hosting sitesinize ait web isteği günlüklerinizi görüntüleyebilir, arayabilir ve filtreleyebilirsiniz. Bu günlükler, Firebase tarafından otomatik olarak sağlanan CDN'den alındığından sitenize yapılan her istek ve ilişkili istek verileri günlüğe kaydedilir.

Cloud Logging günlükleriyle yapabileceğiniz bazı işlemler aşağıda verilmiştir. Ayrıntıları öğrenmek için bu sayfadaki her bölümü ziyaret edin.

Projenizde birden fazla Hosting sitesi varsa Hosting sitelerinizden hangilerinin günlükleri dışa aktaracağını seçebilirsiniz. Ardından günlük verilerinizi Hosting sitesine ve hatta alana göre filtreleyebilir ve görüntüleyebilirsiniz. Günlükleri dışa aktarmak için belirli Hosting sitelerini seçerek projeniz için işlenen veri miktarını da kontrol edebilirsiniz.

  1. Firebase konsolundaki Cloud Logging entegrasyon kartında Bağla'yı tıklayın.

    Cloud Logging'i bağlamak veya bağlantısını kaldırmak için Proje Sahibi veya Düzenleyici ya da Firebase Geliştirme Yöneticisi rollerinden biriyle ilişkili izinlere ihtiyacınız vardır.

  2. Ekrandaki talimatları uygulayarak hangi Hosting sitelerinizin günlükleri Cloud Logging'e aktaracağını seçin.

    Zaten bir veya daha fazla etkin Hosting siteniz varsa bağlantı iş akışında, Barındırma sitelerinizin her birine ait günlükler için tahmini veri kullanım düzeyi gösterilir. Bu değer, son 30 güne göre tahmin edilir.

Cloud Logging'e bağlandıktan sonra barındırma sitelerinize yapılan yeni isteklerin günlükleri genellikle istek yapıldıktan sonraki 30 dakika içinde gösterilir.

Ayrıca Cloud Logging ile Firebase Hosting bağlantısını kaldırabilirsiniz. Bu işlem, web isteği günlüklerinin Cloud Logging'e aktarılmasını durdurur.

Günlükler için veri kullanımınızı izleyin

Cloud Logging'e bağladıktan sonra, Hosting sitelerinizdeki günlüklerin veri kullanım düzeyini görüntüleyebilirsiniz:

Sitenizi daha iyi anlayın

Google Cloud Console'daki Günlük Görüntüleyici arayüzü, sorguları, yerleşik filtreleri ve veri panellerini kullanarak belirli günlüklerinizi ve verilerinizi görüntüleyebileceğiniz araçlar sunar. Günlüklerinizi sorgularla filtreleme hakkında daha fazla bilgi edinmek için aşağıdaki bölümü inceleyin.

  • Sitenizin trafiği ayrıntılı olarak nereden geliyor?
    Kaynak IP'si, başvuran, şehir ve durum dahil her istekle ilgili bilgileri görüntüleyebilirsiniz.

  • Kullanıcılar sitenizi ne zaman ziyaret ediyor?
    Belirli zaman aralıklarına göre dağılımı görmek için Histogram panelini kullanabilirsiniz. Bu rapor, uygulamanızın kullanımındaki normal artış ve düşüşler hakkında bilgi verebilir ve trafikteki beklenmedik ani artışları ortaya çıkarabilir.

  • Son kullanıcı istekleri için durum dağılımı nedir?
    Her isteğin durumunu görüntüleyebilir, hatta hata alan istekleri teşhis edebilirsiniz. Günlüklerinizi Critical, Error veya Warning ölçütlerine göre filtreleyebilirsiniz.

  • Sitenizin isteklere yanıt vermesi ne kadar sürer?
    Her bir günlükte yakalanan latency değerini kullanarak, her istek için sitenizin gecikme süresini görüntüleyebilirsiniz.

  • Siteniz içerikleri önbelleğe alma özelliğinden yararlanıyor mu?
    Her günlükte, sitenizin kaynağının Hosting'in CDN önbelleğinden hızlı bir şekilde sunulduğunu veya Hosting arka ucuna tam olarak gitmesinin gerekip gerekmediğini belirtmek için bir cacheHit alanı bulunur. Bu sayede, Firebase'in küresel CDN'sinden en iyi şekilde yararlanarak web sitenizin performansını artırabilirsiniz. Örneğin, statik öğelerinizin ve dinamik içeriğinizin önbelleğe alma alışkanlıklarında ince ayar yapmak için bu verileri kullanabilirsiniz.

  • Çeşitli alanlarınıza gelen trafiğin dağılımı nasıl?
    Birden fazla alan adınız veya Hosting siteniz varsa günlüklerinizi alana ya da siteye göre filtreleyebilirsiniz. Bu, trafiğinizin nasıl dağıtıldığını görmenize olanak tanır. Alana göre filtreleme yaptığınızda, en sık ziyaret edilen alan adını izleyebilirsiniz.

Günlüklerinizi sorgularla filtreleme

Günlüklerinizi sorgularla nasıl filtreleyeceğinizi öğrenmek için Günlük Görüntüleyici'yi kullanan örnek sorgular ve Günlük sorguları oluşturma sayfalarını ziyaret edin. Bu sorgular için kullanılabilecek alanlar aşağıdaki tabloda açıklanmıştır.

Barındırma için bir sorguya yönelik bazı ilk filtreleri aşağıda görebilirsiniz:

  • Kaynak (resource.type) — firebase_domain (Firebase Barındırma Site Alanı)
  • Günlük adı (logName) — webrequests (Firebase Hosting)

Her günlük girişinin önceden tanımlanmış bir yapısı ve sorgulanabilir alanları vardır (bkz. LogEntry). Hosting söz konusu olduğunda, bazı alanlar HTTP isteğinde standarttır ancak Hosting'in her istekte çalıştırdığı işlemeden gelen başka alan değerleri de vardır.

Alan Açıklama
Firebase Hosting, aşağıdaki alanları günlük girişinin httpRequest nesnesinde depolar.
Bu alanlar HTTP spesifikasyonunda tanımlanmıştır.
cacheHit Hosting CDN'nin önbellekte yanıt kaynağına sahip olup olmadığı
latency s son eki ile birlikte saniye cinsinden istek süresi (örneğin, 1.256s)
protocol İstek için kullanılan protokol (örneğin, HTTP/1.1, HTTP/2, websocket)
referer Şu anda istenen sayfaya giden bağlantının izlendiği önceki web sayfasının adresi (varsa)
remoteIp İsteğin kaynak istemci IP'si
requestMethod İstek yöntemi (GET, POST, PUT vb.)
requestSize İsteğin bayt cinsinden boyutu
requestUrl İsteğin tam URL'si (örneğin,
https://foo.web.app/bar veya https://custom.domain.com?query=param)
responseSize Bayt cinsinden HTTP yanıtı boyutu
serverIp doldurulmayanlar
status HTTP yanıt durumu (örneğin, 200 veya 404)
userAgent İsteğin user-Agent başlığı
Firebase Hosting, ek alanları günlük girişinin jsonPayload nesnesinde saklar.
acceptEncoding (HTTP isteğinden) İstemcinin desteklediği içerik kodlaması (örneğin, gzip veya compress)
billable Projenizin istek için faturalandırılıp faturalandırılmadığı
customDomain İsteğin özel bir alan için gönderilip gönderilmediği
hostname İstekte bulunulan ana makinenin adı
remoteIpCountry Talebin gönderildiği ülke
remoteIpCity Talebin gönderildiği şehir

Günlük tabanlı metrikler kullanma

Günlük tabanlı metrikleri görüntüleyip oluşturabilir, ardından bu metrikleri Cloud Monitoring'de grafik ve uyarı politikaları oluşturmak için kullanabilirsiniz.

  • Otomatik olarak kaydedilen önceden tanımlanmış sistem metriklerinden (ör. belirli bir dönem içinde gerçekleşen günlük kaydı etkinliklerinin sayısı) yararlanın.

  • Projeniz için kullanıcı tanımlı metrikler oluşturun. Belirli bir sorguyla eşleşen günlük girişlerinin sayısını sayabilir veya eşleşen günlük girişleriyle belirli değerleri takip edebilirsiniz. Normal ifadeler kullanarak filtreleme yapabilirsiniz.

  • Belirli mesajları içeren günlük girişlerinin sayısını kaydetmek veya günlük girişlerinde bildirilen gecikme bilgilerini ayıklamak için Cloud Monitoring'i kullanın. Daha sonra bu metrikleri grafiklerde ve uyarı politikalarında kullanabilirsiniz.

Firebase Hosting, aşağıdaki Hosting'e özgü günlük kaydı metriklerini de oluşturur. Bu metrikler bir günlük girişine özel değildir, bunun yerine genel olarak belirli bir Hosting sitesine yöneliktir.

  • log_bytes: Her site için toplam bayt cinsinden veri kullanımı

  • response_count: Site için yazılan toplam yanıt sayısı

    Bu metrik, HTTP durumu alanını içerir. Böylece HTTP yanıtlarını duruma göre (örnek olarak) görüntüleyebilirsiniz.

Günlükleri diğer Google Cloud araçlarına aktarma

Sitenizin günlüklerini Cloud Monitoring veya BigQuery gibi diğer Google Cloud araçlarına da aktarabilirsiniz. Örneğin:

  • Cloud Monitoring'den yararlanarak grafiklerde ve uyarı politikalarında kullanabileceğiniz günlük tabanlı metrikler oluşturabilirsiniz.

  • BigQuery'yi kullanarak aşağıdakilerden herhangi birini yapabilirsiniz:

    • Hosting verilerinizin kontrol panellerini oluşturmak için Data Studio'yu kullanın.
    • İstekleriniz hakkında daha fazla bilgi edinmek için sorgular çalıştırın (ortalama yanıt boyutu, önbellek isabetleri - eksiklikler vb.).
    • Kullanıcılarınızın hangi URL'leri istediğini öğrenin.
    • Hosting verilerinizi BigQuery'ye aktardığınız diğer Firebase verileriyle birleştirip yeni yöntemlerle sorgulayın.