Mengonfigurasi cakupan kemampuan observasi untuk kueri multi-project

Dokumen ini menjelaskan cara membuat diagram atau melihat data log saat data tersebut disimpan di beberapa project. Secara default, hanya data yang berasal dari project yang tersedia untuk alat visualisasi. Namun, jika Anda mengonfigurasi cakupan, alat visualisasi dan analisis dapat mengkueri data yang disimpan di beberapa project.

Jika Anda hanya ingin memantau atau melihat data yang disimpan dalam satu projectGoogle Cloud , Anda tidak perlu melakukan konfigurasi apa pun.

Cakupan menyediakan agregasi waktu baca

Cakupan memungkinkan alat visualisasi dan analisis melakukan agregasi waktu baca data yang disimpan di beberapa lokasi. Cakupan tidak mengontrol tempat penyimpanan data. Sebagai gantinya, mesin kueri mengandalkan cakupan untuk menentukan tempat penelusuran data.

Data metrik dan trace selalu disimpan di project Google Cloud tempat data berasal. Untuk melihat data metrik yang disimpan di beberapa project dalam satu diagram, konfigurasikan cakupan metrik untuk mencantumkan project tersebut. Setelah Anda mengonfigurasi cakupan ini, saat Anda membuat diagram atau kebijakan pemberitahuan, kueri yang dikeluarkan oleh layanan ini akan otomatis menampilkan data metrik dari project yang tercantum. Perilaku ini mirip untuk data trace.

Secara default, data log disimpan di project, akun penagihan, folder, atau organisasi Google Cloud tempat data berasal. Namun, Anda dapat mengonfigurasi Logging untuk merutekan data log dari resource asalnya ke lokasi lain, seperti project lain atau bucket log terpusat. Dalam semua kasus, konfigurasikan cakupan log kustom. Sebaiknya cakupan log Anda mencantumkan tampilan log, bukan project; tampilan log memberikan akses baca ke subset entri log dalam bucket log. Misalnya, jika Anda memiliki data log yang disimpan di tiga project, Anda dapat mengonfigurasi tampilan log untuk menyertakan tampilan _Default/_AllLogs untuk setiap project tersebut.

Cara cakupan digunakan oleh Google Cloud Observability

Alat analisis dan visualisasi Google Cloud Observability mengandalkan cakupan khusus jenis data untuk menentukan resource yang akan dikueri untuk data yang akan ditampilkan atau dianalisis oleh alat tersebut.

Contoh:

  • Saat halaman Logs Explorer terbuka, sistem akan mengkueri resource yang tercantum dalam cakupan log default untuk data log. Setelah halaman ini terbuka, Anda dapat menggunakan opsi toolbar untuk mengkueri resource dalam cakupan yang berbeda.
  • Saat halaman Trace Explorer terbuka, sistem akan mengkueri project yang tercantum dalam cakupan trace default untuk data trace. Setelah halaman ini terbuka, Anda dapat menggunakan opsi toolbar untuk mengkueri resource dalam cakupan yang berbeda.
  • Saat Anda membuat kebijakan pemberitahuan, Monitoring akan mengkueri project yang tercantum dalam cakupan metrik untuk data metrik. Kemudian, alat ini akan menganalisis respons kueri dan menentukan apakah akan membuat pemberitahuan.
  • Saat membuat diagram menggunakan halaman Metrics Explorer, Anda menentukan metrik yang akan dibuat diagramnya. Monitoring mengkueri project yang tercantum dalam cakupan metrik untuk data metrik, lalu menampilkan hasil kueri.

Logging dan Trace memverifikasi peran Identity and Access Management (IAM) Anda pada resource sebelum kueri menampilkan data. Misalnya, jika cakupan log menentukan project yang izinnya belum Anda miliki untuk membaca data log, kueri ke project tersebut tidak akan menampilkan data.

