Cloud Monitoring 대시보드 사용

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

Datastore 모드의 Firestore 측정항목 보기

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

Cloud Monitoring 대시보드 설정

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

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

오류율 모니터링

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

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

4xx 또는 5xx 오류 코드가 발생한 유효 api/request_count 요청 수를 전체 유효 api/request_count 요청 수로 나눠서 오류율 계산을 위한 예시 대시보드를 만들 수 있습니다.

 오류율로 가용성 파악
그림 1. 오류율로 가용성 파악.

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

알림 정책 만들기

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

알림 만들기에 대한 자세한 내용은 측정항목 기준점 알림 정책 만들기을 참조하세요.

다음 예시에서는 지연 시간 알림 정책을 만듭니다. 알림 정책은 순환 기간 5분 동안 p99 지연 시간을 확인합니다. p99 지연 시간이 5분동안 250밀리초보다 높게 유지되면 알림이 트리거됩니다.

콘솔

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

    Monitoring으로 이동

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

  3. Consumed API 리소스에서 요청 지연 시간을 선택합니다.

  4. datastore.googleapis.com의 서비스 필터를 추가합니다. api/request_latencies 측정항목이 연속 5분 이상 모니터링되었습니다.

    api/request_latencies 측정항목을 선택하여 트리거를 만듭니다.
    그림 2. api/request_latencies 측정항목을 선택하여 트리거를 만듭니다.
  5. 다음을 클릭하여 트리거를 구성합니다.

  6. 조건 유형기준점으로 선택합니다.

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

    측정항목의 기준점을 추가합니다.
    그림 3. 측정항목의 기준점을 추가합니다.
  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'