Membuat kueri dan menganalisis log dengan Observability Analytics

Dokumen ini menjelaskan cara membuat kueri dan menganalisis data log menggunakan Observability Analytics, yang menyediakan antarmuka kueri berbasis SQL. Dengan menggunakan SQL, Anda dapat melakukan tugas seperti menghitung entri log dengan kolom yang cocok dengan pola. Observability Analytics menyediakan editor SQL dan sistem berbasis menu untuk membuat kueri. Untuk melihat hasil kueri, Anda dapat menggunakan bentuk tabel, atau memvisualisasikan data sebagai diagram. Anda dapat menyimpan diagram ke dasbor kustom.

Anda dapat mengkueri tampilan log di bucket log atau tampilan analisis. Saat Anda membuat kueri tampilan log, skemanya sesuai dengan struktur data LogEntry. Karena pembuat tampilan analisis menentukan skema, salah satu kasus penggunaan untuk tampilan analisis adalah mengubah data log dari format LogEntry menjadi format yang lebih sesuai untuk Anda.

Anda juga dapat menggunakan Observability Analytics untuk mengkueri data trace. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri dan menganalisis trace.

Observability Analytics tidak menghapus duplikat entri log, yang dapat memengaruhi cara Anda menulis kueri. Selain itu, ada beberapa batasan saat menggunakan Observability Analytics. Untuk mengetahui informasi selengkapnya tentang topik ini, lihat dokumen berikut:

Tentang set data BigQuery tertaut

Anda tidak memerlukan set data BigQuery tertaut saat ingin mengkueri data log, atau mengkueri data log dan trace. Untuk skenario tersebut, Anda dapat menggunakan halaman Observability Analytics. Anda juga dapat menyimpan dan membagikan kueri, serta menyimpan kueri ke dasbor kustom. Untuk mengetahui informasi tentang cara membuat kueri data trace, lihat Membuat kueri dan menganalisis trace.

Anda memerlukan set data BigQuery tertaut jika ingin melakukan salah satu hal berikut:

Jika Anda memilih untuk membuat set data BigQuery tertaut di bucket log, Anda akan memperluas batas keamanan data log untuk menyertakan layanan BigQuery. Artinya, layanan BigQuery kini dapat mengkueri data log Anda dengan mengeluarkan kueri ke set data BigQuery yang ditautkan. Sebelum membuat set data BigQuery tertaut, sebaiknya tinjau Keamanan data dengan Observability Analytics.

Sebelum memulai

Bagian ini menjelaskan langkah-langkah yang harus Anda selesaikan sebelum dapat menggunakan Observability Analytics.

Mengonfigurasi bucket log

Pastikan bucket log Anda telah diupgrade untuk menggunakan Observability Analytics:

  1. Di konsol Google Cloud , buka halaman Logs Storage:

    Buka Logs Storage

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

  2. Untuk setiap bucket log yang memiliki tampilan log yang ingin Anda kueri, pastikan kolom Observability Analytics available menampilkan Open. Jika Upgrade ditampilkan, klik Upgrade dan selesaikan dialog.

Mengonfigurasi peran dan izin IAM

Bagian ini menjelaskan peran atau izin IAM yang diperlukan untuk menggunakan Observability Analytics:

  • Untuk mendapatkan izin yang Anda perlukan untuk menggunakan Observability Analytics dan mengkueri tampilan log, minta administrator untuk memberi Anda peran IAM berikut di project Anda:

    • Untuk mengkueri bucket log _Required dan _Default: Logs Viewer (roles/logging.viewer)
    • Untuk mengkueri semua tampilan log dalam project: Logs View Accessor (roles/logging.viewAccessor)

    Anda dapat membatasi entitas ke tampilan log tertentu dengan menambahkan IAM Condition ke pemberian peran Logs View Accessor yang dibuat di level project, atau dengan menambahkan binding IAM ke file kebijakan tampilan log. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke tampilan log.

    Izin ini sama dengan izin yang Anda perlukan untuk melihat entri log di halaman Logs Explorer. Untuk mengetahui informasi tentang peran tambahan yang Anda perlukan untuk mengkueri tampilan di bucket yang ditentukan pengguna atau untuk mengkueri tampilan _AllLogs dari bucket log _Default, lihat Peran Cloud Logging.

  • Untuk mendapatkan izin yang diperlukan guna mengkueri tampilan analisis, minta administrator untuk memberi Anda peran IAM Observability Analytics User (roles/observability.analyticsUser) di project Anda.

Membuat kueri data log

