Error Reporting 개요

Error Reporting은 애플리케이션 오류 이벤트를 근본 원인별로 집계하고 그룹화하여 클라우드 서비스 전반에서 문제를 식별, 우선순위 지정, 분류하는 데 도움을 줍니다. 오류 이벤트 는 애플리케이션 오류가 한 번 발생한 것을 나타내며 타임스탬프, 실행 컨텍스트, 오류 메시지를 캡처합니다.

Error Reporting은 자동으로 사용 설정되며 수동 설정 없이 오류 감지를 시작합니다. Error Reporting API에서 직접 오류 이벤트를 수집하거나 스택 트레이스 및 일반적인 오류 패턴에 대한 로그 항목을 검사하여 오류 이벤트를 유추합니다.

성능을 최적화하기 위해 Error Reporting은 시간당 최대 1,000개의 오류를 샘플링하고 이 한도에 도달하면 개수를 추정합니다. 이벤트 볼륨이 용량을 초과하면 Error Reporting은 시간당 최대 100개의 오류를 샘플링하고 표시된 개수를 계속 추정합니다.

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

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

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

오류 이벤트 그룹화 방식

Error Reporting은 오류 이벤트를 식별하기 위해 로그 항목을 평가할 때 다음 데이터를 무시합니다.

  • 심각도 수준이 ERROR보다 낮은 App Engine 표준 환경에서 작성된 로그 항목
  • 사용자가 소유하지 않은 스택 프레임(예: 공개 라이브러리에 속한 프레임)

로그 항목이 검사되면 Error Reporting은 오류 이벤트를 유추하기 전에 다음 수정을 수행합니다.

  • 하나 이상의 스택 프레임의 반복 시퀀스를 해당 시퀀스의 단일 어커런스로 대체합니다.
  • 컴파일러에서 도입된 메서드와 기호를 삭제합니다.

Error Reporting은 지정된 순서로 이러한 규칙을 적용하여 오류 이벤트를 그룹화합니다.

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

예를 들어 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()

이 예에서는 다음 토큰이 고려됩니다. runtime, error, index.

메시지 (있는 경우) 및 함수 이름별로 그룹화됩니다. 메시지의 처음 3자 리터럴 토큰만 고려됩니다.

데이터 리전성

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

Cloud Logging에서는 로그를 리전화하여 특정 위치로 라우팅 하여 저장할 수 있습니다. 오류 그룹 페이지에서 Error Reporting은 로그 항목이 포함된 로그 버킷의 리전을 기준으로 오류 그룹을 정리하고 표시합니다. 예를 들어 us-central1 아래에 나열된 오류 그룹에는 us-central1의 로그 버킷에 속하는 오류 로그만 포함됩니다. 전역 오류 그룹에는 global 리전의 로그 버킷에 속하는 오류 로그만 포함됩니다.

오류 그룹 페이지에 표시된 오류 그룹의 리전을 필터링하려면 리전 메뉴에서 값을 선택합니다. 이 메뉴의 기본값은 global입니다.

'오류 그룹' 페이지의 '지역' 메뉴

다음 단계