Tentang tampilan analisis

Dokumen ini menjelaskan tampilan analisis dan kapan Anda sebaiknya membuatnya. Halaman ini juga menjelaskan perbedaan antara tampilan analisis dan konsep yang mungkin sudah Anda kenal, 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 mana dalam 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 dalam satu atau beberapa tampilan log ke format kustom. Artinya, Anda dapat memfilter entri log mana dalam tampilan log yang berkontribusi pada hasil kueri, dan Anda menentukan kolom hasil. 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 menyimpan hasil kueri ke dalam cache. Oleh karena itu, membuat kueri tampilan analisis sama 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 kembali kueri tersimpan, tetapi Anda tidak dapat membuat kueri 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 yang Anda buat. Anda dapat membuat kueri, mengedit, dan menghapus tampilan analisis yang ditentukan pengguna.

  • Tampilan analisis yang ditentukan sistem adalah tampilan analisis yang dibuat oleh layanan Google Cloud . Anda dapat membuat kueri tampilan analisis yang ditentukan sistem. Namun, Anda tidak dapat mengedit atau menghapusnya.

Untuk mengetahui informasi tentang cara mencantumkan tampilan analisis di Google Cloud project, lihat Mencantumkan tampilan analisis.

Lokasi tampilan analisis

Lokasi tampilan analisis ditentukan oleh lokasi resource yang dikuerinya. Misalnya, jika tampilan analisis membuat kueri tampilan log yang berada di lokasi global, maka 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 mungkin juga mendapati bahwa dengan membuat tampilan analisis, Anda dapat mengurangi upaya yang Anda lakukan dalam menulis kueri atau meningkatkan struktur kueri Anda. Karena tampilan analisis bukan tampilan terwujud, penggunaannya tidak selalu mengurangi waktu kueri.

Contoh: Transformasi data

Misalkan Anda menganalisis performa jaringan menggunakan VPC Flow Logs. Anda perlu menganalisis performa jaringan secara keseluruhan dan juga dapat mengidentifikasi jaringan, alamat IP, atau host tertentu. Sayangnya, informasi yang Anda butuhkan terdapat dalam kolom bertingkat di kolom json_payload entri log.

Untuk mengekstrak informasi ini dari entri log, Anda menulis kueri berikut, lalu menyimpan kueri 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 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 diberi tugas 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 telah selesai 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 membuat kueri tampilan log dan menggunakan Log Analytics:

  • Untuk mendapatkan izin yang Anda perlukan guna membuat, mengelola, dan menggunakan tampilan analisis, minta administrator Anda 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 diperlukan untuk 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 dibuat 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.

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 yang lainnya di asia-east1. Anda tidak dapat membuat tampilan analisis yang membuat kueri tampilan log di bucket log tersebut.
  • Resource induk tampilan analisis harus berupa Google Cloud project. Anda tidak dapat membuat tampilan analisis di folder atau organisasi.
  • Set data tertaut tidak didukung untuk tampilan analisis. Oleh karena itu, Anda hanya dapat membuat kueri tampilan analisis 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.
  • Batasan berikut berlaku untuk tampilan analisis:

    • Jumlah maksimum tampilan analisis per Google Cloud project: 100
    • Per Google Cloud project, jumlah maksimum tampilan analisis per region: 50
    • Per project Google Cloud , jumlah maksimum region yang dapat menyimpan tampilan analisis: 10

Langkah berikutnya