Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Cloud Firestore 활동 모니터링

이 페이지에서는 Cloud Firestore 사용량을 모니터링하고 앱의 잠재적 문제를 파악하는 방법에 대해 설명합니다. 앱의 사용량을 살펴보면 청구 비용을 예상할 수 있습니다. 또한 데이터베이스 작업의 명확한 파악이 가능해 이상이 발견될 경우 문제 해결 도구로도 유용합니다.

사용량 대시보드

Google Cloud Platform Console 및 Firebase Console에는 시간 경과에 따른 문서 읽기, 쓰기, 삭제를 보여주는 Cloud Firestore 사용량 대시보드가 포함되어 있습니다.

GCP Console

Cloud Firestore 사용량 페이지(GCP Console)로 이동

GCP Console의 Cloud Firestore 사용량 대시보드

액세스 제어

사용량 대시보드에는 monitoring.timeSeries.list Cloud IAM 권한이 필요합니다. 프로젝트 소유자, 편집자, 뷰어 역할이 이 권한을 부여합니다. Cloud Monitoring 역할 또는 커스텀 역할을 통해 이 권한을 부여할 수도 있습니다.

Firebase Console

Cloud Firestore 사용량 페이지(Firebase Console)로 이동

Firebase Console의 Cloud Firestore 사용량 대시보드

사용량 대시보드 및 결제 보고서

Firebase 및 Cloud Console의 Cloud Firestore 사용량 대시보드는 예상 사용량을 제공하며 대시보드를 통해 사용량 급증을 파악할 수 있습니다. 하지만 대시보드에 표시된 청구 대상 작업이 정확하지 않을 수 있으며 청구 사용량이 더 높을 수 있습니다. 불일치가 발생하는 경우 언제나 결제 보고서가 사용량 대시보드보다 우선합니다.

사용량 대시보드와 청구 사용량 사이에 불일치를 일으킬 수 있는 작업은 다음과 같습니다.

  • 가져오기 및 내보내기 작업: 이러한 작업으로 수행되는 읽기 및 쓰기는 사용량 대시보드에 표시되지 않습니다.
  • 노옵스(no-ops) 쓰기: 필드 값을 변경하지 않는 업데이트 또는 삭제된 문서에 쓰기 등 데이터베이스가 변경되지 않는 작업은 청구 대상 작업에 속합니다. 하지만 사용량 대시보드에는 이러한 작업이 포함되지 않습니다.
  • 축소된 쓰기: 동일한 문서에 여러 번의 쓰기 작업이 연속으로 빠르게 발생하는 경우 사용량 대시보드는 여러 번의 쓰기를 한 번의 쓰기로 축소하여 계산할 수 있습니다. 청구 사용량에서 각각의 쓰기는 별도로 계산됩니다.

    또한 사용량 대시보드는 서버 타임스탬프, 숫자 증가, 배열 통합 작업과 같은 필드 변환에 대한 쓰기도 축소합니다. 사용량 대시보드는 필드 변환의 여러 작업을 단일 작업으로 계산할 수 있습니다.

  • 0개의 결과를 반환하는 쿼리: 결과가 0개인 쿼리에 대해서는 읽기 작업 1회에 대한 비용이 발생합니다. 이 사용량에는 요금이 청구되지만 사용량 대시보드에는 표시되지 않습니다.

보안 규칙 사용

또한 Firebase Console은 규칙 호출을 한 눈에 볼 수 있는 유용한 보안 규칙 평가 대시보드를 제공합니다. Cloud Monitoring의 자세한 분석으로 이 대시보드를 보완할 수 있습니다.

규칙 페이지로 이동

Firebase Console의 Cloud Firestore 규칙 모니터링 대시보드

일일 할당량

Firebase 프로젝트를 만들면 Google Cloud에도 프로젝트가 생성됩니다. GCP Console의 App Engine 할당량 페이지는 읽기, 쓰기, 색인 쓰기, 삭제, 저장된 데이터, 네트워크 이그레스와 같은 Cloud Firestore 사용량 정보를 매일 추적합니다.

할당량 페이지로 이동

App Engine 할당량 페이지의 Cloud Firestore 사용량

Cloud Monitoring

Cloud Monitoring은 Google Cloud 제품에서 측정항목, 이벤트, 메타데이터를 수집합니다. Cloud Firestore Console의 사용량 대시보드는 동일한 측정항목 데이터를 보고합니다. 커스텀 대시보드와 사용량 알림을 설정하려면 Cloud Monitoring을 사용합니다.

Cloud Monitoring에는 다음과 같은 Cloud Firestore 측정항목이 포함됩니다.

측정항목 이름 설명
문서 읽기

성공적인 문서 읽기 횟수입니다. 읽기 유형(LOOKUP 또는 QUERY)에 따라 이 측정항목을 분류할 수 있습니다.

이 측정항목에는 내보내기 관리 작업의 읽기가 포함되지 않습니다.

문서 쓰기

성공적인 문서 쓰기 횟수입니다. 쓰기 유형(CREATE 또는 UPDATE)에 따라 측정항목을 분류할 수 있습니다.

이 측정항목에는 가져오기 관리 작업의 쓰기가 포함되지 않습니다.

문서 삭제 성공적인 문서 삭제 횟수입니다.
활성 연결

데이터베이스에 대한 활성 연결 수입니다.

각 활성 모바일 및 웹 SDK는 여러 스냅샷 리스너 간에 공유할 수 있는 단일 연결을 유지합니다. 서버 클라이언트 라이브러리는 스냅샷 리스너당 하나의 연결을 만듭니다.

