전송 로그 읽기

이 페이지에서는 Storage Transfer Service용 Cloud Logging 로그를 확인하는 방법과 로그 형식에 대해 설명합니다. Storage Transfer Service 로그 구성에 대한 자세한 내용은 전송 로그 구성을 참조하세요.

Transfer Service for On Premises Data 로그에 대한 자세한 내용은 온프레미스용 전송 로그 형식을 참조하세요.

시작하기 전에

시작하기 전 Cloud Logging에 액세스할 수 있는지 확인합니다. 로그 뷰어(roles/logging.viewer) Identity and Access Management 역할이 권장됩니다. Logging 액세스에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.

다음은 IAM 액세스 권한을 확인하고 부여하는 방법에 대한 설명입니다.

로그 보기

전송 로그를 보려면 다음을 수행하세요.

Google Cloud Console

  1. Google Cloud 탐색 메뉴 로 이동하고 Logging > 로그 탐색기를 선택합니다.<br\></br\>

    로그 탐색기로 이동

  2. 클라우드 프로젝트 선택

  3. 업그레이드 메뉴에서 기존 로그 뷰어로그 탐색기로 전환합니다.

  4. Storage Transfer Service 항목만 표시되도록 로그를 필터링하려면 쿼리 필드에 storage_transfer_job을 입력하고 쿼리 실행을 클릭합니다.

  5. 쿼리 결과 창에서 시간 수정을 클릭하여 결과를 반환할 기간을 변경합니다.

로그 탐색기 사용에 대한 자세한 내용은 로그 탐색기 사용을 참조하세요.

Cloud Logging API

entries.list Cloud Logging API 메서드를 사용합니다.

Storage Transfer Service 관련 항목만 표시되도록 결과를 필터링하려면 filter 필드를 사용합니다. 샘플 JSON 요청 객체는 아래와 같습니다.

{
"resourceNames":
  [
    "projects/my-project-name"
  ],
  "orderBy": "timestamp desc",
  "filter": "resource.type=\"storage_transfer_job\""
}

gcloud CLI

gcloud 명령줄 도구를 사용해서 Storage Transfer Service 로그를 검색하려면 gcloud logging read 명령어를 사용합니다.

결과를 Storage Transfer Service 로그로 제한하도록 필터를 지정합니다.

gcloud logging read "resource.type=storage_transfer_job"

전송 로그 형식

다음 섹션에서는 Storage Transfer Service 로그의 필드에 대해 설명합니다.

모든 Storage Transfer Service 관련 필드가 jsonPayload 필드에 포함되어 있습니다.

FIND 작업

jsonPayload: {
  @type: "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog"
  action: "FIND"
  completeTime: "2021-12-16T18:58:49.344509695Z"
  destinationContainer: {
    gcsBucket: {
      bucket: "my-bucket-2"
    }
    type: "GCS"
  }
  operation: "transferOperations/transferJobs-7876027868280507149--3019866490856027148"
  sourceContainer: {
    gcsBucket: {
      bucket: "my-bucket-1"
    }
    type: "GCS"
  }
  status: {
    statusCode: "OK"
  }
}

COPYDELETE 작업

jsonPayload: {
  @type: "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog"
  action: "COPY"
  completeTime: "2021-12-16T18:59:00.510509049Z"
  destinationObject: {
    gcsObject: {
      bucket: "my-bucket-2"
      objectKey: "README.md"
    }
    type: "GCS"
  }
  operation: "transferOperations/transferJobs-7876027868280507149--3019866490856027148"
  sourceObject: {
    gcsObject: {
      bucket: "my-bucket-1"
      lastModifiedTime: "2021-12-07T16:41:09.456Z"
      md5: "WgnCOIdfCXNTUDpQJSKb2w=="
      objectKey: "README.md"
    }
    type: "GCS"
  }
  status: {
    statusCode: "OK"
  }
}
로그 필드 설명
@type 값이 항상 type.googleapis.com/google.storagetransfer.logging.TransferActivityLog입니다.
action

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

  • FIND: 디렉터리의 파일 나열 또는 버킷의 객체 나열과 같이 할 일을 찾는 작업입니다.
  • COPY: Cloud Storage에 파일 또는 객체를 복사하는 작업입니다.
  • DELETE: 소스 또는 대상에서 파일 또는 객체를 삭제하는 작업입니다.
