Membuat dan mengelola cakupan log

Dokumen ini menjelaskan cara membuat dan mengelola cakupan log, yang dapat Anda gunakan untuk membantu Anda menemukan entri log yang ingin Anda lihat atau analisis secara efisien. Jika Anda hanya ingin melihat dan menganalisis entri log yang berasal dari project, folder, atau organisasi, maka dokumen ini bukan untuk Anda. Namun, jika Anda mengandalkan sink log untuk merutekan log ke project lain atau ke bucket log yang ditentukan pengguna, atau jika Anda menggunakan tampilan log, informasi dalam dokumen ini dapat membantu Anda menemukan entri log tertentu secara efisien.

Dokumen ini tidak menjelaskan cara melihat log Anda. Untuk mengetahui informasi tentang topik tersebut, lihat Melihat log menggunakan Logs Explorer.

Tentang cakupan log

Cakupan log adalah resource tingkat project yang persisten dan mencantumkan serangkaian resource. Resource ini dapat berupa project, folder, organisasi, dan tampilan log. Misalnya, Anda dapat menentukan cakupan log yang mencantumkan project yang berisi resource yang digunakan untuk produksi, atau yang mencantumkan tampilan log yang menyertakan entri log untuk jenis resource tertentu.

Saat Anda membuat resource project, folder, atau organisasi, Logging akan membuat cakupan log bernama _Default. Trusted Cloud Cakupan ini mencakup project, folder, atau organisasi yang dibuat. Jika resource yang ditelusuri adalah Trusted Cloud project, folder, atau organisasi, hasil penelusuran mencakup entri log yang berasal dari resource tersebut dan kemudian disimpan dalam bucket log. Bucket log dapat berada di project mana pun. Saat project ditelusuri, hasilnya juga mencakup entri log yang dirutekan ke project oleh sink di project lain, lalu disimpan dalam bucket log.

Anda dapat membuat cakupan log. Anda juga dapat mengedit dan menghapus cakupan log yang Anda buat. Namun, Anda tidak dapat mengedit atau menghapus cakupan log bernama _Default.

Anda menggunakan cakupan log untuk mengontrol resource mana yang dicari oleh halaman Logs Explorer untuk menemukan data log. Saat Anda membuka halaman tersebut dan memilih cakupan log, halaman akan menelusuri resource yang tercantum dalam cakupan tersebut, lalu memuat ulang tampilan.

Untuk project, cakupan log default menentukan kumpulan resource yang ditelusuri halaman Logs Explorer saat dibuka. Namun, peran Identity and Access Management (IAM) Anda pada resource yang ditelusuri dan setelan rentang waktu menentukan entri log mana yang diambil dari penyimpanan. Saat project dibuat, cakupan log bernama _Default ditetapkan sebagai cakupan log default.

Perbedaan cakupan log dengan penyimpanan log terpusat

Penyimpanan log terpusat dan cakupan log memberi Anda cara untuk melihat data log yang berasal dari project yang berbeda.

Saat memusatkan penyimpanan log, Anda mengonfigurasi sink di organisasi atau folder untuk merutekan entri log ke satu lokasi penyimpanan. Penyimpanan terpusat menyediakan satu tempat untuk membuat kueri data log, yang menyederhanakan kueri Anda saat Anda menelusuri tren atau menyelidiki masalah. Dari perspektif keamanan, Anda juga memiliki satu lokasi penyimpanan, yang menyederhanakan tugas analis keamanan Anda.

Saat kueri dikeluarkan ke resource yang tercantum dalam cakupan log, hasil kueri individual akan digabungkan. Cakupan log memfasilitasi agregasi data log secara real-time yang mungkin disimpan di lokasi yang berbeda. Namun, cakupan log juga dapat digunakan untuk memberikan akses baca ke satu atau beberapa tampilan log di bucket log terpusat.

Saat halaman Logs Explorer terbuka, halaman tersebut akan mengirimkan kueri ke resource yang tercantum dalam cakupan log default. Oleh karena itu, konfigurasi cakupan default agar halaman menampilkan data yang biasanya ingin Anda lihat. Misalnya, Anda dapat menyetel cakupan log default untuk mencantumkan tampilan log, yang saat dikueri, akan menampilkan data log untuk aplikasi App Hub.

Praktik terbaik

Karena cakupan log memungkinkan Anda menentukan dan menyimpan konfigurasi untuk digunakan di masa mendatang, sebaiknya buat cakupan log untuk konfigurasi penelusuran yang kompleks.

