Membuat diagram hasil kueri SQL

Observability Analytics memungkinkan Anda memvisualisasikan hasil kueri SQL sebagai diagram untuk mengidentifikasi pola dan tren dalam data trace Anda. Setelah menjalankan kueri untuk menelusuri dan menggabungkan data trace, Anda dapat melihat hasilnya dalam tabel, mengonversinya menjadi diagram, dan menyimpan visualisasi ke dasbor.

Misalnya, diagram berikut menampilkan status yang dilaporkan oleh span dari waktu ke waktu, yang dikelompokkan berdasarkan service_name:

Contoh diagram yang mengilustrasikan perincian berdasarkan nama layanan.

Sebelum memulai

  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 memuat halaman Observability Analytics, menulis dan menjalankan kueri pada data trace, serta menyimpan diagram di dasbor kustom, minta administrator untuk memberi Anda peran IAM berikut:

    • Observability View Accessor (roles/observability.viewAccessor) di tampilan kemampuan observasi yang ingin Anda kueri. Peran ini mendukung kondisi IAM, yang memungkinkan Anda membatasi pemberian akses ke tampilan tertentu. Jika Anda tidak melampirkan kondisi ke pemberian peran, akun utama dapat mengakses semua tampilan kemampuan observasi.
    • Monitoring Editor (roles/monitoring.editor) di project Anda.

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

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Memilih data yang ingin dibuat diagramnya

Untuk mengonfigurasi data yang akan ditampilkan di diagram, buat kueri menggunakan SQL. Saat Anda memilih tab Chart, diagram akan menampilkan hasil kueri Anda. Setelah menjalankan kueri dan membuat diagram, Anda dapat menyesuaikan diagram dengan mengubah jenis diagram dan memilih kolom untuk menampilkan data yang berbeda.