completeTime 작업이 완료된 ISO 8601을 준수하는 타임스탬프입니다.
destinationContainer

FIND 작업에만 제공됩니다.

이 전송의 대상 컨테이너입니다. 로깅에는 Cloud Storage 버킷만 지원됩니다. 다음 하위 필드 2개를 포함합니다.

  • gcsBucket.bucket: 대상 Cloud Storage 버킷 이름입니다.
  • type: 항상 GCS입니다.
destinationObject

COPYDELETE 작업에만 제공됩니다.

Cloud Storage에 기록된 객체 관련 정보입니다. 다음 하위 필드 2개를 포함합니다.

  • bucketobjectKey의 하위 필드 2개가 자체적으로 포함된 gcsObject입니다. 모두 함께 객체의 Cloud Storage 경로를 정의합니다.
  • type은 항상 GCS입니다.

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


destinationObject: {
  gcsObject: {
    bucket: "my-bucket-2"
    objectKey: "README.md"
  }
  type: "GCS"
}
operation 정규화된 transferOperations 이름입니다.
sourceContainer

FIND 작업에만 제공됩니다.

이 전송의 소스 컨테이너입니다. 다음 하위 필드 2개를 포함합니다.

  • 소스 위치를 지정하는 항목입니다. 필드의 이름은 소스 유형에 따라 지정됩니다. 사용 가능한 필드는 다음과 같습니다.
    • awsS3Bucket.bucket: AWS S3 버킷 이름입니다.
    • azureBlobContainer: 모두 함께 Microsoft Azure Blob 스토리지 URI를 정의하는 하위 필드 accountcontainer를 포함합니다.
    • gcsBucket.bucket: Cloud Storage 버킷 이름입니다.
    • httpManifest.url: HTTP(S) 서버에서 다운로드할 공개적으로 제공되는 파일을 지정하는 URL 목록의 URL입니다.
  • typeAWS_S3, AZURE_BLOB, GCS, HTTP 중 하나입니다.

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


sourceContainer: {
  gcsBucket: {
    bucket: "my-bucket-1"
  }
  type: "GCS"
}
sourceObject

COPYDELETE 작업에만 제공됩니다.

소스 객체에 대한 정보입니다. 다음 하위 필드 2개를 포함합니다.

  • 소스 객체의 호스트와 관련된 항목입니다. 필드 이름은 소스 유형에 따라 지정되며 메타데이터의 하위 필드를 포함합니다. 사용 가능한 필드는 다음과 같습니다.
    • awsS3Object: AWS S3 객체입니다.
    • azureBlob: Azure Blob Storage의 파일입니다.
    • gcsObject: Cloud Storage 객체입니다.
    • httpFile: URL 목록으로 지정된 파일입니다.
  • typeAWS_S3, AZURE_BLOB, GCS, HTTP 중 하나입니다.

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


sourceObject: {
  gcsObject: {
    bucket: "my-bucket-1"
    lastModifiedTime: "2021-12-07T16:41:09.456Z"
    md5: "WgnCOIdfCXNTUDpQJSKb2w=="
    objectKey: "README.md"
  }
  type: "GCS"
}
status

작업의 상태입니다. status.statusCodeOK이면 작업이 성공한 것입니다. 그렇지 않으면 작업이 실패한 것입니다. status.errorTypestatus.errorMessage 필드는 상태가 OK가 아닌 경우에만 채워집니다.

또한 최상위 resource 필드에 다음 필드가 포함됩니다.

resource: {
  labels: {
    job_id: "transferJobs/7876027868280507149"
    project_id: "my-project-id"
  }
  type: "storage_transfer_job"
}
로그 필드 설명
resource.labels.job_id 이 로그가 속한 Storage Transfer Service 작업 이름입니다.
resource.labels.project_id 이 전송의 Google Cloud 프로젝트 ID입니다.