Dokumen ini menjelaskan cara membuat diagram hasil kueri Observability Analytics, yang memungkinkan Anda mengidentifikasi pola dan tren dalam data log. Observability Analytics memungkinkan Anda menelusuri dan menggabungkan log untuk menghasilkan insight yang berguna menggunakan kueri SQL.
Setelah 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 uraikan log menurut severity. Screenshot berikut mengilustrasikan titik data yang diuraikan menjadi berbagai jenis tingkat keparahan:
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:
-
Di Google Cloud konsol, buka halaman Logs Storage:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
- 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 diperlukan untuk menggunakan Observability Analytics dan tampilan log kueri, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Untuk mengkueri bucket log
_Requireddan_Default: Logs Viewer (roles/logging.viewer) -
Untuk mengkueri semua tampilan log dalam project:
Logs View Accessor (
roles/logging.viewAccessor)
Anda dapat membatasi principal ke tampilan log tertentu dengan menambahkan kondisi IAM ke pemberian peran Logs View Accessor yang dibuat di tingkat project, atau dengan menambahkan binding IAM ke file kebijakan tampilan log. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke tampilan log.
Ini adalah izin yang sama 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
_AllLogsdari bucket log_Default, lihat Peran Cloud Logging. -
Untuk mengkueri bucket log
-
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 untuk membuat diagram, minta administrator untuk memberi Anda peran IAM Monitoring Editor (
roles/monitoring.editor) di project Anda.
Memilih data untuk diagram
Untuk mengonfigurasi data yang akan ditampilkan pada diagram, buat kueri menggunakan SQL. Saat Anda memilih tab Chart, 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:
-
Di Google Cloud konsol, buka halaman manage_search Observability Analytics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Di panel Query , masukkan kueri, lalu klik Run.
Setelah kueri selesai, di tab Results, pilih cara Anda ingin melihat hasil kueri:
Tabel: Hanya format tabel.
Diagram: Hanya format diagram
Both: 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 tabel jika Anda telah memilih opsi Table. Jika tidak, formatnya adalah diagram.
Untuk diagram, opsi visualisasi memungkinkan Anda memilih jenis diagram, dan memilih baris serta 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 untuk diagram, dan dengan menerapkan perincian. Dimension digunakan untuk mengelompokkan atau mengategorikan baris dan merupakan nilai sumbu X. Measure, atau nilai sumbu Y, adalah deret data yang diplot terhadap sumbusumbu 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 memplot 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 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 terhubung dengan interpolasi linear.
Diagram area bertumpuk: Diagram area didasarkan pada diagram garis, dan area di bawah setiap garis diberi bayangan. Dalam diagram area, deret data ditumpuk. Misalnya, jika Anda memiliki dua deret yang identik, deret tersebut akan tumpang-tindih dalam diagram garis, tetapi area yang diberi bayangan akan ditumpuk dalam diagram area.
Diagram lingkaran atau donat: Diagram lingkaran menunjukkan hubungan kategori dalam set data dengan seluruh set data, dengan menggunakan lingkaran untuk mewakili seluruh 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 klausa
SELECT. Jika Anda berencana menampilkan data dalam bentuk tabel di dasbor, gunakan klausaLIMITuntuk 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:
Konfigurasi kueri untuk menggabungkan data selama interval waktu, mengurutkan hasil berdasarkan stempel waktu menurun, dan membatasi jumlah baris dalam hasil. Anda dapat menggunakan klausa
LIMITatau 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 `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10
Berikut ini penjelasan arti kolom dalam ekspresi sebelumnya:
- 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 dapat menyertakan huruf, digit, garis bawah, dan tanda hubung.
Tetapkan Dimension agar sesuai dengan kolom yang melaporkan unit waktu. Misalnya, jika kueri Anda menggabungkan data per jam dan membuat kolom bernama
hour, tetapkan menu Dimension kehour.Pilih Disable interval karena kueri Anda sudah menentukan interval agregasi. Dalam contoh ini, intervalnya 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:
- Konfigurasi 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. - Tetapkan menu Interval ke interval agregasi ke interval tertentu
interval. Misalnya, tetapkan nilai kolom ini ke
1 hour. Jangan pilih Automatic interval. - Tetapkan Measure ke kolom numerik, dan 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 Chart display. Jika kolom stempel waktu dipilih sebagai dimensi, diagram akan menampilkan perubahan data dari waktu ke waktu. Jika kolom string dipilih sebagai dimensi untuk diagram batang, Anda dapat mengurutkan data secara menaik atau menurun, yang akan mengurutkan dimensi berdasarkan urutan leksikal. Anda juga dapat mempertahankan urutan pengurutan `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 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 ukuran ke
none. Hanya ukuran numerik yang diizinkan saat interval dimensi dinonaktifkan.Ukur
Anda dapat memilih beberapa ukuran di panel Chart display. Saat memilih ukuran, Anda juga harus memilih fungsi agregasi yang akan dilakukan pada nilai yang dikelompokkan, seperti
count,sum,average, danpercentile-99. Misalnya,count-distinctmenampilkan jumlah nilai unik dalam kolom tertentu.Jika Anda mencentang kotak Disable interval untuk dimensi, opsi fungsi agregasi
noneakan tersedia. Jika dimensi adalah nilai string, kotak Disable interval tidak akan ditampilkan. Namun, menetapkan fungsi agregasi ukuran kenonejuga akan menonaktifkan interval.
Menambahkan perincian
Untuk membagi satu deret data menjadi beberapa deret 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, dengan kolom Dimension ditetapkan ke type, kolom Measure ditetapkan ke Count rows, dan kolom Breakdown ditetapkan ke severity:

