Dokumen ini menjelaskan tampilan analisis dan kapan Anda mungkin ingin membuatnya. Panduan ini juga menjelaskan perbedaan antara tampilan dan konsep analitik yang mungkin sudah Anda pahami, seperti tampilan log dan kueri tersimpan.
Untuk mempelajari cara membuat, membuat kueri, dan mengelola tampilan analisis, lihat Membuat dan membuat kueri tampilan analisis.
Ringkasan
Tampilan analisis adalah resource yang dapat dikueri. Resource ini berisi kueri SQL, yang mengkueri satu atau beberapa tampilan log.
Tampilan log di bucket log mengontrol
entri log di bucket log yang dapat Anda lihat. Anda dapat membuat kueri tampilan log
dengan halaman Logs Explorer dan Log Analytics. Dalam kedua kasus tersebut,
format data yang dikueri ditentukan oleh
struktur data LogEntry
.
Kueri SQL yang terdapat dalam tampilan analisis memungkinkan Anda mengubah data log di satu atau beberapa tampilan log ke format kustom. Artinya, Anda dapat memfilter entri log mana di tampilan log yang berkontribusi pada hasil kueri, dan Anda menentukan kolom hasilnya. Misalnya, Anda dapat menghapus kolom, memindahkan data dari kolom JSON bertingkat ke kolom, atau menambahkan kolom.
Tampilan Analytics bukan tampilan terwujud. Tampilan analisis bukanlah tampilan yang telah dihitung sebelumnya yang secara berkala meng-cache hasil kueri. Oleh karena itu, membuat kueri tampilan analisis setara dengan membuat kueri tampilan log yang dikueri oleh tampilan analisis.
Tampilan analisis dan kueri tersimpan berisi kueri SQL. Namun, tampilan analisis adalah resource yang dapat dikueri. Anda dapat menjalankan ulang kueri tersimpan, tetapi tidak dapat membuat kueri dari hasil kueri tersimpan.
Jenis tampilan analisis
Ada dua jenis tampilan analisis: yang ditentukan pengguna dan yang ditentukan sistem:
Tampilan analisis yang ditentukan pengguna adalah tampilan analisis apa pun yang Anda buat. Anda dapat membuat kueri, mengedit, dan menghapus tampilan analisis buatan pengguna.
Tampilan analisis yang ditentukan sistem adalah tampilan analisis yang dibuat oleh layananGoogle Cloud . Anda dapat membuat kueri tampilan analisis yang ditentukan pengguna. Namun, Anda tidak dapat mengedit atau menghapusnya.
Untuk mengetahui informasi tentang cara mencantumkan tampilan analisis di projectGoogle Cloud , lihat Mencantumkan tampilan analisis.
Lokasi tampilan analisis
Lokasi tampilan analisis ditentukan oleh lokasi
resource yang dikueri. Misalnya, jika tampilan analisis membuat kueri tampilan log
yang berada di lokasi global
, lokasi tampilan analisis
juga harus global
. Saat Anda menggunakan konsol Google Cloud untuk membuat
tampilan analisis, lokasi akan ditetapkan secara otomatis.
Manfaat tampilan analisis
Manfaat utama tampilan analisis adalah Anda dapat mengubah data log dan membuat skema yang konsisten untuk kueri lainnya. Namun, Anda juga mungkin mendapati bahwa dengan membuat tampilan analisis, Anda dapat mengurangi upaya yang Anda lakukan dalam menulis kueri atau meningkatkan struktur kueri. Karena tampilan analisis bukan tampilan terwujud, penggunaannya tidak selalu mengurangi waktu kueri.
Contoh: Transformasi data
Anggap Anda menganalisis performa jaringan menggunakan VPC Flow Logs. Anda perlu menganalisis keseluruhan performa jaringan
dan juga dapat mengidentifikasi jaringan, alamat IP, atau host tertentu.
Sayangnya, informasi yang Anda perlukan terdapat dalam kolom bertingkat
di kolom json_payload
entri log.
Untuk mengekstrak informasi ini dari entri log, Anda harus menulis kueri berikut, lalu menyimpan kueri tersebut sebagai tampilan analisis bernama network_details
:
SELECT
JSON_VALUE(resource.labels.subnetwork_name) subnetwork_name,
JSON_VALUE(json_payload.src_instance.vm_name) vm_name,
JSON_VALUE(json_payload.connection.src_ip) as src_ip,
JSON_VALUE(json_payload.connection.src_port) as src_port,
JSON_VALUE(json_payload.connection.dest_ip) as dest_ip,
JSON_VALUE(json_payload.connection.dest_port) as dest_port,
CAST(JSON_VALUE(json_payload.bytes_sent) as INT64) as bytes_sent,
CAST(JSON_VALUE(json_payload.packets_sent) as INT64) as packets_sent
FROM `TABLE_NAME_OF_LOG_VIEW`
WHERE
log_id = "compute.googleapis.com/vpc_flows"
AND SEARCH(json_payload.reporter, "SRC")
Jika ingin menganalisis performa jaringan, Anda kini dapat membuat kueri pada tampilan analisis. Misalnya, jika Anda hanya tertarik dengan nama instance dan jumlah data yang dikirim, Anda dapat menulis kueri berikut:
SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100
Contoh: Kueri dasar untuk analisis latensi API
Asumsikan Anda ditugaskan untuk mengevaluasi dan meringkas latensi permintaan untuk interval satu minggu. Tim lain akan menggunakan data analisis performa mingguan sebagai dasar untuk analisis lainnya.
Tampilan analisis yang Anda buat, dan yang dapat dikueri oleh tim lain, melaporkan latensi minimum, maksimum, dan rata-rata permintaan yang diselesaikan seperti yang dicatat oleh entri log dalam tampilan log tertentu:
SELECT week,MIN(took_ms) as min , MAX(took_ms) AS max, AVG(took_ms) AS avg
FROM (
SELECT TIMESTAMP_TRUNC(timestamp, WEEK) AS week,
CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64) as took_ms
FROM `TABLE_NAME_OF_LOG_VIEW`
WHERE json_payload IS NOT NULL
AND SEARCH(labels,"frontend")
AND JSON_VALUE(json_payload.message) = "request complete"
ORDER BY took_ms DESC, timestamp ASC
)
GROUP BY week ORDER BY week
Peran dan izin IAM yang diperlukan
Karena tampilan analisis membuat kueri tampilan log, untuk membuat dan membuat kueri tampilan analisis, peran IAM Anda juga harus mengizinkan Anda membuat kueri tampilan log dan menggunakan Log Analytics. Bagian ini mencantumkan peran IAM yang diperlukan untuk membuat tampilan analisis, dan peran yang diperlukan untuk mengkueri tampilan log dan menggunakan Log Analytics:
-
Untuk mendapatkan izin yang diperlukan guna membuat, mengelola, dan menggunakan tampilan analisis, minta administrator untuk memberi Anda peran IAM Observability Analytics User (
roles/observability.analyticsUser
) di project Anda.Peran bawaan ini berisi izin yang diperlukan untuk membuat, mengelola, dan menggunakan tampilan analisis. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat, mengelola, dan menggunakan tampilan analisis:
-
observability.analyticsViews.get
-
observability.analyticsViews.list
-
observability.analyticsViews.create
-
observability.analyticsViews.update
-
observability.analyticsViews.delete
-
-
Untuk mendapatkan izin yang Anda perlukan guna membuat kueri tampilan log dan menggunakan Log Analytics, 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.
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 membuat kueri bucket log
Batasan
Batasan berikut berlaku untuk tampilan analisis:
- Tampilan analisis tidak dapat mengkueri tampilan analisis lain.
- Tampilan analisis dapat membuat kueri beberapa tampilan log. Namun, bucket log yang menghosting tampilan log yang dikueri harus berada di satu lokasi. Misalnya,
Anda memiliki dua bucket log, satu di
us-east1
dan satu lagi diasia-east1
. Anda tidak dapat membuat tampilan analisis yang membuat kueri tampilan log di bucket log tersebut. - Resource induk tampilan analisis harus berupa project Google Cloud . Anda tidak dapat membuat tampilan analisis di folder atau organisasi.
- Set data tertaut tidak didukung untuk tampilan analisis. Oleh karena itu, Anda dapat membuat kueri tampilan analisis hanya dengan menggunakan halaman Log Analytics. Selain itu, Anda harus menjalankan kueri tersebut di layanan Cloud Logging default.
- Tidak ada dukungan API untuk membuat atau mengelola tampilan analisis.
Batas berikut berlaku untuk tampilan analisis:
- Jumlah maksimum tampilan analisis per project Google Cloud : 100
- Per project Google Cloud , jumlah maksimum tampilan analisis per region: 50
- Per project Google Cloud , jumlah maksimum region yang dapat menyimpan tampilan analisis: 10
Langkah selanjutnya
- Membuat dan membuat kueri tampilan analisis
- Ringkasan cara membuat kueri dan menganalisis log
- Menyimpan dan membagikan kueri SQL