Halaman ini menjelaskan cara mengonfigurasi Storage Transfer Service untuk membuat data log yang mencatat tindakan dan status. Anda dapat melihat dan menganalisis data log menggunakan Cloud Logging.
Storage Transfer Service dapat membuat data log untuk semua transfer. Namun, operasi FIND
tidak dicatat untuk transfer berbasis agen.
Transfer sistem file juga dapat mengonfigurasi log transfer sistem file.
Sebelum memulai
Sebelum memulai, pastikan Anda memiliki akses ke Cloud Logging. Sebaiknya gunakan peran Identity and Access Management Logs Viewer (roles/logging.viewer). Untuk mengetahui informasi selengkapnya tentang akses Logging, lihat Kontrol akses dengan IAM.
Dokumen berikut menjelaskan cara memverifikasi akses Anda saat ini dan cara memberikan peran IAM:
- Lihat akses saat ini untuk memverifikasi akses yang dimiliki setiap akun utama.
- Berikan peran kepada akun utama yang relevan dalam project Anda.
Tindakan yang dapat dicatat
Tindakan berikut dapat dicatat:
FIND: Menemukan tugas yang harus dilakukan, seperti mencantumkan file dalam direktori, mencantumkan objek dalam bucket, atau mencantumkan folder terkelola dalam bucket. Tidak didukung untuk transfer berbasis agen.COPY: Menyalin file atau objek ke Cloud Storage.DELETE: Menghapus file atau objek di sumber atau tujuan. Untuk transfer antara dua sistem file, juga mencatat penghapusan file dari bucket Cloud Storage perantara.
Status yang dapat dicatat
Untuk setiap tindakan, Anda juga dapat merekam satu atau beberapa status berikut:
SUCCEEDED: Tindakan berhasil.FAILED: Tindakan gagal.SKIPPED: Hanya berlaku untuk tindakan COPY, dan hanya didukung untuk tugas transfer berbasis agen. Harus ditetapkan menggunakangcloudatau REST API. Status ini berarti bahwa penyalinan dilewati. Hal ini terjadi saat file sudah ada di tujuan, dan tugas transfer Anda dikonfigurasi untuk mengabaikan file yang ada.
Praktik terbaik
Mengaktifkan logging untuk tindakan FIND atau untuk status SUCCEEDED dapat menghasilkan volume data log yang tinggi, dan hal ini dapat memengaruhi biaya Cloud Logging Anda.
Anda dapat menggunakan strategi berikut untuk mengurangi volume data log yang disimpan:
Hanya mencatat kegagalan. Jika Anda tidak memerlukan audit kepatuhan tingkat objek penuh, konfigurasikan tugas untuk menulis log hanya untuk tindakan penyalinan dan penghapusan, dan hanya saat terjadi kegagalan.
Gunakan data metrik untuk memantau throughput, jumlah byte, dan objek yang dilewati atau gagal. Anda dapat membuat diagram dan memantau data metrik menggunakan kebijakan pemberitahuan. Untuk mengetahui daftar metrik yang tersedia, lihat Storage Transfer Service.
Konfigurasi Cloud Logging untuk menghapus data log bervolume tinggi yang bernilai rendah. Untuk melakukan perubahan ini, perbarui sink log di project Anda untuk mengecualikan data log Storage Transfer Service yang bernilai rendah. Karena semua sink log dalam project mengevaluasi semua entri log, Anda mungkin perlu memperbarui beberapa sink log.
Gunakan filter pengecualian berikut untuk mengecualikan entri log Storage Transfer Service yang mencatat tindakan yang berhasil:
resource.type="storage_transfer_job" AND jsonPayload.status.statusCode="OK"Untuk mengetahui informasi tentang cara menemukan dan mengubah sink log, lihat Merutekan log ke tujuan yang didukung.
Aktifkan logging
Untuk mengonfigurasi Storage Transfer Service agar menghasilkan data log, tentukan tindakan dan status yang akan dicatat.
gcloud CLI
Saat membuat tugas transfer dengan gcloud transfer jobs create, gunakan
flag berikut untuk mengaktifkan logging:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
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", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
"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 yang akan dicatat. Misalnya, untuk mencatat kapan tindakan salin dan temukan gagal,
berikan loggingConfig berikut:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Memperbarui konfigurasi logging
gcloud CLI
Untuk memperbarui konfigurasi logging tugas yang ada, gunakan flag yang sesuai dengan perintah gcloud transfer jobs update:
gcloud transfer jobs update NAME \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
Untuk menonaktifkan logging untuk tugas ini, tentukan --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", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
updateTransferJobFieldMask menentukan kolom yang sedang diperbarui dalam
permintaan ini dan wajib diisi.
Untuk menonaktifkan logging untuk tugas ini, kirim loggingConfig dengan daftar kosong untuk
logActions dan logActionStates:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": [],
"logActionStates": [],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Melihat log
Untuk melihat log transfer, lakukan hal berikut:
Konsol Google Cloud
Buka menu navigasi Google Cloud menu, lalu pilih Logging > Logs Explorer :
Pilih project Google Cloud .
Dari menu Upgrade, beralihlah dari Logs Viewer Lama ke Logs Explorer.
Untuk memfilter log Anda agar hanya menampilkan entri Storage Transfer Service, ketik
storage_transfer_jobke dalam kolom kueri, lalu klik Jalankan kueri.Di panel Query results, klik Edit time untuk mengubah jangka waktu yang akan digunakan untuk 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 Anda agar hanya menyertakan entri terkait Storage Transfer Service, gunakan kolom filter. Contoh objek permintaan JSON ada di bawah.
{
"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 terdapat dalam objek 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"
}
}
}
Tindakan COPY dan DELETE
{
"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 tertentu ini. Salah satu dari berikut ini:
|
findAction |
Menentukan apakah subjek tindakan penemuan adalah objek atau folder terkelola. |
completeTime |
Stempel waktu yang sesuai dengan ISO 8601 saat operasi selesai. |
destinationContainer |
Hanya ada untuk operasi Penampung tujuan untuk transfer ini. Berisi dua sub-kolom:
|
destinationObject |
Hanya ada untuk operasi Informasi tentang objek di tujuan. Berisi dua sub-kolom:
Contoh: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } } |
operation |
Nama
transferOperations yang sepenuhnya memenuhi syarat. |
sourceContainer |
Hanya ada untuk operasi Container sumber untuk transfer ini. Berisi dua sub-kolom:
Contoh: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" }, type: "GCS" } |
sourceObject |
Hanya ada untuk operasi Informasi tentang objek sumber. Berisi dua sub-kolom:
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 |
Selain itu, kolom resource tingkat teratas 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 terkait dengan log ini. |
resource.labels.project_id |
Project ID Google Cloud untuk transfer ini. |