您可以將 Firebase 專案連結至 Cloud Logging,查看、搜尋及篩選每個 Hosting 網站的網頁要求記錄。這些記錄來自 Firebase 自動提供的 CDN,因此系統會記錄對您網站的每項要求,以及相關要求資料。
以下列舉 Cloud Logging 記錄的幾項用途。如要瞭解詳情,請前往這個頁面的各個部分。
更瞭解網站:瞭解網站的造訪時間和地點、網站的回應狀態、使用者要求的延遲時間等。
使用查詢篩選記錄:運用自動收集的資料,篩選及繪製與每項要求或網站相關聯的資料。
使用記錄指標:根據預先定義的系統指標或使用者定義的指標,建立 Cloud Monitoring 圖表和快訊政策。
將記錄檔匯出至其他Google Cloud工具: 在其他工具 (例如 BigQuery 和 Data Studio) 中使用記錄檔資料,進行更強大的分析和關聯性研究。
如果專案中有多個Hosting網站,您可以選取要匯出記錄的Hosting網站。然後,您可以依Hosting網站,甚至是網域,篩選及查看記錄資料。選取要匯出記錄的特定Hosting 網站,即可控管專案處理的資料量。
連結至 Cloud Logging 並監控資料用量
連結至 Cloud Logging 並匯出網路要求記錄
在 Firebase 控制台的Cloud Logging整合資訊卡中,按一下「連結」。
如要連結或取消連結「Cloud Logging」,您需要下列任一角色所含的權限:專案擁有者或編輯者,或是 Firebase 開發管理員。
按照畫面上的指示,選取要將記錄檔匯出至 Cloud Logging 的Hosting網站。
如果您已有一或多個有效的 Hosting 網站,連結工作流程會顯示每個 Hosting 網站的記錄資料用量預估值。這個值是根據過去 30 天的資料估算而得。
連結至 Cloud Logging 後,對您Hosting網站的新要求記錄通常會在要求提出後 30 分鐘內顯示。
您也可以取消連結 Firebase Hosting Cloud Logging,停止將網頁要求記錄匯出至 Cloud Logging。
監控記錄檔的資料用量
連結至 Cloud Logging 後,您就能查看 Hosting 網站的記錄檔資料用量等級:
在 Firebase 控制台的Cloud Logging 整合資訊卡中
在 Google Cloud 控制台的Logs Viewer介面 (
log_bytes
指標)
進一步瞭解您的網站
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 |
要求的 User-Agent 標頭 |
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,您可以執行下列任一操作:
- 使用數據分析產生 Hosting 資料的資訊主頁。
- 執行查詢,進一步瞭解要求 (平均回應大小、快取命中與未命中等)。
- 瞭解使用者實際要求的網址。
- 將 Hosting 資料與匯出至 BigQuery 的其他 Firebase 資料合併,並以新方式查詢。