Membuat diagram hasil kueri SQL

Dokumen ini menjelaskan cara membuat diagram hasil kueri Log Analytics, yang memungkinkan Anda mengidentifikasi pola dan tren dalam data log. Log Analytics memungkinkan Anda menelusuri dan menggabungkan log untuk menghasilkan insight yang berguna dengan menggunakan kueri SQL.

Setelah Anda menjalankan kueri, hasil kueri dapat dilihat dalam tabel, atau dikonversi menjadi diagram, dan kueri serta visualisasinya dapat disimpan ke dasbor. Misalnya, untuk melihat jenis tingkat keparahan yang dihasilkan log Anda, buat diagram yang menampilkan jumlah log yang dihasilkan selama 12 jam terakhir dan kelompokkan log menurut severity. Screenshot berikut menggambarkan titik data yang dikelompokkan ke dalam berbagai jenis tingkat keparahan:

Contoh diagram yang mengilustrasikan pengelompokan menurut tingkat keparahan.

Sebelum memulai

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

Mengonfigurasi bucket log

Pastikan bucket log Anda telah diupgrade untuk menggunakan Log Analytics:

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

    Buka Penyimpanan Log

    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 Log 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 Log Analytics:

  • Untuk mendapatkan izin yang diperlukan untuk menggunakan Log Analytics dan membuat kueri tampilan log, minta administrator untuk memberi Anda peran IAM berikut di project Anda:

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

    Anda dapat membatasi akun utama ke tampilan log tertentu dengan menambahkan kondisi IAM ke pemberian peran Logs View Accessor yang dilakukan di tingkat 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 membuat kueri tampilan di bucket yang ditentukan pengguna atau untuk membuat kueri tampilan _AllLogs dari bucket log _Default, lihat Peran Cloud Logging.

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

  • Untuk mendapatkan izin yang diperlukan guna membuat diagram, minta administrator untuk memberi Anda peran IAM Monitoring Editor (roles/monitoring.editor) di project Anda.

Pilih data yang akan dibuat diagramnya

Untuk mengonfigurasi data yang akan ditampilkan pada diagram, buat kueri menggunakan SQL. Saat Anda memilih tab Diagram, diagram akan menampilkan hasil kueri Anda. Setelah kueri dijalankan dan diagram dibuat, Anda dapat menyesuaikan konfigurasi diagram dengan mengubah jenis diagram, dan memilih kolom untuk melihat data yang berbeda.

Untuk melihat hasil kueri sebagai diagram, jalankan kueri dengan melakukan hal berikut:

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

    Buka Log Analytics

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

  2. Di panel Query, masukkan kueri, lalu klik Run.

  3. Setelah kueri selesai, di tab Hasil, pilih cara Anda ingin melihat hasil kueri:

    • Tabel: Hanya format tabulasi.

    • Diagram: Hanya format diagram

    • Keduanya: Format diagram dan tabel.

      Setelah memilih cara melihat hasil kueri, Anda dapat mengonfigurasi kolom apa pun untuk visualisasi yang dipilih, lalu menyimpan kueri dan hasilnya ke dasbor kustom. Format yang disimpan berbentuk tabel jika Anda telah memilih opsi Tabel. Jika tidak, formatnya adalah diagram.

      Untuk diagram, opsi visualisasi memungkinkan Anda memilih jenis diagram, dan memilih baris dan kolom yang akan dibuat diagramnya. Untuk mengetahui informasi selengkapnya tentang konfigurasi diagram, lihat Menyesuaikan konfigurasi diagram.

Menyesuaikan konfigurasi diagram

Anda dapat menyesuaikan konfigurasi diagram dengan mengubah jenis diagram, memilih dimensi dan ukuran yang akan ditampilkan dalam diagram, serta menerapkan perincian. Dimensi digunakan untuk mengelompokkan atau mengategorikan baris dan merupakan nilai sumbu X. Ukuran, atau nilai sumbu Y, adalah deret data yang diplot terhadap sumbu Y.

Mengubah jenis diagram