Bagian ini menjelaskan pendekatan yang dapat Anda gunakan untuk mengkueri data log:

  • Memuat kueri yang ditentukan sistem, mengedit kueri ini, lalu menjalankan kueri.
  • Masukkan dan jalankan kueri kustom. Misalnya, Anda dapat menempelkan kueri yang Anda miliki atau menulisnya. Kueri kustom dapat menyertakan gabungan, kueri bertingkat, dan pernyataan SQL kompleks lainnya. Untuk contoh, lihat Contoh kueri SQL.
  • Membuat kueri dengan membuat pilihan menu, lalu menjalankan kueri tersebut. Observability Analytics mengonversi pilihan Anda menjadi kueri SQL, yang dapat Anda lihat dan edit.

Memuat, mengedit, dan menjalankan kueri yang ditentukan sistem

  1. Di konsol Google Cloud , buka halaman Observability Analytics:

    Buka Observability Analytics

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

  2. Di menu Views, buka bagian Logs atau Analytics Views, lalu pilih tampilan yang ingin Anda kueri.

    Untuk menemukan tampilan yang akan dikueri, gunakan panel Filter atau scroll daftar:

    • Tampilan log dicantumkan menurut BUCKET_ID.LOG_VIEW_ID, dengan kolom ini mengacu pada ID bucket log dan tampilan log.
    • Tampilan analisis dicantumkan berdasarkan LOCATION.ANALYTICS_VIEW_ID, dengan kolom ini mengacu pada lokasi dan ID tampilan analisis. Tampilan analisis tersedia dalam Pratinjau Publik.

  3. Lakukan salah satu hal berikut:

    • Untuk memuat kueri yang ditentukan sistem yang mengandalkan Query Builder, yang memungkinkan Anda menentukan kueri dengan pilihan menu, pastikan panel Query menampilkan Query Builder. Jika editor SQL ditampilkan, klik  Builder.

    • Untuk memuat kueri yang ditentukan sistem yang mengekstrak nilai JSON, pastikan panel Query menampilkan editor SQL. Jika panel ini menampilkan Pembuat Kueri, klik  SQL.

  4. Di panel Schema, pilih Query, lalu klik Overwrite.

    Panel Query menampilkan kueri yang ditentukan sistem. Jika Anda memilih mode Pembuat Kueri, tetapi ingin melihat kueri SQL, klik  SQL.

  5. Opsional: Ubah kueri.

  6. Untuk menjalankan kueri, buka toolbar dan pilih Run Query.

    Observability Analytics menampilkan hasil kueri dalam tabel. Namun, Anda dapat membuat diagram, dan Anda juga dapat menyimpan tabel atau diagram ke dasbor kustom. Untuk mengetahui informasi selengkapnya, lihat Membuat diagram hasil kueri SQL.

    Jika toolbar menampilkan Run in BigQuery, Anda harus mengalihkan Observability Analytics untuk menggunakan mesin kueri default. Untuk melakukan perubahan ini, di toolbar panel Query, klik Settings, lalu pilih Analytics (default).

Memasukkan dan menjalankan kueri kustom