Monitoring memverifikasi peran IAM Anda di project tempat kueri dikeluarkan. Misalkan cakupan metrik untuk project bernama AllEnv mencantumkan project berikut: AllEnv, Prod, dan Staging. Selain itu, asumsikan bahwa Anda telah diberi peran Monitoring Viewer di project AllEnv. Diagram yang Anda buat dengan halaman Metrics Explorer saat menggunakan project AllEnv akan otomatis menampilkan data metrik untuk ketiga project tersebut.

Cakupan Google Cloud Observability

Bagian ini menjelaskan cakupan yang digunakan oleh Google Cloud Observability.

Cakupan kemampuan observasi

Cakupan kemampuan observasi menentukan cakupan log default dan cakupan trace default. Halaman seperti Logs Explorer dan Trace Explorer menggunakan cakupan default untuk menentukan resource yang akan dikueri, saat halaman terbuka. Misalnya, Anda memiliki aplikasi yang menghasilkan data trace di tiga project. Anda dapat mengonfigurasi halaman Trace Explorer untuk otomatis mengkueri ketiga project tersebut dengan menetapkan cakupan trace default.

Jika Anda tidak mengonfigurasi cakupan kemampuan observasi, hal berikut akan terjadi:

  • Halaman Logs Explorer mengkueri project Anda untuk mendapatkan data log.
  • Halaman Trace Explorer mengkueri project Anda untuk mendapatkan data trace.

Cakupan kemampuan observasi tidak berlaku untuk data metrik.

Kapan harus mengonfigurasi cakupan kemampuan observasi

Konfigurasikan cakupan kemampuan observasi dalam skenario berikut:

  • Anda membuat cakupan log kustom dan ingin resource yang tercantum dalam cakupan tersebut dikueri secara default.

  • Anda membuat cakupan trace kustom dan ingin project yang tercantum dalam cakupan tersebut dikueri secara default.

Batas yang terkait dengan cakupan kemampuan observasi

Deskripsi Nilai maksimum
Jumlah cakupan kemampuan observasi per project 1

Cakupan log

Cakupan log digunakan oleh halaman Logs Explorer dan oleh dasbor yang menampilkan data log:

  • Saat halaman Logs Explorer terbuka, sistem akan otomatis mengkueri resource yang tercantum dalam cakupan log default untuk data log. Halaman ini juga menyediakan kontrol yang memungkinkan Anda beralih antar-cakupan.

  • Untuk dasbor, implementasi menentukan apakah sistem mengkueri project atau resource yang tercantum dalam cakupan log default.

Cakupan log dapat mencantumkan tampilan log, project, folder, dan organisasi.

Jika Anda tidak mengonfigurasi cakupan log kustom, halaman Logs Explorer akan mengkueri project Anda untuk mendapatkan data log.

Kapan harus membuat cakupan log kustom

Buat cakupan log kustom untuk konfigurasi berikut:

Dalam semua kasus, konfigurasikan cakupan log kustom Anda untuk mencantumkan satu atau beberapa tampilan log. Tampilan log tersebut mungkin berada di bucket log terpusat, atau mungkin berupa tampilan log di bucket log yang berbeda. Jika menggunakan bucket log terpusat, Anda dapat membuat beberapa cakupan log kustom, masing-masing dengan kumpulan tampilan log-nya sendiri.

Jika Anda membuat cakupan log kustom, pertimbangkan untuk memperbarui cakupan log default.

Praktik terbaik saat mengonfigurasi cakupan log

  • Hanya sertakan tampilan log.
  • Jangan mengonfigurasi cakupan yang mencantumkan project dan tampilan log.

Batasan yang terkait dengan cakupan log

Deskripsi Nilai maksimum
Jumlah cakupan log per project 100
Jumlah project per cakupan log 5
Jumlah tampilan log atau project per cakupan log 100

Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola cakupan log.

Cakupan metrik

Cakupan metrik digunakan oleh semua kueri yang dikeluarkan oleh Cloud Monitoring. Misalnya, kebijakan pemberitahuan dan alat diagram seperti Metrics Explorer mengeluarkan kueri ke project yang tercantum dalam cakupan metrik.

