Halaman ini menjelaskan cara menyalin entri log yang sudah tersimpan di bucket log Cloud Logging ke bucket Cloud Storage secara manual. Anda mungkin ingin menyalin entri log dari bucket log ke bucket Cloud Storage karena alasan berikut:
- Seandainya Anda lupa merutekan entri log ke Cloud Storage sebelum penyimpanannya di Logging.
- Untuk membagikan entri log dengan auditor di luar Logging.
- Untuk menganalisis entri log dengan skrip di Cloud Storage.
Saat Anda menyalin entri log ke Cloud Storage, entri log juga tetap berada di bucket log tempat entri log tersebut disalin.
Operasi penyalinan tidak menggantikan sink, yang secara otomatis mengirim semua entri log masuk ke tujuan penyimpanan yang didukung yang telah dipilih sebelumnya, termasuk bucket Cloud Storage. Gunakan sink jika Anda mengetahui bahwa Anda ingin menyimpan entri log di bucket Cloud Storage.
Untuk menyalin log, lalu mengelola dan memantau operasi, Anda harus menggunakan Google Cloud CLI.
Batasan
Batasan berikut berlaku saat menyalin entri log:
Anda hanya dapat menyalin log ke bucket Cloud Storage; tujuan lainnya tidak tersedia.
Anda tidak dapat menyalin log dari bucket log yang telah mengonfigurasi CMEK.
Sebelum memulai
Sebelum Anda mulai menyalin log, lakukan hal berikut:
- Pastikan Anda menggunakan gcloud CLI versi terbaru. Untuk mengetahui petunjuk cara menginstal atau mengupdate gcloud CLI, lihat Mengelola komponen Google Cloud CLI.
-
Untuk mendapatkan izin yang diperlukan untuk menyalin entri log dari Logging, lalu menulis entri log ke Cloud Storage, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Admin Logging (
roles/logging.admin
) -
Storage Object Creator (
roles/storage.objectCreator
)
-
Admin Logging (
-
Untuk mendapatkan izin yang diperlukan guna melihat dan mengelola status operasi penyalinan, minta administrator untuk memberi Anda peran IAM Logs Configuration Writer (
roles/logging.configWriter
) di project Anda.
Salin entri log
Logging hanya menyalin entri log yang disimpan di bucket log saat operasi penyalinan dimulai. Entri log yang disimpan dalam bucket log setelah operasi penyalinan dimulai tidak disalin ke Cloud Storage.
Untuk menyalin entri log ke Cloud Storage, Anda perlu mengetahui informasi berikut:
- ID dan lokasi bucket log yang Anda salin.
Untuk mengambil ID bucket log dan lokasinya, gunakan perintah gcloud CLI
gcloud logging buckets list
. - Nama bucket Cloud Storage tempat Anda menyalin. Untuk informasi tentang cara mengambil nama bucket Cloud Storage, lihat Mendapatkan informasi bucket Cloud Storage.
- Filter untuk entri log yang ingin Anda salin.
Untuk menyalin entri log, jalankan
perintah gcloud logging copy
:
gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME
--location=LOCATION [--log-filter=FILTER] --project=PROJECT_ID
Sebelum Anda menjalankan perintah sebelumnya, lakukan hal berikut:
- Ganti BUCKET_ID dengan nama bucket log Anda.
- Ganti CLOUD_STORAGE_BUCKET_NAME dengan nama bucket Cloud Storage Anda.
- Ganti LOCATION dengan lokasi bucket log.
(Opsional): Ganti FILTER dengan filter yang menentukan log mana yang disalin.
Ganti PROJECT_ID dengan ID project Google Cloud Anda. Anda dapat menghilangkan flag ini saat konfigurasi gcloud CLI aktif ditetapkan ke project Google Cloud yang benar.
Contoh perintah:
gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2021-03-18T10:00:00.0Z"' \
--project=my-project
Perintah ini membuat operasi yang berjalan lama untuk dijalankan di latar belakang dan menampilkan nama operasi penyalinan dan lokasi bucket log:
name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Lokasi operasi penyalinan sama dengan lokasi bucket log tempat Anda menyalin log.
Melihat dan mengelola operasi penyalinan
Anda dapat melihat dan mengelola operasi penyalinan menggunakan
perintah gcloud logging operations
,
yang memungkinkan Anda membuat daftar, melihat, dan membatalkan operasi.
Perintah berikut mengharuskan Anda menentukan lokasi operasi. Gunakan lokasi bucket log Anda. Untuk mengetahui informasi tentang cara menemukan lokasi bucket log, baca Melihat detail bucket.
Membuat daftar operasi penyalinan
Anda dapat mencantumkan operasi penyalinan terbaru, termasuk operasi terjadwal, berjalan, selesai, gagal, dan dibatalkan. Operasi penyalinan terbaru akan muncul di hasil hingga 30 hari setelah waktu berakhir.
Untuk menampilkan daftar operasi penyalinan, jalankan perintah berikut:
gcloud logging operations list --location=LOCATION \
--operation-filter=request_type=CopyLogEntries \
--project=PROJECT_ID
Sebelum Anda menjalankan perintah sebelumnya, lakukan hal berikut:
- Ganti LOCATION dengan lokasi bucket log tempat Anda menyalin log.
- Ganti PROJECT_ID dengan ID project Google Cloud Anda.
Perintah tersebut menampilkan informasi tentang operasi yang berjalan lama, termasuk ID operasi:
projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Melihat status operasi penyalinan
Anda dapat mengambil status dan metadata lainnya terkait operasi penyalinan, termasuk yang berikut ini:
startTime
: Stempel waktu yang menunjukkan pembuatan operasi.endTime
: Stempel waktu yang menunjukkan penyelesaian operasi.state
: Status operasi (dijadwalkan, berjalan, dibatalkan, gagal, atau berhasil).cancellation
: Apakah pengguna telah meminta untuk membatalkan operasi.progress
: Estimasi progres operasi (0-100%).destination
: Nama bucket Cloud Storage tempat operasi menyalin log.filter
: Filter yang menentukan entri log yang akan disalin.name
: Nama bucket log tempat operasi menyalin log.logEntriesCopiedCount
: Jumlah entri log yang berhasil disalin ke bucket Cloud Storage oleh operasi.
Perlu diperhatikan bahwa tidak semua kolom metadata yang tercantum berlaku untuk setiap operasi penyalinan.
Misalnya, jika operasi penyalinan masih berjalan, metadata endtime
tidak akan berlaku untuk operasi tersebut. Contoh lainnya, jika flag --log-filter=FILTER
tidak digunakan saat menjalankan perintah gcloud logging copy
, metadata filter
tidak akan berlaku untuk operasi.
Untuk mengambil informasi tentang operasi penyalinan, jalankan perintah berikut:
gcloud logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
Sebelum Anda menjalankan perintah sebelumnya, lakukan hal berikut:
- Ganti OPERATION_ID dengan ID operasi.
- Ganti LOCATION dengan lokasi bucket log tempat Anda menyalin log.
- Ganti PROJECT_ID dengan ID project Google Cloud Anda.
Perintah tersebut menampilkan metadata tentang operasi penyalinan. Misalnya, berikut adalah output untuk operasi yang sedang berlangsung:
done: false
metadata:
`@type`: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
progress: 75
destination: storage.googleapis.com/my-storage-bucket-1
source: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
verb: copy
startTime: `2023-05-23T10:52:40.039751Z`
state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
</pre>
Membatalkan operasi penyalinan
Anda dapat membatalkan operasi penyalinan yang sedang berlangsung. Jika Anda membatalkan operasi penyalinan, semua entri log yang disalin sebelum operasi dibatalkan akan tetap berada di bucket Cloud Storage.
Setelah membatalkan operasi penyalinan, Logging akan menyelesaikan semua proses yang sedang berlangsung sebelum pembatalan menyelesaikan pembatalan. Hal ini dapat menyebabkan beberapa entri log masih disalin ke Cloud Storage setelah Anda membatalkan operasi.
Untuk membatalkan operasi penyalinan, jalankan perintah berikut:
gcloud logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
Sebelum Anda menjalankan perintah sebelumnya, lakukan hal berikut:
- Ganti OPERATION_ID dengan ID operasi.
- Ganti LOCATION dengan lokasi bucket log tempat Anda menyalin log.
- Ganti PROJECT_ID dengan ID project Google Cloud Anda.
Lihat log di Cloud Storage
Untuk melihat dan memahami log yang Anda salin ke Cloud Storage, baca bagian Melihat log yang dirutekan ke Cloud Storage.
Kuota dan batas
Semua operasi penyalinan memerlukan waktu setidaknya satu jam untuk diselesaikan, berapa pun jumlah data yang disalin.
Untuk menyalin volume besar—misalnya, petabyte—bagi penyalinan
di beberapa operasi penyalinan menggunakan kolom timestamp
pada
flag --filter
.
Harga
Cloud Logging tidak mengenakan biaya untuk merutekan log ke tujuan yang didukung; tetapi tujuan tersebut mungkin dikenai biaya.
Dengan pengecualian bucket log _Required
, Cloud Logging mengenakan biaya untuk mengalirkan log ke dalam bucket log dan untuk penyimpanan yang lebih lama dari periode retensi default bucket log.
Cloud Logging tidak mengenakan biaya untuk menyalin log, atau untuk kueri yang dikeluarkan melalui halaman Logs Explorer atau melalui halaman Log Analytics.
Untuk informasi selengkapnya, baca dokumen berikut:
- Ringkasan harga Cloud Logging
Biaya tujuan:
- Biaya pembuatan log alur VPC berlaku saat Anda mengirim, lalu mengecualikan log aliran Virtual Private Cloud Anda dari Cloud Logging.