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 dilihat atau dianalisis secara efisien. Jika Anda hanya ingin melihat dan menganalisis entri log yang berasal dari project, folder, atau organisasi, maka dokumen ini tidak ditujukan 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 cakupan log 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 yang bernama _Default.

Anda menggunakan cakupan log untuk mengontrol resource mana yang ditelusuri oleh halaman Logs Explorer untuk 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 App Hub dan cakupan log

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

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Untuk mendapatkan izin yang Anda perlukan untuk membuat dan melihat cakupan log, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

    Untuk mengetahui informasi selengkapnya tentang pemberian 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 menetapkan cakupan log default: observability.scopes.{get, update}
    • 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.

  4. Select the tab for how you plan to use the samples on this page:

    gcloud

    Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

    Terraform

    Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Install the Google Cloud CLI.

    2. Konfigurasi gcloud CLI untuk menggunakan identitas gabungan Anda.

      Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.

    3. Create local authentication credentials for your user account:

      gcloud auth application-default login

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Trusted Cloud .

    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 mengetahui 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 mengetahui 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