Anda dapat memilih dari jenis diagram berikut, bergantung pada jenis baris dan kolom yang Anda pilih sebagai dimensi dan ukuran, serta cara Anda ingin data tersebut divisualisasikan.

  • Diagram batang (default): Diagram batang memetakan data pada dua sumbu. Jika diagram Anda menggunakan kategori atau string sebagai dimensi, Anda dapat menyetel konfigurasi diagram untuk diagram batang menjadi horizontal atau vertikal, dengan sumbu dimensi dan ukuran ditukar.

  • Diagram garis: Diagram garis dapat digunakan untuk menampilkan perubahan data dari waktu ke waktu. Saat Anda menggunakan diagram garis, setiap deret waktu ditampilkan oleh garis yang berbeda yang sesuai dengan ukuran yang telah Anda pilih.

    Jika sumbu X Anda berbasis waktu, setiap titik data ditempatkan di awal interval waktu. Setiap titik data dihubungkan dengan interpolasi linear.

  • Diagram area bertumpuk: Diagram area didasarkan pada diagram garis, dan area di bawah setiap garis diberi arsiran. Dalam diagram area, deret data ditumpuk. Misalnya, jika Anda memiliki dua deret yang identik, deret akan tumpang-tindih dalam diagram garis, tetapi area yang diarsir ditumpuk dalam diagram area.

  • Diagram lingkaran atau donat: Diagram lingkaran menunjukkan hubungan kategori dalam set data dengan keseluruhan set data, dengan menggunakan lingkaran untuk mewakili keseluruhan set data dan irisan dalam lingkaran untuk mewakili kategori dalam set data. Ukuran irisan menunjukkan seberapa besar, sering kali sebagai persentase, kontribusi kategori terhadap keseluruhan.

  • Tabel: Tabel menampilkan satu baris untuk setiap baris dalam hasil kueri. Kolom dalam tabel ditentukan oleh klausul SELECT. Jika Anda berencana menampilkan data dalam bentuk tabel di dasbor, gunakan klausa LIMIT untuk membatasi jumlah baris dalam hasil agar kurang dari beberapa ratus.

  • Pengukur atau kartu skor: Pengukur dan kartu skor memberikan nilai terbaru beserta indikasi hijau, kuning, atau merah berdasarkan perbandingan nilai tersebut dengan serangkaian nilai minimum. Tidak seperti pengukur, yang hanya menampilkan informasi tentang nilai terbaru, kartu skor juga dapat menyertakan informasi tentang nilai sebelumnya.

    Pengukur dan kartu skor hanya dapat menampilkan hasil kueri jika hasil kueri berisi setidaknya satu baris, dan baris tersebut berisi kolom dengan stempel waktu dan kolom dengan data numerik. Hasil kueri dapat berisi beberapa baris dan lebih dari dua kolom.

    Jika Anda ingin melakukan agregasi berbasis waktu sebagai bagian dari kueri, lakukan hal berikut:

    • Konfigurasi kueri Anda untuk menggabungkan data selama interval waktu, mengurutkan hasil menurut stempel waktu menurun, dan membatasi jumlah baris dalam hasil. Anda dapat menggunakan klausa LIMIT atau menggunakan pemilih rentang waktu untuk membatasi jumlah baris dalam hasil kueri.

      Misalnya, kueri berikut mengkueri tampilan log, dan menggabungkan data per jam, menerapkan batas, dan mengurutkan hasilnya:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • Tetapkan Dimensi agar sesuai dengan kolom yang melaporkan unit waktu. Misalnya, jika kueri Anda menggabungkan data per jam dan membuat kolom bernama hour, tetapkan menu Dimensi ke hour.

    • Pilih Nonaktifkan interval karena kueri Anda sudah menentukan interval agregasi. Dalam contoh, interval ini adalah satu jam.

    • Tetapkan Measure ke kolom numerik, dan tetapkan fungsi ke none.

    Jika Anda ingin mengandalkan Log Analytics untuk melakukan agregasi berbasis waktu, lakukan hal berikut:

    • Konfigurasi pemilih rentang waktu, yang memengaruhi jumlah baris dalam hasil kueri.
    • Tetapkan Dimensi agar sesuai dengan kolom yang melaporkan unit waktu. Misalnya, Anda dapat menyetel menu ini ke timestamp.
    • Setel menu Interval ke interval agregasi untuk interval tertentu. Misalnya, tetapkan nilai kolom ini ke 1 hour. Jangan memilih Interval otomatis.
    • Tetapkan Ukuran ke kolom numerik, lalu pilih fungsi seperti sum.

Mengubah dimensi dan ukuran