Jika Anda tidak mengonfigurasi cakupan metrik, layanan Monitoring akan mengkueri project Anda untuk mendapatkan data metrik.

Kapan harus mengonfigurasi cakupan metrik

Konfigurasikan cakupan metrik jika salah satu kondisi berikut terpenuhi:

  • Anda ingin membuat diagram data yang disimpan di berbagai project.
  • Anda menginginkan kebijakan pemberitahuan untuk memantau data yang disimpan di berbagai project.
  • Anda mendaftarkan aplikasi dengan App Hub. Untuk mengetahui informasi tentang skenario ini, lihat Aplikasi dan cakupan metrik App Hub.

Batas yang terkait dengan cakupan metrik

Deskripsi Nilai maksimum
Jumlah cakupan metrik per project 1
Jumlah project per cakupan metrik 375

Untuk mengetahui informasi selengkapnya, lihat Ringkasan cakupan metrik.

Cakupan rekaman aktivitas

Halaman Trace Explorer menggunakan cakupan Trace. Saat halaman ini dibuka, sistem akan otomatis mengkueri tampilan yang tercantum dalam cakupan trace default untuk data trace. Halaman ini juga menyediakan kontrol yang memungkinkan Anda beralih antar-cakupan.

Jika Anda tidak mengonfigurasi cakupan trace kustom, halaman Trace Explorer akan mengkueri tampilan _AllSpans project pada set data default untuk data trace Anda.

Cakupan trace mencantumkan tampilan, bukan Google Cloud project. Meskipun Anda memilih project saat mengonfigurasi cakupan trace, sistem akan menambahkan tampilan trace default project tersebut ke cakupan. Tampilan trace default project sesuai dengan tampilan dengan jalur _Trace/Spans/_AllSpans, dengan kolom _Trace, Spans, dan _AllSpans mengacu pada bucket, set data, dan tampilan kemampuan observasi. Set data Spans menyimpan data trace Anda.

Kapan harus membuat cakupan trace kustom

Buat cakupan trace kustom jika Anda memiliki aplikasi yang mengandalkan resource di berbagai project Google Cloud .

Praktik terbaik saat mengonfigurasi cakupan trace

Batas yang terkait dengan cakupan trace

Deskripsi Nilai maksimum
Jumlah cakupan trace per project 100
Jumlah tampilan per cakupan trace 20

Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola cakupan trace.

Mengonfigurasi cakupan kemampuan observasi

Bagian ini tidak berlaku untuk folder atau organisasi.

Untuk data log dan trace, peran Identity and Access Management (IAM) Anda pada project yang Anda lihat, serta project dan tampilan log yang ditelusuri, akan memengaruhi data yang ditampilkan oleh kueri. Jika Anda mengeluarkan kueri untuk melihat data log yang tidak boleh Anda lihat, kueri tersebut tidak akan menampilkan data log apa pun.

Untuk data metrik, saat cakupan metrik project dikonfigurasi, project tersebut akan diberi akses baca ke data metrik yang disimpan oleh project yang tercantum dalam cakupan metriknya. Jika pengguna diberi peran Identity and Access Management yang memungkinkan mereka melihat data metrik dalam project, mereka dapat melihat data metrik yang tersedia untuk project tersebut.

Untuk mengonfigurasi cakupan kemampuan observasi, Anda menetapkan cakupan log default dan cakupan trace default. Bagian selanjutnya menjelaskan cara menyelesaikan tindakan ini.

Sebelum memulai

Konfigurasikan project, peran IAM, dan pilih antarmuka yang ingin Anda gunakan.