Pada screenshot sebelumnya, Anda melihat deret data bertumpuk, dengan jenis resource k8s_container dibagi menjadi berbagai jenis severity. Hal ini memungkinkan Anda mengidentifikasi jumlah log dari setiap jenis tingkat keparahan yang dihasilkan oleh resource tertentu.
Menyimpan diagram ke dasbor kustom
Setelah diagram dibuat dari kueri Anda, 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 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.
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 hal berikut:
-
Di Google Cloud konsol, buka halaman manage_search Observability Analytics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Jalankan kueri untuk membuat diagram, lalu klik Save to dashboard.
Dalam dialog Save to dashboard, masukkan judul untuk diagram Anda dan pilih dasbor tempat Anda ingin menyimpan diagram.
Opsional: Untuk melihat dasbor kustom, di toast, klik View dashboard.
Untuk melihat daftar dasbor kustom yang berisi diagram yang dibuat oleh kueri SQL, buka tombol Save to dashboard dan klik arrow_drop_down 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 kueri.
- Mengedit kueri yang digunakan untuk membuat diagram.
- Menyesuaikan konfigurasi diagram untuk memvisualisasikan data yang berbeda.
Batasan
Jikaproject Anda berada di folder yang menggunakan Assured Workloads, diagram yang Anda buat tidak dapat ditampilkan di dasbor kustom. Google Cloud
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 dibuat mungkin berbeda karena agregasi tambahan yang diterapkan secara otomatis oleh Observability Analytics.
Jalur JSON harus di-cast ke string atau angka agar dapat dibuat diagramnya.
Contoh kueri
Bagian ini menyediakan contoh kueri SQL untuk membuat diagram hasil kueri Anda. Untuk mendapatkan insight yang lebih berguna dari log Anda, sesuaikan konfigurasi diagram. Untuk menggunakan contoh kueri, lakukan hal berikut:
-
Di Google Cloud konsol, buka halaman manage_search Observability Analytics:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Identifikasi nama tabel untuk tampilan log yang ingin Anda kueri.
Untuk mengidentifikasi nama ini, buka daftar Log views , temukan tampilan log, lalu pilih Query. 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 Mengkueri tampilan log.
Ganti VIEW dengan nama tabel untuk tampilan log yang ingin Anda kueri, lalu salin kueri.
Tempel 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 yang di-cast sebagai string:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`VIEW`
WHERE resource.labels.location IS NOT NULL
Contoh diagram dan konfigurasi diagram terlihat seperti berikut:
Pada screenshot sebelumnya, konfigurasi diagram memiliki konfigurasi diagram berikut:
- Jenis diagram: Diagram batang, horizontal
- Dimensi:
location, dengan batas 10 - Measure: Count rows
- Breakdown:
severity, dengan batas lima
Membuat diagram log audit Akses Data BigQuery
Kueri berikut memfilter log audit BigQuery data_access, 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 principal dari waktu ke waktu.
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 `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:
Pada screenshot sebelumnya, konfigurasi diagram memiliki konfigurasi diagram berikut:
- Jenis diagram: Diagram batang, vertikal
- Dimensi:
user_email, dengan batas lima - Measure: Count rows
- Breakdown:
auth_permission, dengan batas lima
Langkah berikutnya
Untuk mengetahui ringkasan Observability Analytics, lihat Ringkasan cara membuat kueri dan menganalisis log.
Untuk contoh kueri, lihat Contoh kueri SQL.
Untuk mempelajari cara menganalisis dengan log audit menggunakan Observability Analytics, lihat Kueri SQL untuk insight keamanan.