Anda dapat memilih baris dan kolom yang di-chart dengan memilih kolom dimensi dan ukuran.

  • Dimensi

    Dimensi harus berupa kolom stempel waktu, numerik, atau string. Secara default, dimensi ditetapkan ke kolom berbasis stempel waktu pertama dalam skema. Jika tidak ada stempel waktu dalam kueri, kolom string pertama akan dipilih sebagai dimensi. Anda juga dapat menyesuaikan dimensi di panel Tampilan diagram. Jika kolom stempel waktu dipilih sebagai dimensi, diagram akan menampilkan perubahan data dari waktu ke waktu. Saat kolom string dipilih sebagai dimensi untuk diagram batang, Anda dapat mengurutkan data menurut urutan menaik atau menurun, yang mengurutkan dimensi menurut urutan leksikal. Anda juga dapat mempertahankan urutan pengurutan `default`, yang mengurutkan dimensi berdasarkan nilai pengukuran yang sesuai dalam urutan menurun.

    Secara default, interval untuk stempel waktu ditetapkan secara otomatis, tetapi Anda juga dapat memilih interval kustom. Interval otomatis mengubah nilai berdasarkan pemilih rentang waktu untuk mempertahankan kelompok berukuran serupa.

    Anda juga dapat menonaktifkan interval, yang memungkinkan Anda menentukan agregasi dan rentang waktu sendiri dalam kueri untuk analisis yang lebih kompleks. Menonaktifkan interval akan menetapkan fungsi agregasi pengukuran ke none. Hanya metrik numerik yang diizinkan jika interval dimensi dinonaktifkan.

  • Ukur

    Anda dapat memilih beberapa ukuran di panel Tampilan diagram. Saat memilih ukuran, Anda juga harus memilih fungsi agregasi yang akan dilakukan pada nilai yang dikelompokkan, seperti count, sum, average, dan percentile-99. Misalnya, count-distinct menampilkan jumlah nilai unik dalam kolom tertentu.

    Jika Anda mencentang kotak Nonaktifkan interval untuk dimensi, opsi fungsi agregasi none akan tersedia. Jika dimensi adalah nilai string, kotak centang Nonaktifkan interval tidak ditampilkan. Namun, menetapkan fungsi agregasi ukuran ke none juga akan menonaktifkan interval.

Menambahkan perincian

Untuk membagi satu rangkaian data menjadi beberapa rangkaian data berdasarkan kolom lain, tambahkan perincian.

Saat memilih perincian, pilih kolom yang berisi sejumlah kecil label pendek dan bermakna, seperti region_name, bukan kolom yang mungkin berisi sejumlah besar string atau string panjang, seperti textPayload.

Misalnya, lihat konfigurasi diagram berikut, di mana kolom Dimensi disetel ke jenis, kolom Ukuran disetel ke Jumlah baris, dan kolom Perincian disetel ke keparahan:

Contoh diagram yang berisi perincian menurut tingkat keparahan.

Pada screenshot sebelumnya, Anda melihat deret data bertumpuk, tempat jenis resource k8s_container dibagi menjadi berbagai jenis severity. Dengan begitu, Anda dapat mengidentifikasi jumlah log dari setiap jenis tingkat keparahan yang dihasilkan oleh resource tertentu.

Menyimpan diagram ke dasbor kustom

Setelah diagram dibuat dari kueri, Anda dapat menyimpannya ke dasbor kustom. Dasbor kustom memungkinkan Anda menampilkan dan mengatur informasi yang berguna bagi Anda menggunakan berbagai jenis widget. Dasbor ini juga memungkinkan Anda menentukan variabel, yang merupakan filter tingkat dasbor yang hanya berlaku untuk widget tertentu. Untuk menerapkan variabel ke widget, Anda harus mengubah kueri. Untuk mengetahui informasi selengkapnya, lihat Menerapkan variabel ke widget.

Misalnya, Anda dapat membuat dasbor yang memberikan detail tentang penggunaan bucket Cloud Storage Anda:

Contoh dasbor yang menunjukkan penggunaan bucket Cloud Storage Anda.

Untuk menyimpan diagram ke dasbor, lakukan tindakan berikut:

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

    Buka Log Analytics

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

  2. Jalankan kueri untuk membuat diagram, lalu klik Simpan diagram di tab Diagram.

  3. Pada dialog Simpan ke dasbor, masukkan judul untuk diagram Anda dan pilih dasbor tempat Anda ingin menyimpan diagram.

  4. Opsional: Untuk melihat dasbor kustom, di notifikasi singkat, klik Lihat dasbor.

Untuk melihat daftar dasbor kustom yang berisi diagram yang dihasilkan oleh kueri SQL, buka tombol Simpan Diagram dan klik Menu.