Mengonfigurasi project dan peran Anda

  1. In the Google Cloud console, on the project selector page, select or create a Google 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 role (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 Google Cloud project.

  3. Enable the Observability API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

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

    • Untuk membuat dan melihat cakupan log serta mendapatkan cakupan log default: Logs Configuration Writer (roles/logging.configWriter) di project Anda
    • Untuk mengubah cakupan metrik: Monitoring Admin (roles/monitoring.admin) pada project Anda dan pada setiap project yang ingin Anda tambahkan ke cakupan metrik
    • Untuk membuat dan melihat cakupan trace, serta mendapatkan dan menetapkan cakupan default: Observability Scopes Editor (roles/observability.scopesEditor) di project Anda

    Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat dan melihat cakupan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk membuat dan melihat cakupan:

    • logging.logScopes.{create, delete, get, list, update}
    • monitoring.metricsscopes.{link, get, list}
    • observability.traceScopes.{create, delete, get, list, update}
    • observability.scopes.{get, update}

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

Pilih antarmuka yang ingin Anda gunakan

Konsol

Saat menggunakan konsol Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.

gcloud

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

gcloud init

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan 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 Google Cloud .

Melihat dan menetapkan cakupan default

Konsol

Untuk mengonfigurasi cakupan kemampuan observasi, Anda mengonfigurasi komponennya, yaitu cakupan log default, cakupan metrik, dan cakupan trace default:

  1. Di konsol Google Cloud , buka halaman  Settings:

    Buka Setelan

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
  3. Konfigurasikan cakupan log default:

    1. Pilih tab Cakupan Log.

      Cakupan log yang ada akan dicantumkan. Entri dengan ikon "Default", , adalah cakupan log default. Jika Anda ingin membuat cakupan log, klik Create log scope, lalu selesaikan dialog. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola cakupan log.

    2. Temukan entri yang ingin Anda tetapkan sebagai default, klik  More, lalu pilih Set as default.

  4. Konfigurasikan cakupan metrik:

    1. Pilih tab Cakupan metrik.
    2. Di panel project cloud Google Cloud, klik Tambahkan Project, lalu lengkapi dialog. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi cakupan metrik.
  5. Konfigurasikan cakupan trace default:

    1. Pilih tab Trace Scopes, lalu lakukan hal berikut:

      Cakupan trace yang ada akan dicantumkan. Entri dengan ikon "Default", , adalah cakupan trace default. Jika Anda ingin membuat cakupan trace, klik Create log scope, lalu selesaikan dialog. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola cakupan trace.

    2. Temukan entri yang ingin Anda tetapkan sebagai default, klik  More, lalu pilih Set as default.

gcloud

Untuk melihat dan memperbarui cakupan kemampuan observasi, lakukan hal berikut:

  1. Untuk melihat setelan cakupan kemampuan observasi, jalankan perintah gcloud observability scopes describe.

    Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

    • OBSERVABILITY_SCOPE_ID: Nama objek Scope. Nilai ini harus ditetapkan ke _Default.
    • LOCATION: Kolom lokasi harus ditetapkan ke global.
    • PROJECT_ID: ID project.

    Jalankan perintah gcloud observability scopes describe:

    Linux, macOS, atau Cloud Shell

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID \
       --location=LOCATION\
       --project=PROJECT_ID

    Windows (PowerShell)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID `
       --location=LOCATION`
       --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ^
       --location=LOCATION^
       --project=PROJECT_ID

    Respons terhadap perintah tersebut mirip dengan berikut ini:

    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default
    traceScope: projects/my-project/locations/global/traceScopes/_Default
    name: projects/my-project/locations/global/scopes/_Default
    
  2. Untuk memperbarui cakupan kemampuan observasi, jalankan perintah gcloud observability scopes update. Dalam perintah update, Anda dapat menyertakan flag --log-scope, flag --trace-scope, atau kedua flag tersebut.

    Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

    • OBSERVABILITY_SCOPE_ID: Nama objek Scope. Nilai ini harus ditetapkan ke _Default.
    • LOG_SCOPE_FQN_ID: Nama resource yang sepenuhnya memenuhi syarat dari cakupan log. Kolom ini memiliki format berikut:
      logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/logScopes/LOG_SCOPE_ID

      Dalam ekspresi sebelumnya, LOG_SCOPE_ID adalah ID cakupan log. Contoh, my-scope.

    • TRACE_SCOPE_FQN_ID: Nama resource yang sepenuhnya memenuhi syarat dari cakupan trace. Kolom ini memiliki format berikut:
      projects/PROJECT_ID/locations/LOCATION/traceScopes/TRACE_SCOPE_NAME

      Dalam ekspresi sebelumnya, TRACE_SCOPE_NAME adalah nama cakupan trace. Contoh, my-trace-scope.

    • LOCATION: Kolom lokasi harus ditetapkan ke global.
    • PROJECT_ID: ID project.

    Jalankan perintah gcloud observability scopes update:

    Linux, macOS, atau Cloud Shell

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID \
       --log-scope=LOG_SCOPE_FQN_ID\
       --trace-scope=TRACE_SCOPE_FQN_ID\
       --location=LOCATION\
       --project=PROJECT_ID

    Windows (PowerShell)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID `
       --log-scope=LOG_SCOPE_FQN_ID`
       --trace-scope=TRACE_SCOPE_FQN_ID`
       --location=LOCATION`
       --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID ^
       --log-scope=LOG_SCOPE_FQN_ID^
       --trace-scope=TRACE_SCOPE_FQN_ID^
       --location=LOCATION^
       --project=PROJECT_ID

    Misalnya, jika nilai LOG_SCOPE_ID adalah my-log-scope, dan nilai TRACE_SCOPE_NAME adalah my-trace-scope, responsnya akan mirip dengan berikut ini:

    Updated scope [_Default].
    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-log-scope
    traceScope: projects/my-project/locations/global/traceScopes/my-trace-scope
    name: projects/my-project/locations/global/scopes/_Default
    

REST

Untuk mendapatkan dan menetapkan cakupan log default atau cakupan trace default menggunakan panggilan API, Anda harus mengonfigurasi cakupan kemampuan observasi. Cakupan kemampuan observasi mencantumkan cakupan log default dan cakupan trace default:

  • Untuk mendapatkan cakupan kemampuan observasi default untuk sebuah project, kirim permintaan ke endpoint projects.locations.scopes.get. Anda harus menentukan parameter jalur. Responsnya adalah objek Scope, yang mencantumkan cakupan log default dan cakupan trace default.
  • Untuk memperbarui cakupan kemampuan observasi default untuk sebuah project, kirim permintaan ke endpoint projects.locations.scopes.patch. Anda harus menentukan parameter jalur, parameter kueri, dan memberikan objek Scope. Parameter kueri mengidentifikasi kolom mana yang diubah. Responsnya adalah objek Scope.

Parameter jalur untuk kedua endpoint memiliki format berikut:

projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID

Kolom dalam ekspresi sebelumnya memiliki arti berikut:

  • PROJECT_ID: ID project. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
  • LOCATION: Kolom lokasi harus ditetapkan ke global.
  • OBSERVABILITY_SCOPE_ID: Nama objek Scope. Kolom ini harus ditetapkan ke _Default. Objek Scope dengan nama _Default, yang dibuat secara otomatis, menyimpan informasi tentang cakupan log default dan cakupan trace default.

Untuk mengirim perintah ke endpoint API, Anda dapat menggunakan APIs Explorer, yang memungkinkan Anda mengeluarkan perintah dari halaman referensi. Misalnya, untuk mendapatkan cakupan default saat ini, Anda dapat melakukan hal berikut:

  1. Klik projects.locations.scopes.get.
  2. Di widget Try this method, masukkan kode berikut di kolom name:
        projects/PROJECT_ID/locations/global/scopes/_Default
        

    Sebelum menyalin kolom sebelumnya, ganti PROJECT_ID dengan nama project Anda.

  3. Pilih Execute.
  4. Dalam dialog otorisasi, selesaikan langkah-langkah yang diperlukan.

    Responsnya mirip dengan hal berikut ini:

        {
        "name": "projects/my-project/locations/global/scopes/_Default",
        "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default"
        "traceScope": "projects/my-project/locations/global/traceScopes/_Default"
        }
        

Pelajari lebih lanjut tentang cakupan

Untuk mengetahui informasi selengkapnya tentang cakupan, lihat dokumen berikut: