Cloud Monitoring 대시보드 사용

이 페이지에서는 Cloud Monitoring 대시보드를 사용하여 사용 가능한 측정항목을 보고, 커스텀 대시보드를 만들고, 알림을 설정하는 방법을 설명합니다.

Firestore 측정항목 보기

다양한 Firestore 측정항목을 보고 차트를 만들려면 Google Cloud 콘솔에서 Cloud Monitoring 내의 측정항목 탐색기를 사용하세요. 차트 만들기에 대한 자세한 내용은 측정항목 탐색기로 차트 만들기를 참조하세요.

Cloud Monitoring 대시보드 설정

Cloud Monitoring에서 커스텀 대시보드를 사용하면 관련 있는 정보를 체계적인 방식으로 표시할 수 있습니다. 예를 들어 프로덕션 환경에서 프로젝트의 성능 측정항목 및 알림 정책을 표시하는 대시보드를 만들 수 있습니다.

커스텀 대시보드 설정에 대한 자세한 내용은 커스텀 대시보드 관리대시보드 위젯 추가를 참조하세요.

오류율 모니터링

모니터링 대시보드를 만들어 오류율을 모니터링하고 데이터베이스의 가용성을 보장할 수 있습니다. 가용성은 예상 기간 이내에 성공한 상태 코드로 데이터베이스가 응답하는 속도를 나타냅니다. Firestore SLA는 유효한 요청으로 분류되는 항목의 구체적인 세부정보를 정의합니다.

오류율은 오류 응답이 발생한 요청 수를 전송된 총 요청 수로 나눈 값입니다.

모든 유효한 요청의 api/request_count와 대조되는 4xx 또는 5xx 오류 코드를 사용하여 유효한 요청의 api/request_count에 대한 A/B 비율을 계산하면 오류율을 계산하는 예시 대시보드를 만들 수 있습니다.

 오류율로 가용성 파악
그림 1. 오류율로 가용성을 이해합니다.

그림 1에서는 측정항목 탐색기에서 api/request_count 측정항목을 사용하여 오류율 비율을 시각화하는 방법을 확인할 수 있습니다.

알림 정책 만들기

Cloud Monitoring을 사용하면 알림을 만들어서 측정항목 조건이 변경될 때 알림을 받을 수 있습니다. 이러한 알림을 통해 사용자에게 영향을 미치기 전에 잠재적인 문제를 미리 알릴 수 있습니다.

알림 만들기에 대한 자세한 내용은 측정항목 임곗값 알림 정책 만들기를 참조하세요.

지연 시간 알림 정책을 만드는 다음 예시를 살펴보세요. 알림 정책은 순환 기간 5분 동안 p99 지연 시간을 확인합니다. p99 지연 시간이 5분 동안 250ms를 초과하면 알림이 트리거됩니다.

콘솔

  1. Google Cloud 콘솔에서모니터링 페이지로 이동하여  알림을 선택합니다.

    Monitoring으로 이동

  2. 정책 만들기를 선택합니다.

  3. 사용된 API 리소스에서 요청 지연 시간 측정항목을 선택합니다.

  4. Firestore 네이티브 데이터베이스의 firestore.googleapis.com에 대한 서비스 필터를 추가합니다.

    트리거를 만들려면 api/request_latencies 측정항목을 선택합니다.
  5. 다음을 클릭하여 트리거를 구성합니다.

  6. 조건 유형임곗값으로 선택합니다.

    임곗값 조건이 임곗값 250ms로 설정됩니다. p99 지연 시간 값이 순환 기간(5분) 동안 동일하게 유지되면 알림이 트리거됩니다.

    측정항목의 기준을 추가합니다.
  7. 임곗값250으로 설정합니다.

  8. 다음을 클릭하여 알림을 구성합니다.

  9. 알림 정책 이름을 설정하고 다음을 클릭합니다.

  10. 알림 구성을 검토한 후 정책 만들기를 클릭합니다.

MQL

Monitoring Query Language(MQL) 쿼리를 사용하여 동일한 지연 시간 알림 정책을 구현할 수 있습니다. MQL 사용에 대한 예시는 샘플 MQL 쿼리를 참조하세요.

      fetch consumed_api
      | metric 'serviceruntime.googleapis.com/api/request_latencies'
      | filter (resource.service == 'firestore.googleapis.com')
      | group_by 5m,
          [value_request_latencies_percentile:
            percentile(value.request_latencies, 99)]
      | every 5m
      | condition val() > 0.25 's'