Misalnya, Anda sedang memecahkan masalah dan ingin melihat entri log untuk semua instance virtual machine (VM) yang dimiliki oleh tim Anda. Untuk menyelesaikan tugas ini, Anda dapat melakukan hal berikut:

  1. Anda menentukan bahwa entri log yang ingin Anda lihat disimpan di beberapa bucket log dan di beberapa project. Untuk sebagian besar bucket log, ada tampilan log yang menyertakan entri log yang ingin Anda analisis. Jika tampilan log tidak ada, Anda dapat membuatnya.

  2. Anda memutuskan untuk membuat cakupan log karena Anda memperkirakan akan ada tugas pemecahan masalah serupa di masa mendatang.

  3. Anda membuka halaman Logs Explorer di konsol Trusted Cloud , lalu menggunakan menu Persempit cakupan untuk memilih cakupan log baru.

  4. Anda meninjau entri log dan menemukan informasi yang diperlukan untuk menyelesaikan masalah yang sedang Anda selidiki.

  5. Setelah mengatasi masalah, Anda dapat membagikan penyebab kegagalan kepada rekan kerja. Anda juga menyatakan bahwa Anda memperkirakan akan melihat kegagalan serupa di masa mendatang, jadi Anda membuat cakupan log yang akan memungkinkan Anda, atau siapa pun yang menyelidiki kegagalan tersebut, menemukan entri log yang relevan dengan cepat.

Aplikasi dan cakupan log App Hub

Aplikasi App Hub Anda dapat menulis data log ke beberapa project. Data log Anda mungkin disimpan di project tempat data tersebut berasal, atau administrator organisasi mungkin telah mengonfigurasi penyimpanan terpusat. Untuk melihat data log aplikasi, buat cakupan log, konfigurasikan cakupan tersebut untuk mencantumkan project atau tampilan log yang menyimpan data log aplikasi Anda, lalu konfigurasikan cakupan tersebut sebagai cakupan log default. Setelah Anda menyelesaikan langkah-langkah tersebut, halaman Logs Explorer akan otomatis menampilkan data yang ditulis oleh aplikasi Anda, meskipun data tersebut disimpan di project yang berbeda atau di bucket log terpusat.

Buat cakupan log kustom di project tempat Anda akan melihat data log. Project ini adalah project host App Hub Anda atau project pengelolaan folder yang mendukung aplikasi. Misalnya, jika nama tampilan folder adalah My Folder, maka nama tampilan project pengelolaan adalah My Folder-mp.

Batasan

  • Anda tidak dapat menghapus atau mengubah cakupan log bernama _Default.
  • Hanya project Trusted Cloud yang mendukung cakupan log default.
  • Anda tidak dapat menambahkan folder atau organisasi ke cakupan log yang ditentukan pengguna.
  • Cakupan log dibuat di lokasi global.

Sebelum memulai

  • Untuk mendapatkan izin yang diperlukan guna membuat dan melihat cakupan log, minta administrator untuk memberi Anda peran IAM Logs Configuration Writer (roles/logging.configWriter) di project, folder, atau organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin yang diperlukan untuk membuat dan melihat cakupan log. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk membuat dan melihat cakupan log:

    • Untuk membuat dan mengelola cakupan log: logging.logScopes.{create, delete, get, list, update}

    Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mencantumkan cakupan log

gcloud

Untuk mencantumkan cakupan log dalam project, gunakan perintah gcloud logging scopes list:

 gcloud logging scopes list --project=PROJECT_ID

Sebelum menjalankan perintah, perbarui kolom berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.

Untuk mendapatkan detail cakupan log dalam project, gunakan perintah gcloud logging scopes describe:

 gcloud logging scopes describe LOG_SCOPE_ID --project=PROJECT_ID

Sebelum menjalankan perintah, perbarui kolom berikut:

  • PROJECT_ID: ID project.
  • LOG_SCOPE_ID: ID cakupan log. Contoh, my-scope.

Terraform

Anda dapat menggunakan Terraform untuk membuat dan mengubah cakupan log. Namun, Anda tidak dapat menggunakan Terraform untuk mencantumkan cakupan log.

REST

Cloud Logging API berisi perintah yang mencantumkan cakupan log dalam resource, atau yang melaporkan detail cakupan log tertentu. Untuk daftar lengkap perintah, lihat dokumentasi referensi API.

Untuk project Trusted Cloud , gunakan perintah berikut:

