Tentang tampilan analisis

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.

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 di asia-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