Cloud Logging untuk Storage Transfer Service

Halaman ini menjelaskan cara mengonfigurasi dan melihat log Cloud Logging untuk Storage Transfer Service.

Cloud Logging untuk Storage Transfer Service didukung untuk semua transfer tanpa agen, serta untuk transfer dari penyimpanan yang kompatibel dengan S3. Untuk mengetahui informasi tentang log transfer sistem file, lihat Log transfer sistem file.

Sebelum memulai

Sebelum memulai, pastikan Anda memiliki akses ke Cloud Logging. Sebaiknya gunakan peran Logs Viewer (roles/logging.viewer) di Identity and Access Management. Untuk mengetahui informasi selengkapnya tentang Akses logging, lihat Kontrol akses dengan IAM.

Berikut adalah penjelasan cara memverifikasi dan memberikan akses IAM:

Tindakan yang dapat dicatat dalam log

Tindakan berikut dapat dicatat dalam log:

  • FIND: Menemukan pekerjaan untuk dilakukan, seperti mencantumkan file di direktori atau mencantumkan objek di bucket. Tidak didukung untuk transfer dari penyimpanan yang kompatibel dengan S3.
  • COPY: Menyalin file atau objek ke Cloud Storage.
  • DELETE: Menghapus file atau objek di sumber atau tujuan.

Untuk setiap tindakan, Anda dapat memilih untuk mencatat status berhasil dan/atau gagal.

Aktifkan logging

Untuk mengaktifkan logging, tentukan tindakan dan status yang akan dicatat ke dalam log.

gcloud CLI

Saat membuat tugas transfer dengan gcloud transfer jobs create, gunakan tanda berikut untuk mengaktifkan logging:

gcloud transfer jobs create SOURCE DESTINATION \
  --log-actions=copy,delete,find \
  --log-action-states=succeeded,failed

Anda harus menentukan setidaknya satu nilai untuk setiap tanda.

REST

Untuk membuat konfigurasi logging, gunakan transferJobs.create dengan LoggingConfig:

{
  "name":"transferJobs/myFirstTransfer",
  "status": "ENABLED",
  "projectId": "test-id-001",
  "loggingConfig": {
     "logActions": ["FIND", "DELETE", "COPY"],
     "logActionStates": ["SUCCEEDED", "FAILED"],
  },
  "transferSpec": {
      "awsS3DataSource": {
          "bucketName": "AWS_SOURCE_NAME",
          "awsAccessKey": {
              "accessKeyId": "AWS_ACCESS_KEY_ID",
              "secretAccessKey": "AWS_SECRET_ACCESS_KEY"
          }
      },
      "gcsDataSink": {
           "bucketName": "destination_bucket"
           "path": "foo/bar/"
      },
   }
}

Sesuaikan loggingConfig untuk menyertakan logActions dan logActionStates tertentu untuk dicatat. Misalnya, untuk mencatat log saat tindakan menyalin dan menemukan gagal, berikan loggingConfig berikut:

"loggingConfig": {
  "logActions": ["COPY", "FIND"],
  "logActionStates": ["FAILED"],
}

Memperbarui konfigurasi logging

gcloud CLI

Untuk memperbarui konfigurasi logging tugas yang ada, gunakan tanda yang sesuai dengan perintah gcloud transfer jobs update:

gcloud transfer jobs update NAME \
  --log-actions=copy,delete,find \
  --log-action-states=succeeded,failed

Guna menonaktifkan logging untuk tugas ini, tetapkan --clear-log-config:

gcloud transfer jobs update NAME --clear-log-config

REST

Untuk memperbarui konfigurasi logging tugas transfer yang ada, gunakan transferJobs.patch dengan LoggingConfig:

{
  "projectId: "test-id-001",
  "transferJob": {
    "loggingConfig": {
       "logActions": ["FIND", "DELETE", "COPY"],
       "logActionStates": ["SUCCEEDED", "FAILED"],
    },
  },
  "updateTransferJobFieldMask": "loggingConfig"
}

updateTransferJobFieldMask menentukan kolom yang sedang diperbarui dalam permintaan ini dan wajib diisi.

Guna menonaktifkan logging untuk tugas ini, kirim loggingConfig dengan daftar kosong untuk logActions dan logActionStates:

{
  "projectId: "test-id-001",
  "transferJob": {
    "loggingConfig": {
       "logActions": [],
       "logActionStates": [],
    },
  },
  "updateTransferJobFieldMask": "loggingConfig"
}

Lihat log

Untuk melihat log transfer, lakukan hal berikut:

Konsol Google Cloud

  1. Buka menu navigasi Google Cloud , lalu pilih Logging > Logs Explorer :<br\></br\>

    Buka Logs Explorer

  2. Pilih project Google Cloud.

  3. Dari menu Upgrade, ganti dari Logs Viewer Lama ke Logs Explorer.

  4. Untuk memfilter log agar hanya menampilkan entri Storage Transfer Service, ketik storage_transfer_job di kolom kueri, lalu klik Run query.

  5. Di panel Query results, klik Edit time untuk mengubah jangka waktu menampilkan hasil.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan Logs Explorer, lihat Menggunakan Logs Explorer.