Untuk memasukkan kueri SQL, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Observability Analytics:

    Buka Observability Analytics

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

  2. Di panel Query, klik  SQL.

    • Untuk menentukan rentang waktu, sebaiknya gunakan pemilih rentang waktu. Jika Anda menambahkan klausa WHERE yang menentukan kolom timestamp, nilai tersebut akan mengganti setelan di pemilih rentang waktu dan pemilih tersebut akan dinonaktifkan.

    • Untuk contoh, lihat Contoh kueri SQL.

    • Anda dapat membuat kueri tampilan log atau tampilan analisis. Gunakan format berikut untuk klausa FROM:

      • Tampilan log:
        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      • Tampilan Analytics:
        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`

      Kolom dalam ekspresi sebelumnya memiliki arti berikut:

      • PROJECT_ID: ID project.
      • LOCATION: Lokasi tampilan log atau tampilan analisis.
      • BUCKET_ID: Nama atau ID bucket log.
      • LOG_VIEW_ID: ID tampilan log, yang dibatasi hingga 100 karakter dan hanya boleh menyertakan huruf, angka, garis bawah, dan tanda hubung.
      • ANALYTICS_VIEW_ID: ID tampilan analisis, yang dibatasi hingga 100 karakter dan hanya boleh menyertakan huruf, angka, garis bawah, dan tanda hubung.

      Jika panel kueri menampilkan pesan error yang merujuk ke pernyataan FROM, tampilan tidak dapat ditemukan. Untuk mengetahui informasi tentang cara mengatasi kegagalan ini, lihat Error klausa FROM harus berisi tepat satu tampilan log.

  3. Untuk menjalankan kueri, buka toolbar dan pilih Run Query.

    Observability Analytics menampilkan hasil kueri dalam tabel. Namun, Anda dapat membuat diagram, dan Anda juga dapat menyimpan tabel atau diagram ke dasbor kustom. Untuk mengetahui informasi selengkapnya, lihat Membuat diagram hasil kueri SQL.

    Jika toolbar menampilkan Run in BigQuery, Anda harus mengalihkan Observability Analytics untuk menggunakan mesin kueri default. Untuk melakukan perubahan ini, di toolbar panel Query, klik Settings, lalu pilih Analytics (default).

Membuat, mengedit, dan menjalankan kueri

Antarmuka Query Builder memungkinkan Anda membuat kueri dengan membuat pilihan dari menu. Observability Analytics mengonversi pilihan Anda menjadi kueri SQL, yang dapat Anda lihat dan edit. Misalnya, Anda dapat memulai dengan menggunakan antarmuka Pembuat Kueri, lalu beralih ke editor SQL untuk menyaring kueri.

Observability Analytics selalu dapat mengonversi pilihan menu Anda dari antarmuka Pembuat Kueri menjadi kueri SQL. Namun, tidak semua kueri SQL dapat direpresentasikan oleh antarmuka Query Builder. Misalnya, kueri dengan gabungan tidak dapat direpresentasikan oleh antarmuka ini.

Untuk membuat kueri, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Observability Analytics:

    Buka Observability Analytics

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

  2. Jika panel Kueri menampilkan editor SQL, pilih Pembuat Kueri, yang akan membuka panel Pembuat Kueri.

  3. Gunakan menu Source untuk memilih tampilan yang ingin Anda kueri. Pilihan Anda dipetakan ke klausa FROM dalam kueri SQL.

  4. Opsional: Gunakan menu berikut untuk membatasi atau memformat tabel hasil:

    • Telusuri semua kolom: Telusuri string yang cocok. Pilihan Anda dipetakan ke klausa WHERE dalam kueri SQL.

    • Kolom: Pilih kolom yang muncul di tabel hasil. Pilihan Anda dipetakan ke klausa SELECT dalam kueri SQL.

      Saat Anda memilih nama kolom di menu ini, dialog akan terbuka. Dalam dialog ini, Anda dapat melakukan hal berikut:

      • Gunakan menu untuk menggabungkan atau mengelompokkan data Anda.

        Untuk mencegah error sintaksis, agregasi dan pengelompokan apa pun yang Anda terapkan ke satu kolom akan otomatis diterapkan ke kolom lain juga. Untuk mengetahui contoh cara menggabungkan dan mengelompokkan entri, lihat Mengelompokkan dan menggabungkan data menggunakan Pembuat Kueri.

      • Mengonversi nilai dari jenis apa pun menjadi jenis data lain yang ditentukan. Untuk mengetahui informasi selengkapnya, lihat dokumentasi CAST.

      • Mengekstrak substring nilai menggunakan ekspresi reguler. Untuk mengetahui informasi selengkapnya, lihat dokumentasi REGEXP_EXTRACT.

    • Filter: Tambahkan filter jika Anda ingin membatasi kueri ke span yang berisi atribut atau ID span tertentu. Menu ini mencantumkan semua opsi filter yang tersedia. Pilihan Anda dipetakan ke klausa WHERE dalam kueri SQL.

    • Urutkan Menurut: Tetapkan kolom yang akan diurutkan, dan apakah pengurutan menaik atau menurun. Pilihan Anda dipetakan ke klausa ORDER BY dalam kueri SQL.

    • Limit: Menetapkan jumlah maksimum baris dalam tabel hasil. Pilihan Anda dipetakan ke klausa LIMIT dalam kueri SQL.

  5. Untuk menjalankan kueri, buka toolbar dan pilih Run Query.

    Observability Analytics menampilkan hasil kueri dalam tabel. Namun, Anda dapat membuat diagram, dan Anda juga dapat menyimpan tabel atau diagram ke dasbor kustom. Untuk mengetahui informasi selengkapnya, lihat Membuat diagram hasil kueri SQL.

    Jika toolbar menampilkan Run in BigQuery, Anda harus mengalihkan Observability Analytics untuk menggunakan mesin kueri default. Untuk melakukan perubahan ini, di toolbar panel Query, klik Settings, lalu pilih Analytics (default).

Contoh: Mengelompokkan dan menggabungkan data menggunakan Pembuat Kueri

Saat Anda memilih kolom di Pembuat Kueri, setiap kolom menyertakan menu tempat Anda dapat menambahkan pengelompokan dan agregasi. Pengelompokan memungkinkan Anda mengatur data ke dalam grup berdasarkan nilai satu atau beberapa kolom, dan agregasi memungkinkan Anda melakukan penghitungan pada grup ini untuk menampilkan satu nilai.

Setiap kolom yang Anda pilih di elemen Columns memiliki menu terlampir dengan opsi berikut:

  • Tidak ada: Jangan mengelompokkan atau menggabungkan menurut kolom ini.
  • Aggregate: Mengelompokkan kolom yang tercantum dalam elemen Columns, kecuali jika kolom memiliki pilihan Aggregate. Untuk kolom tersebut, hitung nilainya dengan melakukan operasi pada semua entri di setiap pengelompokan. Operasi ini mungkin untuk menghitung rata-rata kolom atau melakukan sesuatu seperti menghitung jumlah entri di setiap pengelompokan.
  • Group By: Mengelompokkan entri menurut semua kolom yang tercantum dalam elemen Columns.

Contoh ini menunjukkan cara menggunakan Pembuat Kueri untuk mengelompokkan entri log berdasarkan tingkat keparahan dan stempel waktu, lalu menghitung rata-rata kolom http_request.response_size untuk setiap grup:

  1. Di menu Columns, pilih kolom timestamp, severity, dan http_request.response_size.

    1. Untuk mengelompokkan data, klik kolom timestamp untuk membuka dialog setelan. Dalam dialog ini, pilih opsi Kelompokkan menurut, dan tetapkan Truncation Granularity ke HOUR. Pengelompokan kemudian diterapkan secara otomatis ke semua kolom lainnya untuk mencegah error sintaksis. Jika ada kolom yang tidak valid dan pengelompokan tidak dapat diterapkan, Anda akan melihat pesan error. Hapus kolom yang tidak valid dari menu untuk mengatasi error ini.

    2. Untuk melakukan agregasi pada kolom http_request.response_size, klik kolom untuk membuka dialog setelan. Dalam dialog ini, pilih Aggregate. Di menu Aggregation, klik Average.

  2. Di menu Filters, tambahkan http_request.response_size dan tetapkan komparator ke IS NOT NULL. Filter ini cocok dengan entri log yang berisi nilai response_size.

    Menu Pembuat Kueri Anda akan terlihat seperti berikut:

    Menggabungkan dan mengelompokkan menggunakan menu Pembuat Kueri.

  3. Untuk menjalankan kueri, buka toolbar dan pilih Run Query.

    Hasil kueri ini mirip dengan berikut ini:

    +-----------------------------------+----------+---------------+
    | Row | hour_timestamp              | severity | response_size |
    |     | TIMESTAMP                   | STRING   | INTEGER       |
    +-----+-----------------------------+----------+---------------+
    | 1   | 2025-10-06 16:00:00.000 UTC | NOTICE   | 3082          |
    | 2   | 2025-10-06 17:00:00.000 UTC | WARNING  | 338           |
    | 3   | 2025-10-06 16:00:00.000 UTC | INFO     | 149           |
    

Kueri SQL yang sesuai untuk contoh sebelumnya adalah sebagai berikut:

SELECT
  -- Truncate the timestamp by hour.
  TIMESTAMP_TRUNC( timestamp, HOUR ) AS hour_timestamp,
  severity,
  -- Compute average response_size.
  AVG( http_request.response_size ) AS average_http_request_response_size
FROM
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Matches log entries that have a response_size.
  http_request.response_size IS NOT NULL
GROUP BY
  -- Group log entries by timestamp and severity.
  TIMESTAMP_TRUNC( timestamp, HOUR ),
  severity
LIMIT
  1000

Menampilkan skema

Skema menentukan cara data disimpan, yang mencakup kolom dan jenis datanya. Informasi ini penting bagi Anda karena skema menentukan kolom yang Anda kueri dan apakah Anda perlu mentransmisikan kolom ke jenis data yang berbeda. Misalnya, untuk menulis kueri yang menghitung latensi rata-rata permintaan HTTP, Anda perlu mengetahui cara mengakses kolom latensi dan apakah kolom tersebut disimpan sebagai bilangan bulat seperti 100 atau sebagai string seperti "100". Jika data latensi disimpan sebagai string, kueri harus mentransmisikan nilai ke nilai numerik sebelum menghitung rata-rata.

Untuk mengidentifikasi skema, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Observability Analytics:

    Buka Observability Analytics

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

  2. Di menu Views, buka bagian Logs atau Analytics Views, lalu pilih tampilan yang ingin Anda kueri.

    Panel Schema akan diperbarui. Observability Analytics secara otomatis menyimpulkan kolom dari sebuah kolom jika jenis datanya adalah JSON. Untuk melihat seberapa sering kolom yang disimpulkan ini muncul dalam data Anda, klik Options, lalu pilih View info and description.

    Untuk tampilan log, skemanya tetap dan sesuai dengan LogEntry. Untuk tampilan analisis, Anda dapat mengubah kueri SQL untuk mengubah skema.

Langkah berikutnya