Cloud Storage로 라우팅된 로그 보기

이 문서에서는 Cloud Logging에서 Cloud Storage 버킷으로 라우팅한 로그 항목을 찾는 방법을 설명합니다.

로그 항목은 1시간 배치 단위로 Cloud Storage 버킷에 저장됩니다. 첫 번째 항목이 나타나기 시작하려면 2~3시간이 걸릴 수 있습니다.

시작하기 전에

싱크에 대한 개념 설명은 라우팅 및 스토리지 모델 개요: 싱크를 참조하세요.

로그를 라우팅하는 방법에 대한 자세한 내용은 지원되는 대상으로 로그 라우팅하기를 참조하세요.

로그 보기

Cloud Storage로 라우팅된 로그를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 버킷 페이지로 이동합니다.

    버킷으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Cloud Storage인 결과를 선택합니다.

  2. 라우팅 대상으로 사용할 Cloud Storage 버킷을 선택합니다.

로그 구성

Cloud Storage 버킷에 로그를 라우팅하면 Logging이 버킷에 파일 집합을 작성합니다.

파일은 로그 유형과 날짜를 기준으로 한 디렉터리 계층구조로 구성됩니다. 로그 유형은 LogEntry 참조에서는 [LOG_ID]로 불리며 syslog처럼 간단한 이름이거나 appengine.googleapis.com/request_log처럼 복합적인 이름일 수 있습니다. 이러한 로그가 my-gcs-bucket이라는 버킷에 저장되었다면 디렉터리 이름은 다음 예시와 같이 지정됩니다.

my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/

단일 Cloud Storage 버킷에는 여러 리소스 유형의 로그가 포함될 수 있습니다. 최대 파일 크기는 3.5GiB입니다.

Logging은 동일하거나 중복된 쿼리가 포함된 싱크에서 제공되는 로그 항목의 중복 삭제를 보장하지 않으므로 이러한 싱크의 로그 항목이 Cloud Storage 버킷에 여러 번 작성될 가능성이 있습니다.

리프 디렉터리(DD/)에는 여러 개의 파일이 포함되어 있으며 각 파일에는 파일 이름에 지정된 기간 동안 라우팅된 로그 항목이 보관됩니다. 파일은 샤딩되고 샤딩된 파일의 이름은 Sn 또는 An(n=0, 1, 2 등)과 같은 샤드 번호로 끝납니다. 예를 들어 my-gcs-bucket/syslog/2015/01/13/ 디렉터리에 다음과 같은 파일 두 개가 저장되어 있을 수 있습니다.

08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json

이러한 두 파일 모두에는 08:00:00 UTC부터 08:59:59 UTC까지 한 시간 동안 모든 인스턴스에 대한 syslog 로그 항목이 포함됩니다. 로그 항목 타임스탬프는 UTC(협정 세계시)로 표시됩니다.

timestamp의 60분 정렬 기간 내에 receiveTimestamp로 도착하는 로그 항목은 기본 샤드 파일에 기록됩니다. 예를 들어 timestamp가 08:00:00이고 receiveTimestamp가 08:10:00인 로그 항목은 기본 샤드 파일에 저장됩니다.

이러한 파일에는 서픽스에 숫자로 표시된 기본 샤드가 포함됩니다. _Sn.json.

receiveTimestamp 대신 다른 60분 정렬 기간의 timestamp로 도착하는 로그 항목은 부록 샤드 파일에 기록됩니다. 예를 들어 timestamp가 08:00:00이고 receiveTimestamp가 09:10:00인 로그 항목은 부록 샤드 파일에 저장됩니다.

이러한 파일에는 서픽스에 숫자로 표시된 부록 샤드가 포함됩니다. _An:Unix_timestamp.json.