Mengedit diagram yang disimpan ke dasbor kustom

Anda dapat mengubah diagram setelah disimpan ke dasbor. Untuk mengetahui informasi selengkapnya, lihat Mengubah konfigurasi widget. Dalam dialog Konfigurasi widget, Anda dapat melakukan hal berikut:

  • Ubah data yang Anda kueri.
  • Edit kueri yang digunakan untuk membuat diagram.
  • Sesuaikan konfigurasi diagram untuk memvisualisasikan data yang berbeda.

Batasan

  • Jika project Google Cloud Anda berada di folder yang menggunakan Assured Workloads, diagram yang Anda buat tidak dapat ditampilkan di dasbor kustom.

  • Filter tingkat dasbor tidak berlaku untuk diagram yang dihasilkan dari kueri SQL.

Sampel kueri

Bagian ini memberikan contoh kueri SQL untuk membuat diagram hasil kueri Anda. Untuk mendapatkan lebih banyak insight berguna dari log, sesuaikan konfigurasi diagram. Untuk menggunakan kueri contoh, lakukan hal berikut:

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

    Buka Log Analytics

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

  2. Identifikasi nama tabel untuk tampilan log yang ingin Anda kueri.

    Untuk mengidentifikasi nama ini, buka daftar Tampilan log, temukan tampilan log, lalu pilih Kueri. Panel Query diisi dengan kueri default, yang mencakup nama tabel tampilan log yang dikueri. Nama tabel memiliki format project_ID.region.bucket_ID.view_ID.

    Untuk mengetahui informasi selengkapnya tentang cara mengakses kueri default, lihat Mengueri tampilan log.

  3. Ganti TABLE_NAME_OF_LOG_VIEW dengan nama tabel untuk tampilan log yang ingin Anda kueri, lalu salin kueri.

  4. Tempelkan kueri di panel Query, lalu klik Run query.

Membuat diagram entri log menurut lokasi dan tingkat keparahan

Kueri berikut memilih location dan severity, dengan lokasi ditransmisikan sebagai string:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE resource.labels.location IS NOT NULL

Contoh diagram dan konfigurasi diagram terlihat seperti berikut:

Contoh diagram yang memetakan entri log untuk lokasi dan tingkat keparahan.

Pada screenshot sebelumnya, konfigurasi diagram memiliki konfigurasi diagram berikut:

  • Jenis diagram: Diagram batang, horizontal
  • Dimensi: location, dengan batas 10
  • Pengukuran: Hitung baris
  • Perincian: severity, dengan batas lima

Membuat diagram log audit Akses Data BigQuery

Kueri berikut memfilter log audit data_access BigQuery, dan memilih kolom tertentu, seperti user_email, ip, auth_permission, dan job_execution_project. Misalnya, Anda dapat membuat diagram yang memvisualisasikan frekuensi penggunaan BigQuery API setiap pokok selama periode waktu tertentu.

SELECT
  timestamp,
  proto_payload.audit_log.authentication_info.principal_email as user_email,
  proto_payload.audit_log.request_metadata.caller_ip as ip,
  auth.permission as auth_permission,
  auth.granted as auth_granted,
  JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE_NAME_OF_LOG_VIEW` as data_access,
  UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
  log_id="cloudaudit.googleapis.com/data_access"
  AND data_access.resource.type = 'bigquery_dataset'

Contoh diagram dan konfigurasi diagram terlihat seperti berikut:

Contoh diagram untuk log audit Akses Data BigQuery

Pada screenshot sebelumnya, konfigurasi diagram memiliki konfigurasi diagram berikut:

  • Jenis diagram: Diagram batang, vertikal
  • Dimensi: user_email, dengan batas lima
  • Pengukuran: Hitung baris
  • Perincian: auth_permission, dengan batas lima

Batasan

  • Kolom yang dipilih harus memiliki minimal satu baris dengan nilai yang tidak null.

  • Jika Anda menyimpan kueri dan menyesuaikan konfigurasi diagram, konfigurasi diagram kustom tidak akan disimpan.

  • Jika kueri Anda sudah berisi agregasi, diagram yang dihasilkan mungkin berbeda karena agregasi tambahan yang diterapkan secara otomatis oleh Log Analytics.

  • Jalur JSON harus dikonversi menjadi string dan angka agar dapat ditampilkan dalam diagram.

Langkah berikutnya