運用 Cloud Logging 查看、搜尋及篩選網站要求記錄檔

您可以將 Firebase 專案連結至 Cloud Logging,查看、搜尋及篩選每個 Hosting 網站的網路要求記錄。這些記錄來自 Firebase 自動提供的 CDN,因此系統會記錄網站的每項要求和相關要求資料。

以下是您如何使用 Cloud Logging 記錄進行的操作。造訪 這個網頁。

如果您的專案中有多個 Hosting 網站,則可以選取 你的 Hosting 網站將匯出記錄。您可以篩選及查看記錄檔 按 Hosting 個網站甚至按網域劃分資料。您也可以選取要匯出記錄的特定 Hosting 網站,藉此控制專案處理的資料量。

  1. Firebase 控制台的 Cloud Logging 整合資訊卡中,按一下「連結」

    如要連結或取消連結「Cloud Logging」,您必須具備相關權限 下列任一角色:專案擁有者或編輯者Firebase 開發管理員

  2. 按照畫面上的指示,選取要將記錄檔匯出至 Cloud LoggingHosting 網站。

    如果您已有一或多個有效的 Hosting 網站,連結工作流程會針對每個 Hosting 網站的記錄顯示預估資料使用量等級。這個值是根據過去 30 天的資料估算而得。

連結到 Cloud Logging 後,系統會記錄向 系統通常會在要求傳送要求後的 30 分鐘內顯示 Hosting 個網站 執行。

您也可以取消連結 Firebase HostingCloud Logging,這樣就不會將網路要求記錄匯出至 Cloud Logging

監控資料用量記錄

連結至 Cloud Logging 後,您可以查看 Hosting 網站的記錄資料使用量等級:

進一步瞭解您的網站

Logs Viewer 介面 Google Cloud 控制台提供多項工具,方便您查看特定記錄檔和資料 查看這些資料如要進一步瞭解如何使用查詢篩選記錄,請參閱下一個章節。

  • 網站流量的詳細來源為何?
    您可以查看每項要求的相關資訊,包括來源 IP、參照網址、城市和狀態。

  • 使用者何時會造訪您的網站?
    您可以使用「直方圖」面板查看特定時間範圍的分布情形。這可讓您深入瞭解 藉此瞭解應用程式使用率的正常高點和低點,同時指出 並在流量中突然暴增

  • 使用者要求的狀態分布情形為何?
    您可以查看每項要求的狀態,甚至診斷收到錯誤要求。您可以依 CriticalErrorWarning 篩選記錄。

  • 網站回應要求需要多長時間?
    您可以使用每個記錄中擷取的 latency 值,查看網站對每個要求的延遲時間。

  • 網站是否使用內容快取功能?
    每筆記錄都包含 cacheHit 欄位,說明網站的資源是否為 會從 Hosting 的 CDN 快取中快速提供資料,或者要求完全擷取完整內容 就會前往 Hosting 後端這樣一來,您就能充分運用 Firebase 的全球 CDN,改善網站效能。舉例來說, 微調的快取習慣 靜態素材資源動態內容

  • 各個網域的流量分布情形為何?
    如果您有多個網域或 Hosting 網站,可以依網域或網站篩選記錄。可看出 發行。依網域篩選時 最常瀏覽的資料

使用查詢篩選記錄檔

如要瞭解如何使用查詢篩選記錄檔,請參閱「使用記錄檔檢視器的查詢範例」和「建構記錄查詢」。下表說明這些查詢可用的欄位。

針對 Hosting,以下是查詢的初始篩選器:

  • 資源 (resource.type) - firebase_domain (Firebase Hosting 個網站網域)
  • 記錄名稱 (logName) — webrequests (Firebase Hosting)

每個記錄項目都有預先定義的結構和可查詢的欄位 (請參閱 LogEntry)。對 Hosting 來說,部分欄位是 HTTP 要求的標準欄位,但 其他欄位值,產生自 Hosting 在每個欄位執行的處理程序 請求。

欄位 說明
Firebase Hosting 會將下列欄位儲存在記錄項目的 httpRequest 物件中。
這些欄位已在 HTTP 規格中定義。
cacheHit Hosting CDN 是否在快取內容中擁有回應資源
latency 要求時間長度,以秒為單位加上 s 後置字串 (適用於 例如:1.256s)
protocol 用於要求的通訊協定 (例如 HTTP/1.1HTTP/2websocket)
referer 前一個網頁的網址,其中包含目前要求的網頁連結 (如果有的話)
remoteIp 要求的來源用戶端 IP
requestMethod 要求方法 (GETPOSTPUT 等)
requestSize 要求大小 (以位元組為單位)
requestUrl 要求的完整網址 (例如
https://foo.web.app/barhttps://custom.domain.com?query=param)
responseSize HTTP 回應大小 (以位元組為單位)
serverIp 未填入
status HTTP 回應狀態 (例如:200404)
userAgent 要求的使用者代理程式標頭
Firebase Hosting 會在記錄項目的 jsonPayload 物件中儲存其他欄位。
acceptEncoding (來自 HTTP 要求) 用戶端支援哪種內容編碼 (通常是壓縮演算法),例如 gzipcompress
billable 是否為專案收取要求費用
customDomain 要求是否針對自訂網域提出
hostname 要求針對的網域名稱
remoteIpCountry 要求的來源國家/地區
remoteIpCity 要求的來源城市

使用記錄指標

您可以查看及建構 記錄指標、 然後使用 Cloud Monitoring 中的這些指標建立圖表和快訊 再檢查有關聯的允許政策

  • 善用 預先定義的系統指標 例如記錄事件數量 都沒有發生

  • 創作 使用者定義指標 。您可以計算符合特定指定條件的記錄項目數 查詢或追蹤特定值與相符的記錄項目。您可以使用規則運算式進行篩選。

  • 使用 Cloud Monitoring: 記錄含有特定訊息或擷取文字的記錄項目數量 記錄項目中回報的延遲資訊。接著,您就可以在圖表和快訊政策中使用這些指標。

Firebase Hosting 也會產生下列 Hosting 專屬記錄 指標。這些指標不限於記錄項目 一般特定 Hosting 網站

  • log_bytes:每個網站的資料總用量 (位元組)

  • response_count:為網站撰寫的回覆總數

    這項指標包含 HTTP 狀態的欄位,因此您可以繪製 HTTP 回應的圖形 按狀態篩選 (例如)。

將記錄匯出至其他 Google Cloud 工具

您也可以將網站記錄匯出至其他 Google Cloud 工具,例如 Cloud Monitoring 或 BigQuery,例如:

  • 使用 Cloud Monitoring, 您可以建立記錄指標,這些資訊可用於圖表與快訊 再檢查有關聯的允許政策

  • 您可以使用 BigQuery 執行下列任一操作:

    • 使用數據分析產生 Hosting 資料的資訊主頁。
    • 執行查詢,進一步瞭解要求 (平均回應大小、快取命中與未命中次數等)。
    • 瞭解使用者實際要求的網址。
    • 結合您的 Hosting 資料與您匯出到的其他 Firebase 資料 BigQuery 並以新的方式查詢。