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

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

以下列舉幾項記錄檔的用途。Cloud Logging如要瞭解詳情,請前往這個頁面的各個部分。

  • 更瞭解網站:瞭解網站的造訪時間和地點、網站的回應狀態、使用者要求的延遲時間等。

  • 使用查詢篩選記錄:運用自動收集的資料,篩選及繪製與每項要求或網站相關的資料。

  • 使用記錄指標:根據預先定義的系統指標或使用者定義的指標,建立 Cloud Monitoring 圖表和警告政策。

  • 將記錄檔匯出至其他 Google Cloud 工具: 在其他工具 (例如 BigQuery 和 Data Studio) 中使用記錄檔資料,進行更強大的分析和關聯。

如果專案中有多個 Hosting 網站,您可以選取要匯出記錄的 Hosting 網站。然後,您就可以依Hosting網站,甚至是網域,篩選及查看記錄資料。選取要匯出記錄的特定Hosting 網站,即可控管專案處理的資料量。

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

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

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

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

連結至 Cloud Logging 後,您Hosting網站的新要求記錄通常會在要求提出後 30 分鐘內顯示。

您也可以取消連結 Firebase Hosting 和 Cloud Logging,停止將網頁要求記錄匯出至 Cloud Logging。

監控記錄檔的資料用量

連結至 Cloud Logging 後,您可以在 Hosting 網站查看記錄檔的數據用量等級:

進一步瞭解您的網站

Google Cloud 控制台的Logs Viewer介面提供多種工具,可讓您使用查詢、內建篩選器和資料面板,查看特定記錄和資料。如要進一步瞭解如何使用查詢篩選記錄,請參閱下一個章節。

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

  • 使用者會在哪些時段造訪您的網站?
    您可以使用直方圖面板, 查看特定時間範圍內的分布情形。這有助於您瞭解應用程式使用情況的正常高峰和低谷,以及找出任何非預期的流量暴增情況。

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

  • 網站回應要求需要多久時間?
    您可以查看每個記錄中擷取的值,瞭解網站每項要求的延遲時間。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.1、HTTP/2、websocket)
referer 先前網頁的地址,使用者是從該網頁點選連結前往目前要求的網頁 (如有)
remoteIp 要求的原始用戶端 IP 位址
requestMethod 要求方法 (GET、POST、PUT 等)
requestSize 要求大小 (以位元組為單位)
requestUrl 要求的完整網址 (例如
https://foo.web.app/bar 或 https://custom.domain.com?query=param)
responseSize HTTP 回應大小 (以位元組為單位)
serverIp 不會填入
status HTTP 回應狀態 (例如 200 或 404)
userAgent 要求的使用者代理程式標頭
Firebase Hosting 會在記錄項目的 jsonPayload 物件中儲存其他欄位。
acceptEncoding (來自 HTTP 要求) 用戶端支援的內容編碼,通常是壓縮演算法 (例如 gzip 或 compress)
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,您可以執行下列任一操作:

    • 使用 Data Studio 生成 Hosting 資料的資訊主頁。
    • 執行查詢,進一步瞭解要求 (平均回應大小、快取命中與未命中等)。
    • 瞭解使用者實際要求的網址。
    • 將 Hosting 資料與匯出至 BigQuery 的其他 Firebase 資料合併,並以新方式查詢。