Dalam perintah sebelumnya, kolom parent memiliki sintaksis berikut:

projects/PROJECT_ID/locations/LOCATION_ID

Kolom dalam ekspresi sebelumnya memiliki arti berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOCATION_ID harus disetel ke global.

Membuat cakupan log

Anda dapat membuat 100 cakupan log per project. Cakupan log dapat mencakup total 100 tampilan log dan project; namun, cakupan log hanya dapat mencakup 5 project. Anda tidak dapat menambahkan folder atau organisasi ke cakupan log.

gcloud

Untuk membuat cakupan log dalam project, gunakan perintah gcloud logging scopes create:

 gcloud logging scopes create LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Sebelum menjalankan perintah, perbarui kolom berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOG_SCOPE_ID: ID cakupan log. Contoh, my-scope.
  • DESCRIPTION: Opsional. Deskripsi cakupan log. Format deskripsi sebagai string.

  • RESOURCE_NAMES: Daftar yang dipisahkan koma untuk nama project atau tampilan log yang memenuhi syarat sepenuhnya. Misalnya, untuk menyertakan my-project dalam cakupan log, tentukan projects/my-project.

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.

Untuk membuat cakupan log dalam project, folder, atau organisasi menggunakan Terraform, gunakan resource Terraform google_logging_log_scope.

Dalam perintah, tetapkan kolom berikut:

  • parent: Nama project, folder, atau organisasi Anda yang sepenuhnya memenuhi syarat. Misalnya, Anda dapat menyetel kolom ini ke "projects/PROJECT_ID", dengan PROJECT_ID adalah ID project Trusted Cloud Anda. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • Tetapkan locations ke "global".
  • name: Disetel ke nama cakupan log yang sepenuhnya memenuhi syarat. Untuk project, format kolom ini adalah:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE_ID"
    

    Dalam ekspresi sebelumnya, LOG_SCOPE_ID adalah nama cakupan log, seperti "production".

  • resource_names: Array project dan tampilan log, dengan setiap project dan tampilan log ditentukan menggunakan nama yang sepenuhnya memenuhi syarat.

  • description: Deskripsi singkat. Misalnya, "Cakupan untuk resource produksi".

REST

Cloud Logging API juga mendukung pembuatan cakupan log di folder atau organisasi. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API.

Untuk project Trusted Cloud , gunakan perintah berikut:

Dalam perintah sebelumnya, kolom parent memiliki sintaksis berikut:

projects/PROJECT_ID/locations/LOCATION_ID

Kolom dalam ekspresi sebelumnya memiliki arti berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOCATION_ID harus disetel ke global.

Mengubah atau menghapus cakupan log

gcloud

Untuk mengubah deskripsi daftar resource dalam cakupan log di project, gunakan perintah gcloud logging scopes update:

 gcloud logging scopes update LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Sebelum menjalankan perintah, perbarui kolom berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOG_SCOPE_ID: ID cakupan log. Contoh, my-scope.
  • DESCRIPTION: Deskripsi cakupan log. Format deskripsi sebagai string. Jangan sertakan kolom ini jika Anda tidak ingin mengubah deskripsi cakupan log.

  • RESOURCE_NAMES: Daftar yang dipisahkan koma untuk nama project atau tampilan log yang memenuhi syarat sepenuhnya. Jangan sertakan kolom ini jika Anda tidak ingin mengubah daftar resource.

Untuk menghapus cakupan log dalam project, gunakan perintah gcloud logging scopes delete:

 gcloud logging scopes delete LOG_SCOPE_ID --project=PROJECT_ID

Sebelum menjalankan perintah, perbarui kolom berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOG_SCOPE_ID: ID cakupan log. Contoh, my-scope.

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.

Untuk mengubah cakupan log dalam project, folder, atau organisasi menggunakan Terraform, gunakan resource Terraform google_logging_log_scope.

REST

Cloud Logging API berisi perintah yang dapat mengubah atau menghapus cakupan log. Untuk daftar lengkap perintah, lihat dokumentasi referensi API.

Untuk project Trusted Cloud , gunakan perintah berikut:

Dalam perintah sebelumnya, kolom parent memiliki sintaksis berikut:

projects/PROJECT_ID/locations/LOCATION_ID/logScopes/LOG_SCOPE_ID

Kolom dalam ekspresi sebelumnya memiliki arti berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  • LOCATION_ID harus disetel ke global.
  • LOG_SCOPE_ID: ID cakupan log. Contoh, my-scope.

Langkah berikutnya