gcloud CLI

Untuk menggunakan gcloud CLI guna menelusuri log Storage Transfer Service, gunakan perintah gcloud logging read.

Tentukan filter untuk membatasi hasil Anda ke log Storage Transfer Service.

gcloud logging read "resource.type=storage_transfer_job"

Cloud Logging API

Gunakan metode Cloud Logging API entries.list.

Untuk memfilter hasil agar hanya menyertakan entri terkait Storage Transfer Service, gunakan kolom filter. Berikut adalah contoh objek permintaan JSON.

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

Format log transfer

Bagian berikut menjelaskan kolom untuk log Storage Transfer Service.

Semua kolom khusus Storage Transfer Service dimuat dalam kolom jsonPayload.

FIND tindakan

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"
  }
}

COPY dan DELETE tindakan

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"
  }
}
Kolom log Deskripsi
@type Nilainya selalu type.googleapis.com/google.storagetransfer.logging.TransferActivityLog.
action

Menjelaskan tindakan tugas khusus ini. Salah satu dari berikut ini:

  • FIND: Menemukan pekerjaan untuk dilakukan, seperti membuat daftar file di direktori atau mencantumkan objek dalam bucket. Tidak tersedia untuk transfer dari penyimpanan yang kompatibel dengan S3.
  • COPY: Menyalin file atau objek ke Cloud Storage.
  • DELETE: Menghapus file atau objek di sumber atau tujuan.
completeTime Stempel waktu yang sesuai dengan ISO 8601 saat operasi selesai.
destinationContainer

Hanya ada untuk operasi FIND.

Penampung tujuan untuk transfer ini. Hanya bucket Cloud Storage yang didukung untuk logging. Berisi dua sub-kolom:

  • gcsBucket.bucket: Nama bucket Cloud Storage tujuan.
  • type: Selalu GCS.
destinationObject

Hanya ada untuk operasi COPY dan DELETE.

Informasi tentang objek seperti yang ditulis ke Cloud Storage. Berisi dua sub-kolom:

  • gcsObject, yang berisi dua sub-kolom, bucket dan objectKey. Bersama-sama, keduanya menentukan jalur Cloud Storage objek.
  • type selalu GCS.

Contoh:

destinationObject: {
  gcsObject: {
    bucket: "my-bucket-2"
    objectKey: "README.md"
  }
  type: "GCS"
}
operation Nama transferOperations yang sepenuhnya memenuhi syarat.
sourceContainer

Hanya ada untuk operasi FIND.

Penampung sumber untuk transfer ini. Berisi dua sub-kolom:

  • Entri yang menentukan lokasi sumber. Kolom ini diberi nama sesuai dengan jenis sumber. Kolom yang dapat digunakan adalah sebagai berikut.
    • awsS3Bucket.bucket: Nama bucket AWS S3.
    • azureBlobContainer: Berisi sub-kolom account dan container, yang bersama-sama menentukan URI penyimpanan Microsoft Azure Blob.
    • gcsBucket.bucket: Nama bucket Cloud Storage.
    • httpManifest.url: URL daftar URL yang menentukan file yang tersedia secara publik untuk didownload dari server HTTP(S).
  • type adalah salah satu dari AWS_S3, AZURE_BLOB, GCS, atau HTTP.

Contoh:

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

Hanya ada untuk operasi COPY dan DELETE.

Informasi tentang objek sumber. Berisi dua sub-kolom:

  • Entri khusus untuk host objek sumber. Kolom ini diberi nama sesuai dengan jenis sumber dan berisi subkolom untuk metadata. Kolom yang dapat digunakan adalah sebagai berikut.
    • awsS3Object: Objek AWS S3.
    • azureBlob: File di Azure Blob Storage.
    • gcsObject: Objek Cloud Storage.
    • httpFile: File yang ditentukan oleh daftar URL.
  • type adalah salah satu dari AWS_S3, AZURE_BLOB, GCS, atau HTTP.

Contoh:

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

Status tindakan. Jika status.statusCode adalah OK, tindakan berhasil. Jika tidak, tindakan akan gagal. Kolom status.errorType dan status.errorMessage hanya diisi jika statusnya bukan OK.

Selain itu, kolom resource tingkat atas berisi kolom berikut.

resource: {
  labels: {
    job_id: "transferJobs/7876027868280507149"
    project_id: "my-project-id"
  }
  type: "storage_transfer_job"
}
Kolom log Deskripsi
resource.labels.job_id Nama tugas Storage Transfer Service yang memiliki log ini.
resource.labels.project_id ID project Google Cloud untuk transfer ini.