Untuk melihat hasil kueri sebagai diagram, jalankan kueri dengan melakukan 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, masukkan kueri, lalu klik Run.

  3. Setelah kueri selesai, di tab Results, 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 adalah tabulasi jika Anda telah memilih opsi Table. Jika tidak, formatnya adalah diagram.

      Untuk diagram, opsi visualisasi memungkinkan Anda memilih jenis diagram, serta 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 dibuat diagramnya, serta dengan 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 menetapkan konfigurasi diagram untuk diagram batang ke 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 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 oleh interpolasi linear.

  • Diagram area bertumpuk: Diagram area didasarkan pada diagram garis, dan area di bawah setiap garis diarsir. Dalam diagram area, deret data ditumpuk. Misalnya, jika Anda memiliki dua deret yang identik, deret tersebut akan tumpang-tindih dalam diagram garis, tetapi area berarsir akan 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 dalam persentase, kontribusi kategori terhadap keseluruhan.

  • Tabel: Tabel menampilkan satu baris untuk setiap baris dalam hasil kueri. Kolom dalam tabel ditentukan oleh klausa 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 memberi Anda 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:

    • Konfigurasikan kueri Anda untuk menggabungkan data selama interval waktu, untuk mengurutkan hasil berdasarkan stempel waktu menurun, dan untuk 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 data trace Anda, dan menggabungkan data selama interval satu jam, menerapkan batas, dan mengurutkan hasilnya:

      SELECT TIMESTAMP_TRUNC(start_time, HOUR) AS hour,
         COALESCE(
            JSON_VALUE(resource.attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
         status.code AS status,
         COUNT(*) AS count
      FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
      GROUP BY hour, service_name, status
      ORDER BY hour DESC
      LIMIT 1000

      Berikut ini penjelasan arti kolom dalam ekspresi sebelumnya:

      Kueri sebelumnya digunakan untuk membuat gambar yang ditampilkan di awal dokumen ini. Gambar tersebut juga menunjukkan konfigurasi diagram.

    • Tetapkan Dimension agar sesuai dengan kolom yang melaporkan unit waktu. Misalnya, jika kueri Anda menggabungkan data per satu jam dan membuat kolom bernama hour, tetapkan menu Dimension ke hour.

    • Pilih Disable 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 Observability Analytics untuk melakukan agregasi berbasis waktu, lakukan hal berikut:

    • Konfigurasikan pemilih rentang waktu, yang memengaruhi jumlah baris dalam hasil kueri.
    • Tetapkan Dimension agar sesuai dengan kolom yang melaporkan unit waktu. Misalnya, Anda dapat menetapkan menu ini ke timestamp.
    • Setel menu Interval ke interval agregasi tertentu. Misalnya, tetapkan nilai kolom ini ke 1 hour. Jangan pilih Automatic interval.
    • Tetapkan Measure ke kolom numerik, lalu pilih fungsi seperti sum.

Mengubah dimensi dan ukuran

Anda dapat memilih baris dan kolom yang akan dibuat diagramnya 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 menunjukkan perubahan data dari waktu ke waktu. Jika kolom string dipilih sebagai dimensi untuk diagram batang, Anda dapat mengurutkan data secara menaik atau menurun, yang mengurutkan dimensi menurut urutan leksikal. Anda juga dapat mempertahankan tata urutan `default`, yang mengurutkan dimensi berdasarkan nilai ukuran 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 grup dengan ukuran yang sama.

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

  • Ukur

    Anda dapat memilih beberapa ukuran di panel Chart display. Saat memilih ukuran, Anda juga harus memilih fungsi agregasi yang akan dijalankan 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 Disable interval tidak akan ditampilkan. Namun, menetapkan fungsi agregasi ukuran ke none juga akan menonaktifkan interval.

Menambahkan perincian

Untuk membagi satu deret data menjadi beberapa deret data berdasarkan kolom lain, tambahkan pengelompokan.

Saat memilih perincian, pilih kolom yang berisi sejumlah kecil label singkat dan bermakna, seperti region_name. Jangan pilih kolom yang mungkin berisi string dalam jumlah besar atau string panjang, seperti textPayload.

Misalnya, diagram berikut menampilkan jumlah span yang dibuat oleh setiap layanan, beserta data yang diperinci menurut nama span:

Contoh dasbor yang menampilkan penggunaan bucket Cloud Storage Anda.

Membuat dan menampilkan contoh trace

Anda dapat mengonfigurasi diagram berbasis SQL yang menganalisis data trace untuk menampilkan contoh yang dihasilkan secara dinamis. Contoh adalah permintaan sampel atau span representatif yang terkait dengan pengukuran metrik. Setiap contoh ditautkan ke trace; memilih contoh akan membuka flyout yang menampilkan trace.

Persyaratan konfigurasi

Untuk menampilkan contoh, hal berikut harus terpenuhi:

  • Kueri diagram ditulis dalam SQL dan target kuerinya adalah data trace.
  • Diagram menggunakan visualisasi diagram garis atau batang.
  • trace_id dan start_time adalah bagian dari hasil kueri.

Untuk menyembunyikan contoh, buka toolbar diagram dan pilih Hide exemplars.

Cara sistem menghasilkan contoh

Sistem menerapkan strategi pemilihan sampling yang cerdas untuk menjaga exemplar tetap dapat dibaca dan relevan:

  • Untuk ukuran statistik seperti AVG dan PERCENTILE: Sistem membandingkan nilai span mentah dengan garis tren yang diinterpolasi pada diagram dan mengelompokkan sampel ke dalam kumpulan deviasi. Sampel proporsional dari setiap kumpulan diplot dan diberi jarak secara merata dari waktu ke waktu.
  • Untuk jumlah frekuensi seperti COUNT: Sistem memosisikan contoh di sepanjang batas atas jendela diagram dan memberi jarak yang merata di seluruh perincian deret data dan waktu.

Batasan

  • Jika diagram menampilkan beberapa deret waktu, sistem akan mengurangi jumlah contoh yang ditampilkan.
  • Contoh mungkin tidak didistribusikan secara merata dalam interval waktu diagram.
  • Skala sumbu Y mungkin mendistorsi tampilan visual. Distorsi kemungkinan besar terjadi saat diagram menggunakan sumbu Y logaritmik atau saat deret waktu berisi pencilan.
  • Anda tidak dapat mengonfigurasi cara sistem membuat contoh.

Menyimpan diagram ke dasbor kustom

Setelah diagram dibuat dari kueri, Anda dapat menyimpan diagram tersebut 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 level 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.

Dasbor menampilkan pesan peringatan untuk widget yang berisi kueri SQL saat kueri berjalan di mesin BigQuery dan resource yang dikueri tidak berada dalam batas kepemilikan yang sama. Batas kepemilikan ditentukan oleh beberapa faktor, salah satunya adalah hierarki resource yang digunakan kueri. Untuk mencegah peringatan ini, siapkan perimeter layanan.

Untuk menyimpan diagram ke dasbor, lakukan tindakan 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. Jalankan kueri untuk membuat diagram, lalu klik Save to dashboard.

  3. Dalam dialog Save to dashboard, masukkan judul untuk diagram Anda dan pilih dasbor tempat Anda ingin menyimpan diagram.

  4. Opsional: Untuk melihat dasbor kustom, di toast, klik View dashboard.

Untuk melihat daftar dasbor kustom yang berisi diagram yang dihasilkan oleh kueri SQL, buka tombol Save to dashboard, lalu 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 Configure widget, Anda dapat melakukan hal berikut:

  • Mengubah data yang Anda buat kuerinya.
  • Mengedit kueri yang digunakan untuk membuat diagram.
  • Sesuaikan konfigurasi diagram untuk memvisualisasikan data yang berbeda.

Batasan

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

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

  • Kolom yang dipilih harus memiliki setidaknya satu baris dengan nilai non-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 Observability Analytics.

  • Jalur JSON harus ditransmisikan ke string atau angka agar dapat dibuat diagramnya.

Langkah berikutnya