스냅샷 리스너

모든 활성 연결의 스냅샷 리스너 수입니다.

규칙 평가

쓰기 또는 읽기 요청에 대한 응답으로 수행된 Cloud Firestore 규칙의 평가 수입니다. 요청의 결과(ALLOW, DENY 또는 ERROR)를 기준으로 이 측정항목을 분류할 수 있습니다.

실시간 업데이트 사용량

활성 연결 및 스냅샷 리스너 측정항목은 실시간 업데이트 사용량을 측정합니다.

사용자가 휴대전화에서 앱을 연다고 가정해 보겠습니다. 그러면 앱이 Cloud Firestore에 연결되고 10개의 쿼리를 구독합니다. 이 경우 측정항목은 1개의 활성 연결과 10개의 스냅샷 리스너 기준으로 증가합니다.

샘플링 레이트

Cloud Firestore 측정항목은 매분 샘플링되지만 업데이트 내용이 대시보드에 표시되려면 최대 4분이 걸릴 수 있습니다.

이러한 측정항목을 사용하여 다음과 같은 Cloud Firestore 대시보드를 설정할 수 있습니다.

Cloud Monitoring 대시보드의 Cloud Firestore 사용량

Cloud Monitoring으로 Cloud Firestore 모니터링을 시작하려면 아래 단계를 완료하세요.

Cloud Monitoring 작업공간 만들기

Cloud Monitoring으로 Cloud Firestore를 모니터링하려면 프로젝트의 작업공간을 설정해야 합니다. 작업공간은 하나 이상의 프로젝트로 모니터링 정보를 구성합니다. 작업공간을 설정한 후 커스텀 대시보드 및 알림 정책을 만들 수 있습니다.

  1. Cloud Monitoring 페이지 열기

    프로젝트가 이미 작업공간의 일부인 경우 Cloud Monitoring 페이지가 열립니다. 그렇지 않으면 프로젝트의 작업 공간을 선택합니다.

  2. 새 작업공간 옵션을 선택하거나 기존 작업공간을 선택합니다.

  3. 추가를 클릭합니다. 작업공간이 빌드되면 Cloud Monitoring 페이지가 열립니다.

대시보드 만들기 및 차트 추가

Cloud Monitoring에서 수집한 Cloud Firestore 측정항목을 자체 차트 및 대시보드에 표시합니다.

계속하기 전에 프로젝트가 Cloud Monitoring 작업공간의 일부인지 확인하세요.

  1. Cloud Monitoring 페이지에서 작업공간을 열고 대시 보드 페이지로 이동합니다.

    대시보드 페이지로 이동

  2. 대시보드 만들기를 클릭하고 대시보드 이름을 입력합니다.

  3. 오른쪽 상단에서 차트 추가를 클릭합니다.

  4. 차트 추가 창에 차트 제목을 입력합니다. 측정항목 탭을 클릭합니다.

  5. 리소스 유형 및 측정항목 찾기 필드에 Cloud Firestore를 입력합니다. 자동으로 입력된 드롭다운에서 Cloud Firestore 측정항목 중 하나를 선택합니다.

  6. 동일한 차트에 측정항목을 더 추가하려면 측정항목 추가를 클릭하고 이전 단계를 반복합니다.

  7. 필요에 따라 차트를 맞춤 설정합니다. 예를 들어 필터 필드에서 + 필터 추가를 클릭합니다. 아래로 스크롤한 후 차트에서 필터링할 측정항목 값 또는 범위를 선택합니다.

  8. 저장을 클릭합니다.

Cloud Monitoring 차트에 대한 자세한 내용은 차트 다루기를 참조하세요.

알림 정책 만들기

Cloud Firestore 측정항목을 기반으로 알림 정책을 만들 수 있습니다. 아래 단계를 수행하면 특정 Cloud Firestore 측정항목이 특정 임곗값에 도달할 때마다 이메일을 보내는 알림 정책을 만들 수 있습니다.

계속하기 전에 프로젝트가 Cloud Monitoring 작업공간의 일부인지 확인하세요.

  1. Cloud Monitoring 페이지에서 작업공간을 열고 알림 페이지로 이동합니다.

    새 알림 정책 만들기 페이지로 이동

  2. 정책 만들기를 클릭합니다.

  3. 알림 정책의 이름을 입력합니다.

  4. Cloud Firestore 측정항목 중 하나를 기반으로 알림 조건을 추가합니다. 조건 추가를 클릭합니다.

  5. 타겟을 선택합니다. 리소스 유형 및 측정항목 찾기 필드에 Cloud Firestore를 입력합니다. 자동으로 입력된 드롭다운에서 Cloud Firestore 측정항목 중 하나를 선택합니다.

  6. 정책 트리거 아래의 드롭다운 필드를 사용하여 알림 조건을 정의합니다.

  7. 알림 정책에 알림 채널을 추가합니다. 알림에서 알림 채널 추가를 클릭합니다. 드롭다운 메뉴에서 이메일을 선택합니다.

  8. 이메일 주소 필드에 이메일을 입력합니다. 추가를 클릭합니다.

  9. 필요한 경우 문서 필드를 작성하여 이메일 알림에 추가 정보를 포함합니다.

  10. 저장을 클릭합니다.

Cloud Firestore 사용량이 구성된 임곗값을 초과하면 이메일 알림이 수신됩니다. Cloud Firestore 알림 이메일의 예시

알림 정책에 관한 자세한 내용은 알림 소개를 참조하세요.

다음 단계