Error Reporting 개요

Error Reporting은 실행 중인 클라우드 서비스에서 발생한 오류를 집계합니다. 이러한 오류는 Error Reporting API에서 보고되거나 Error Reporting이 로그 항목에서 스택 추적과 같은 일반적인 텍스트 패턴을 검사할 때 오류로 유추됩니다. Error Reporting은 근본 원인이 동일한 것으로 간주되는 오류를 그룹화합니다.

Error Reporting은 자동으로 사용 설정됩니다.

Error Reporting은 시간당 최대 1,000개의 오류를 샘플링합니다. 이 한도에 도달하면 표시 개수가 추정됩니다. 너무 많은 이벤트가 수신되면 Error Reporting은 시간당 최대 100개의 오류를 샘플링하고 횟수를 계속 추정합니다.

Error Reporting이 로그 항목을 분석하는 경우

Error Reporting은 Cloud Logging을 기반으로 빌드된 글로벌 서비스이며, 다음 모든 조건에 해당하는 경우 로그 항목을 분석할 수 있습니다.

  • Assured Workloads가 사용 중지되었습니다. 자세한 내용은 Assured Workloads 개요를 참조하세요.
  • 로그 항목을 저장하는 모든 로그 버킷에서 고객 관리 암호화 키(CMEK)가 사용 중지되었습니다. 로그 버킷의 CMEK 구성을 확인하는 방법은 키 사용 설정 확인을 참조하세요.
  • 로그 버킷이 다음 중 하나를 충족합니다.
    • 로그 항목이 시작된 동일한 프로젝트에 로그 버킷이 저장되어 있습니다.
    • 로그 항목이 프로젝트로 라우팅된 후 프로젝트가 해당 로그 항목을 소유 로그 버킷에 저장했습니다.
CMEK가 사용 설정된 로그 버킷에 로그 항목을 저장하는 경우에도 Error Reporting을 사용할 수 있습니다. 하지만 Error Reporting 클라이언트 라이브러리나 Error Reporting API를 사용해야 합니다. 자세한 내용은 Error Reporting API 개요Error Reporting 클라이언트 라이브러리를 참조하세요.

오류 그룹화 방식

Error Reporting은 로그 항목을 평가할 때 다음 조건에 해당하는 로그 항목을 무시합니다.

  • App Engine 표준 환경에서 ERROR 보다 낮은 심각도로 로깅된 오류는 무시됩니다.
  • 사용자가 소유하지 않은 스택 프레임은 무시됩니다(예: 공개 라이브러리에 속한 프레임).
  • 하나 이상의 스택 프레임의 반복 시퀀스는 해당 시퀀스의 단일 어커런스로 대체됩니다.
  • 컴파일러에서 도입된 메소드와 기호는 삭제됩니다.

그런 다음 Error Reporting이 다음 규칙에 따라 오류를 그룹화합니다.

  • 예외가 동일한 예외 유형 및 유사한 스택을 갖는 경우 함께 그룹화됩니다.
  • 일반적으로 발생하는 소스 위치와 관련이 없는 예외에 대해서는 스택 추적이 무시됩니다.
  • 예외 스택이 없는 오류는 보고된 소스 위치(reportLocation)를 계산하여 동일한 로그 항목으로 작성된 경우 함께 그룹화됩니다.

특히 다음과 같은 그룹화 규칙이 다음 순서대로 적용됩니다.

오류 유형 그룹 기준
환경의 일반적인 문제점으로 발생한 오류.

예를 들어 App Engine 관련 문제는 다음과 같습니다.

com.google.apphosting.runtime.HardDeadlineExceededError
com.google.appengine.api.datastore.DatastoreTimeoutException

자바 문제:

java.util.concurrent.CancellationException
예외 유형별로 그룹화됩니다.
스택 추적 오류. 중첩된 예외의 경우 가장 안쪽의 예외가 고려됩니다.

예:

runtime error: index out of range
package1.func1()
      file1:20
package2.func2()
      file2:33
예외 유형 및 최상위 프레임 5개로 그룹화됩니다.
스택 트레이스는 없지만 메시지가 있는 오류.

예를 들면 다음과 같습니다.

runtime error: index out of range
    func1()
메시지(있는 경우) 및 함수 이름별로 그룹화됩니다. 메시지의 처음 3자 리터럴 토큰만 고려됩니다. 왼쪽의 예시에서는 runtime, error, index입니다.

데이터 리전성

데이터 상주 또는 영향 수준 4(IL4) 요구사항을 위해 Assured Workloads를 설정하면 Google Cloud에서 Error Reporting을 자동으로 사용 중지합니다.

Cloud Logging에서 로그를 특정 위치로 라우팅하여 로그를 리전화할 수 있습니다. 오류 그룹 페이지에서 Error Reporting은 로그 항목이 포함된 로그 버킷의 리전을 기준으로 오류 그룹을 정리하고 표시합니다. Error Reporting은 전역 서비스이므로 모든 리전에서 오류 그룹에 액세스할 수 있습니다. 이 동작을 구성할 수 없습니다.

다음 단계