파일 시스템 전송 로그

이 문서에서는 현재 파일 시스템 전송 로그 형식을 설명합니다.

전송 로그 보기

파일 시스템 전송은 전송 작업 결과를 확인하는 데 사용할 수 있는 상세한 전송 로그를 생성합니다. 각 작업은 전송 방향에 따라 소스 버킷, 대상 버킷 또는 중간 버킷과 같은 전송의 Cloud Storage 버킷에 저장되는 전송 로그 모음을 생성합니다.

전송 작업이 실행되는 동안 로그가 생성됩니다. 전체 로그는 일반적으로 작업 완료 후 15분 이내에 사용할 수 있습니다.

Cloud Storage 버킷의 로그 보기

전송 로그는 다음 경로의 전송 Cloud Storage 버킷에 저장됩니다.

bucket-name/storage-transfer/logs/transferJobs/job-name/transferOperations/operation-name

각 항목의 의미는 다음과 같습니다.

  • bucket-name은 이 전송에 관련된 Cloud Storage 버킷의 이름입니다.
  • job-name작업 목록에 표시되는 작업 이름입니다.
  • operation-name은 IS08601 타임스탬프와 생성된 ID로 구성되는 개별 전송 작업의 이름입니다.

로그는 집계되어 객체로 저장됩니다. 로그 배치마다 생성 시간을 기준으로 이름이 지정됩니다. 예를 들면 다음과 같습니다.

my bucket/storage-transfer/logs/transferOperations/job1/2019-10-19T10_52_56.519081644-07_00.log

전송 로그에서 BigQuery 쿼리 실행

전송 로그에서 BigQuery 쿼리를 실행하려면 다음 단계를 따르세요.

  1. BigQuery에 CSV 로그 데이터를 로드합니다.

  2. BigQuery 쿼리를 실행합니다.

쿼리 예시

전송을 시도한 파일 수 및 실패 또는 성공 여부 표시

select ActionStatus, count(*) as num_files
from big-query-table
where Action="TRANSFER"
group by 1;

여기서 big-query-table은 전송 로그가 포함된 BigQuery 테이블의 이름입니다.

전송하지 못한 모든 파일 표시

select Src_File_Path
from big-query-table
where Action="TRANSFER" and ActionStatus="FAILED";

여기서 big-query-table은 전송 로그가 포함된 BigQuery 테이블의 이름입니다.

성공적으로 전송된 각 파일의 체크섬 및 타임스탬프 표시

select Timestamp, Action, ActionStatus, Src_File_Path, Src_File_Size,
Src_File_Crc32C, Dst_Gcs_BucketName, Dst_Gcs_ObjectName, Dst_Gcs_Size,
Dst_Gcs_Crc32C, Dst_Gcs_Md5
from big-query-table
where Action="TRANSFER" and ActionStatus="SUCCEEDED";

여기서 big-query-table은 전송 로그가 포함된 BigQuery 테이블의 이름입니다.

전송하지 못한 디렉터리의 모든 오류 정보 표시

select FailureDetails_ErrorType, FailureDetails_GrpcCode, FailureDetails_Message
from big-query-table
where Action="FIND" and ActionStatus="FAILED";

여기서 big-query-table은 전송 로그가 포함된 BigQuery 테이블의 이름입니다.

형식 설명

파일 시스템 전송 로그는 탭으로 구분된 값(TSV) 형식으로 저장되며 필드 이름이 있는 헤더 행을 포함합니다. 필드가 표시되는 순서는 일반적으로 안정적이지만 보장되지 않으며 헤더 행에서 추론해야 합니다.

각 행은 전체 전송 작업의 일부에 대한 상태 업데이트인 단일 로그 레코드를 나타냅니다.

다음 표에서는 로그 파일의 필드를 설명합니다.

로그 필드 설명
타임스탬프 이벤트를 기록할 때 ISO 8601 준수 타임스탬프입니다.
작업 이름 정규화된 작업 이름입니다.
작업

이 태스크의 동작을 설명합니다. 다음 필드 중 하나는 사용해야 합니다.

  • FIND: 온프레미스 파일 나열과 같이 할 일 찾기
  • TRANSFER: 파일 전송
  • DELETE: 대상에 있는 파일 삭제
ActionStatus

작업의 전체적인 상태입니다. 다음 필드 중 하나는 사용해야 합니다.

  • SUCCEEDED: 작업이 성공적으로 완료되었습니다.
  • FAILED: 작업이 실패했습니다. 실패에 대한 추가 세부정보는 FailureDetails 필드에 있습니다.
FailureDetails.ErrorType 발생한 오류 유형을 나타내는 문자열입니다. 예를 들면 FILE_NOT_FOUND와 같습니다. 오류가 발생한 경우에만 채워집니다.
FailureDetails.GrpcCode Google RPC 코드의 문자열 값입니다. 예를 들면 FAILED_PRECONDITION과 같습니다. 오류가 발생한 경우에만 채워집니다.
FailureDetails.Message 인간이 읽을 수 있는 실패 오류 메시지입니다. 오류가 발생한 경우에만 채워집니다.
Src.Type 소스의 스토리지 시스템 유형을 설명하는 문자열입니다. 항상 ON_PREM입니다.
Src.File.Path 전달된 온프레미스 파일의 경로입니다.
Src.File.LastModified 온프레미스 파일의 POSIX 수정 시간(mtime)입니다.
Src.FileSize 파일 크기(바이트)입니다.
Src.File.Crc32C 파일 콘텐츠의 CRC32C 체크섬입니다.
Dst.Type 대상 스토리지 시스템 유형을 설명하는 문자열입니다. 항상 GCS입니다.
Dst.Gcs.BucketName 대상 Cloud Storage 버킷 이름입니다.
Dst.Gcs.ObjectName 대상 객체의 객체 프리픽스입니다.
Dst.Gcs.LastModified 대상 객체의 POSIX 수정 시간(mtime)입니다.
Dst.Gcs.Size 바이트 단위의 객체 크기입니다.
Dst.Gcs.Crc23C 객체 콘텐츠의 CRC32C 체크섬입니다.
Dst.Md5 Cloud Storage 마지막 객체의 MD5 체크섬입니다.

로그 항목 예시

다음은 로그 출력의 두 줄, 즉 헤더 및 데이터 줄의 예시입니다.

Timestamp       OperationName   Action  ActionStatus    FailureDetails.ErrorType        FailureDetails.GrpcCode FailureDetails.Message     Src.Type        Src.File.Path   Src.File.LastModified   Src.File.Size   Src.File.Crc32C Dst.Type   Dst.Gcs.BucketName      Dst.Gcs.ObjectName      Dst.Gcs.LastModified    Dst.Gcs.Size    Dst.Gcs.Crc32C  Dst.Gcs.Md5
2019-10-18T21:06:17Z    transferOperations/agent-manual_transferJobs/OPI1494275376193533620_0000000001571432448     TRANSFER        SUCCEEDED                               ON_PREM_FILE    /mnt/disks/disk-1/directory1/file.txt      1561409931      406     3089075447      GCS_OBJECT      destination-gcs-bucket    file.txt  1571432776      406     3089075447      FDjya7dWbd0OrgnZ7g9ZJw==