Firebase 프로젝트를 Cloud Logging에 연결하여 각 호스팅 사이트의 웹 요청 로그를 보고, 검색하고, 필터링할 수 있습니다. 이러한 로그는 Firebase에서 자동으로 제공하는 CDN에서 가져오므로 사이트에 대한 모든 요청 및 관련 요청 데이터가 기록됩니다.
다음은 Cloud Logging 로그로 수행할 수 있는 몇 가지 작업입니다. 자세한 내용을 알아보려면 이 페이지의 각 섹션을 방문하십시오.
사이트에 대한 더 나은 이해 — 사이트 를 방문한 위치와 시간, 사이트의 응답 상태, 최종 사용자 요청의 지연 시간 등을 통해 알아보세요.
쿼리로 로그 필터링 — 자동으로 수집된 데이터를 활용하여 각 요청 또는 사이트와 관련된 데이터를 필터링하고 표시합니다.
로그 기반 측정항목 사용 — 사전 정의된 시스템 측정항목 또는 사용자 정의 측정항목에서 Cloud Monitoring 차트 및 알림 정책을 생성합니다.
다른 Google Cloud 도구로 로그 내보내기 — 더 강력한 분석 및 상관 관계 분석을 위해 다른 도구(예: BigQuery 및 Data Studio)의 로그 데이터를 사용합니다.
프로젝트에 여러 호스팅 사이트가 있는 경우 로그를 내보낼 호스팅 사이트를 선택할 수 있습니다. 그런 다음 호스팅 사이트 및 도메인별로 로그 데이터를 필터링하고 볼 수 있습니다. 로그를 내보낼 특정 호스팅 사이트를 선택하여 프로젝트에 대해 처리되는 데이터의 양을 제어할 수도 있습니다.
Cloud Logging은 월별(프로젝트당) 최대 50GB의 데이터 사용량에 대해 무료입니다. 이 사용량은 Cloud Logging을 사용하는 모든 Google 또는 Firebase 제품에서 사용할 수 있습니다. 프로젝트를 Blaze 요금제로 업그레이드하여 추가 유료 사용량을 확보할 수 있습니다. Cloud Logging의 가격 책정에 대해 자세히 알아보세요.
Cloud Logging 및 결제를 모니터링하고 관리할 수 있습니다.
Google Cloud 가격 계산기 를 사용하여 Cloud Logging 청구액을 추정합니다.
제외를 만들어 로그를 제한합니다.
비용 관리에 도움이 되도록 경고 를 설정합니다.
특정 요청에 대한 로그 항목이 지연되거나 드문 경우지만 삭제될 수 있습니다. 로그는 요청을 이해하는 데 사용할 수 있지만 프로젝트 사용량 및 청구서에 나타나는 실제 사용량을 반영하지 않을 수 있습니다.
Cloud Logging에 연결하고 데이터 사용량 모니터링
Cloud Logging에 연결하고 웹 요청 로그 내보내기
Firebase 콘솔의 Cloud Logging 통합 카드 에서 링크 를 클릭합니다.
Cloud Logging을 연결하거나 연결 해제하려면 프로젝트 소유자 또는 편집자 또는 Firebase 개발 관리자 역할에 번들된 권한이 필요합니다.
화면의 안내에 따라 Cloud Logging으로 로그를 내보내야 하는 호스팅 사이트를 선택하세요.
이미 하나 이상의 활성 호스팅 사이트가 있는 경우 연결 워크플로는 각 호스팅 사이트의 로그에 대한 예상 데이터 사용량 수준을 표시합니다. 이 값은 지난 30일 동안의 추정치입니다.
Cloud Logging에 연결한 후 호스팅 사이트에 대한 새로운 요청에 대한 로그는 일반적으로 요청이 이루어진 후 30분 이내에 표시됩니다.
Cloud Logging에서 Firebase 호스팅을 연결 해제 하면 웹 요청 로그를 Cloud Logging으로 내보내는 작업이 중지됩니다.
로그에 대한 데이터 사용량 모니터링
Cloud Logging에 연결한 후 호스팅 사이트에서 로그의 데이터 사용량 수준을 볼 수 있습니다.
Firebase 콘솔의 Cloud Logging 통합 카드 에서
Google Cloud Console의 로그 뷰어 인터페이스 (
log_bytes
측정항목)
Cloud Logging은 월별(프로젝트당) 최대 50GB의 데이터 사용량에 대해 무료입니다. 이 사용량은 Cloud Logging을 사용하는 모든 Google 또는 Firebase 제품에서 사용할 수 있습니다. 프로젝트를 Blaze 요금제로 업그레이드하여 추가 유료 사용량을 확보할 수 있습니다. Cloud Logging의 가격 책정에 대해 자세히 알아보세요.
Cloud Logging 및 결제를 모니터링하고 관리할 수 있습니다.
Google Cloud 가격 계산기 를 사용하여 Cloud Logging 청구액을 추정합니다.
제외를 만들어 로그를 제한합니다.
비용 관리에 도움이 되도록 경고 를 설정합니다.
특정 요청에 대한 로그 항목이 지연되거나 드문 경우지만 삭제될 수 있습니다. 로그는 요청을 이해하는 데 사용할 수 있지만 프로젝트 사용량 및 청구서에 나타나는 실제 사용량을 반영하지 않을 수 있습니다.
귀하의 사이트를 더 잘 이해하십시오
Google Cloud Console의 로그 뷰어 인터페이스 는 쿼리와 기본 제공 필터 및 데이터 패널을 사용하여 특정 로그와 데이터를 볼 수 있는 도구를 제공합니다. 아래의 다음 섹션에서 쿼리로 로그를 필터링하는 방법에 대해 자세히 알아보세요.
세분화된 수준에서 사이트의 트래픽이 유입되는 위치는 어디입니까?
소스 IP, 참조자, 도시 및 상태를 포함하여 각 요청에 대한 정보를 볼 수 있습니다.사용자는 언제 귀하의 사이트를 방문합니까?
히스토그램 패널 을 사용하여 특정 시간 범위에 따른 분포를 볼 수 있습니다. 이를 통해 앱 사용량의 일반적인 최고점과 최저점에 대한 통찰력을 얻을 수 있을 뿐만 아니라 트래픽의 예상치 못한 급증을 드러낼 수 있습니다.최종 사용자 요청에 대한 상태 분포는 무엇입니까?
각 요청의 상태를 보고 오류를 수신한 요청을 진단할 수도 있습니다.Critical
,Error
또는Warning
을 기준으로 로그를 필터링할 수 있습니다.귀하의 사이트는 요청에 응답하는 데 얼마나 걸립니까?
각 로그에 캡처된latency
값을 사용하여 각 요청에 대한 사이트의 대기 시간을 볼 수 있습니다.귀하의 사이트는 콘텐츠 캐싱을 활용하고 있습니까?
각 로그에는 사이트의 리소스가 Hosting의 CDN 캐시에서 빠르게 제공되었는지 또는 Hosting 백엔드로 전체 이동해야 하는지 알려주는cacheHit
필드가 포함되어 있습니다. 이렇게 하면 Firebase의 글로벌 CDN을 최대한 활용하여 웹사이트의 성능을 개선할 수 있습니다. 예를 들어 데이터를 사용하여 정적 자산 및 동적 콘텐츠 의 캐싱 습관을 미세 조정할 수 있습니다.다양한 도메인에 대한 트래픽 분포는 무엇입니까?
여러 도메인 또는 호스팅 사이트가 있는 경우 도메인 또는 사이트별로 로그를 필터링할 수 있습니다. 이를 통해 트래픽이 어떻게 분산되는지 확인할 수 있습니다. 도메인별로 필터링하면 가장 자주 방문하는 도메인을 추적할 수 있습니다.
쿼리로 로그 필터링
쿼리로 로그를 필터링하는 방법에 대해 알아보려면 로그 뷰어를 사용한 샘플 쿼리 및 로그 쿼리 작성을 방문하세요. 아래 표에서는 이러한 쿼리에 사용할 수 있는 필드를 설명합니다.
호스팅의 경우 다음은 쿼리에 대한 몇 가지 초기 필터입니다.
- 리소스 (
resource.type
) —firebase_domain
(Firebase 호스팅 사이트 도메인) - 로그 이름 (
logName
) —webrequests
(Firebase 호스팅)
각 로그 항목에는 사전 정의된 구조와 쿼리 가능한 필드가 있습니다( LogEntry 참조). 호스팅의 경우 일부 필드는 HTTP 요청의 표준이지만 호스팅이 각 요청에서 실행하는 처리에서 오는 다른 필드 값이 있습니다.
필드 | 설명 |
---|---|
Firebase 호스팅은 로그 항목의 httpRequest 객체에 다음 필드를 저장합니다.이러한 필드는 HTTP 사양에 정의되어 있습니다. | |
cacheHit | 호스팅 CDN이 캐시에 응답 리소스를 가지고 있는지 여부 |
latency | s 접미사가 있는 요청 기간(초)(예: 1.256s ) |
protocol | 요청에 사용되는 프로토콜(예: HTTP/1.1 , HTTP/2 , websocket ) |
referer | 현재 요청된 페이지에 대한 링크가 있는 이전 웹 페이지의 주소(있는 경우) |
remoteIp | 요청에 대한 발신 클라이언트 IP |
requestMethod | 요청 방법( GET , POST , PUT 등) |
requestSize | 요청 크기(바이트) |
requestUrl | 요청의 전체 URL(예:https://foo.web.app/bar 또는 https://custom.domain.com?query=param ) |
responseSize | HTTP 응답 크기(바이트) |
serverIp | 채워지지 않은 |
status | HTTP 응답 상태(예: 200 또는 404 ) |
userAgent | 요청의 user-Agent 헤더 |
Firebase 호스팅은 로그 항목의 jsonPayload 객체에 추가 필드를 저장합니다. | |
acceptEncoding | (HTTP 요청에서) 클라이언트가 지원하는 콘텐츠 인코딩(일반적으로 압축 알고리즘)(예: gzip 또는 compress ) |
billable | 프로젝트가 요청에 대해 청구되었는지 여부 |
customDomain | 사용자 지정 도메인에 대한 요청 여부 |
hostname | 요청이 이루어진 호스트 이름 |
remoteIpCountry | 요청의 발신국 |
remoteIpCity | 요청이 시작된 도시 |
로그 기반 측정항목 사용
로그 기반 측정항목 을 보고 구축한 다음 Cloud Monitoring에서 이러한 측정항목을 사용하여 차트 및 알림 정책을 만들 수 있습니다.
특정 기간 내에 발생한 로깅 이벤트 수와 같이 자동으로 기록되는 사전 정의된 시스템 메트릭 을 활용합니다.
프로젝트에 대한 사용자 정의 메트릭 을 만듭니다. 주어진 쿼리와 일치하는 로그 항목의 수를 계산하거나 일치하는 로그 항목으로 특정 값을 추적할 수 있습니다. 정규식을 사용하여 필터링할 수 있습니다.
Cloud Monitoring 을 사용하여 특정 메시지가 포함된 로그 항목 수를 기록하거나 로그 항목에 보고된 지연 시간 정보를 추출하세요. 그런 다음 차트 및 알림 정책에서 이러한 측정항목을 사용할 수 있습니다.
Firebase 호스팅은 다음과 같은 호스팅 관련 로깅 측정항목도 생성합니다. 이러한 측정항목은 로그 항목에 국한되지 않고 특정 호스팅 사이트 전체에 적용됩니다.
log_bytes
: 각 사이트의 총 데이터 사용량 바이트response_count
: 사이트에 대해 작성된 총 응답 수이 메트릭에는 HTTP 상태 필드가 포함되어 있으므로 상태별로 HTTP 응답을 표시할 수 있습니다(예:).
다른 Google Cloud 도구로 로그 내보내기
사이트의 로그를 Cloud Monitoring 또는 BigQuery와 같은 다른 Google Cloud 도구로 내보낼 수도 있습니다. 예를 들면 다음과 같습니다.
Cloud Monitoring 을 사용하여 차트 및 알림 정책에서 사용할 수 있는 로그 기반 측정항목을 만들 수 있습니다.
BigQuery 를 사용하여 다음 중 하나를 수행할 수 있습니다.
- Data Studio를 사용하여 호스팅 데이터의 대시보드를 생성합니다.
- 쿼리를 실행하여 요청(평균 응답 크기, 캐시 적중 대 실패 등)에 대한 더 많은 정보를 얻으십시오.
- 사용자가 실제로 요청하는 URL을 알아보세요.
- 호스팅 데이터를 BigQuery로 내보낸 다른 Firebase 데이터와 결합하고 새로운 방식으로 쿼리하세요.