예를 들어 로그 항목에 08:00:00에서 08:59:59 사이의 timestamp가 포함되지만 다른 60분 정렬 기간의 receiveTimestamp_An:Unix_timestamp.json 서픽스로 파일에 기록된 경우, 여기서 Unix 타임스탬프는 파일이 Cloud Storage로 라우팅된 시간을 식별합니다. 로그 항목에서 timestamp가 08:50:00이고 receiveTimestamp가 09:10:00이며, 2021년 3월 25일 09:15:00에 라우팅되었으면 부록 파일이 다음과 같이 기록됩니다.

08:00:00_08:59:59_A0:1616681700.json

모든 로그 항목을 가져오려면 매 기간의 모든 분할을 읽어야 합니다(이 경우에는 파일이 0과 1로 분할됨). 작성된 파일 샤드 수는 각 기간마다 다를 수 있습니다.

샤딩된 개별 파일 내의 로그 항목은 LogEntry 객체 목록으로 저장됩니다. syslog 항목의 예시는 로그 항목 조직을 참조하세요.

파일 내 로그 항목의 정렬 순서는 통일되거나 달리 보장되지 않습니다.

로그 항목 전달 지연

라우팅된 로그 항목은 1시간마다 일괄적으로 Cloud Storage 버킷에 저장됩니다. 첫 번째 항목이 나타나기 시작하려면 2~3시간이 걸릴 수 있습니다. An('Append') 서픽스가 추가된 라우팅된 로그 파일 샤드에는 늦게 전달된 로그 항목이 포함됩니다.

대상이 중단되면 중단 문제가 해소될 때까지 Cloud Logging에서 데이터를 버퍼링합니다.

싱크 대상에 로그가 없으면 내보내기 시스템 측정항목을 확인합니다. 내보내기 시스템 측정항목은 라우팅된 로그 항목 수 및 오류로 인해 삭제된 항목 수를 나타냅니다. 내보내기 시스템 측정항목에서 대상에 라우팅된 로그 항목이 없는 것으로 표시되면 [filter][export-query] 에서 필터와 일치하는 로그 항목이 최근에 Logging에 전달되었는지 확인합니다.

Google Cloud 콘솔에서 로그 라우터 페이지로 이동합니다.

로그 라우터로 이동

검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

App Engine 로그 항목

App Engine은 google.appengine.logging.v1.LogLine 유형의 하위 항목 (AppLog 또는 AppLogLine이라고도 함) 여러 개를 로그 활동의 원인인 요청의 기본 google.appengine.logging.v1.RequestLog 유형 로그 항목 아래에 결합합니다. 각 로그 줄에는 기본 항목을 식별하는 '요청 ID'가 있습니다. 로그 탐색기에는 요청 로그 항목이 포함된 로그 줄이 표시됩니다. Logging은 타임스탬프가 다음 배치에 넣더라도 원래 요청이 있는 배치에 모든 로그 줄을 넣으려고 시도합니다. 시도가 실패하는 경우 요청 로그 항목에 일부 로그 줄이 누락될 수 있으며 다음 배치에 요청 없이 '분리된' 로그 줄이 생길 수 있습니다. 이러한 가능성이 문제가 된다면 로그를 처리할 때 요청 조각을 다시 연결해야 할 수 있습니다.

문제 해결

로그가 싱크 대상에서 누락된 것으로 보이거나 싱크가 제대로 로그를 라우팅하지 않는 것으로 의심되는 경우 로그 라우팅 문제 해결을 참조하세요.

가격 책정

Cloud Logging은 로그를 지원되는 대상으로 라우팅하는 데 비용을 청구하지 않지만 대상에 요금이 부과될 수 있습니다. _Required 로그 버킷을 제외하고 Cloud Logging은 로그를 로그 버킷으로 스트리밍하고 로그 버킷의 기본 보관 기간보다 긴 스토리지에 대해 요금을 청구합니다.

Cloud Logging은 로그 복사, 로그 범위 정의, 로그 탐색기 또는 로그 애널리틱스 페이지를 통해 실행되는 쿼리에 대해 요금을 부과하지 않습니다.

자세한 내용은 다음 문서를 참조하세요.