Menganalisis volume log dengan Log Analytics

Dokumen ini menjelaskan bagaimana Anda dapat menggunakan Log Analytics untuk memperkirakan volume entri log Anda yang dapat ditagih. Anda dapat menulis kueri yang melaporkan dan menggabungkan volume yang dapat ditagih dengan berbagai dimensi, seperti jenis sumber daya atau nama aplikasi, lalu membuat diagram dan melihat hasil kueri.

Cara membuat kueri untuk volume yang dapat ditagih

Volume entri log yang dapat ditagih, yakni ukuran yang dilaporkan ke Penagihan Cloud, tersedia melalui kolom storage_bytes. Di kueri, Anda dapat menggunakan kolom storage_bytes dengan cara yang sama Anda menggunakan kolom skema apa pun yang jenis datanya adalah INTEGER. Misalnya, Anda dapat menyertakannya dalam klausa SELECT, dalam pernyataan CASE, dan dalam ekspresi tabel umum. Untuk informasi selengkapnya tentang log, lihat dokumen berikut:

Karena Penagihan Cloud menggunakan volume yang dapat ditagih saat menentukan biaya, Anda dapat menulis kueri yang dapat membantu memahami sumber biaya Anda. Misalnya, Anda dapat menulis kueri yang membantu Anda menentukan aplikasi mana yang menulis entri log terbanyak. Untuk mempelajari cara menghubungkan volume yang dapat ditagih dengan biaya tambahan, lihat ringkasan harga Cloud Logging dan harga Cloud Logging.

Volume entri log yang dapat ditagih tidak sebesar LogEntry yang dikirim ke Cloud Logging API. Volume yang dapat ditagih mencakup byte yang diperlukan untuk serialisasi dan metadata.

Sebelum memulai

  1. Untuk mendapatkan izin yang Anda butuhkan, gunakan Log Analytics untuk menjalankan kueri dan melihat log, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:

    • Untuk membuat kueri bucket log _Required dan _Default: Logs Viewer (roles/logging.viewer)
    • Untuk membuat kueri bucket log kustom: Aksesor Tampilan Log (roles/logging.viewAccessor)

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

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui perintah peran atau setelan standar lainnya peran tertentu.

  2. Untuk tampilan log yang ingin Anda buat kuerinya, buka halaman Logs Storage dan pastikan bucket log yang menyimpan tampilan log tersebut diupgrade untuk menggunakan Log Analytics. Jika perlu, mengupgrade bucket log.

    Di konsol Google Cloud, buka halaman Logs Storage:

    Buka Logs Storage

    Jika Anda menggunakan bilah pencarian untuk menemukan halaman ini, kemudian pilih hasil yang sub judulnya Logging.

  3. Opsional: Jika Anda ingin membuat kueri data log menggunakan set data BigQuery, lalu membuat set data BigQuery tertaut.

Sampel kueri

Bagian ini menyediakan contoh kueri yang menganalisis data dari satu tampilan log. Jika Anda menyimpan data dalam beberapa tampilan log dan ingin menghitung data gabungan untuk data yang disimpan dalam tampilan tersebut, Anda harus menggunakan metode UNION pernyataan pribadi Anda.

Anda dapat melakukan kueri entri log Anda dengan menggunakan Log Analytics atau di mana pun Anda dapat mengkueri set data BigQuery, yang mencakup halaman BigQuery Studio dan Looker Studio, serta alat command line bq.

Untuk menggunakan kueri contoh, lakukan hal berikut:

  • Halaman Log Analytics: Ganti TABLE_NAME_OF_LOG_VIEW dengan nama tampilan log. Formatnya adalah project_ID.region.bucket_ID.view_ID.

    Buka Log Analytics

  • Set data BigQuery: Ganti TABLE_NAME_OF_LOG_VIEW dengan jalur ke tabel di bagian yang ditautkan.

    Buka BigQuery Studio

Kueri untuk volume log menurut aplikasi

Untuk menghitung total byte per hari, per aplikasi, untuk entri log Anda yang yang ditulis berdasarkan resource Google Kubernetes Engine dan yang memiliki payload JSON, gunakan kueri berikut:

SELECT
  timestamp_trunc(timestamp,DAY) as day,
  JSON_VALUE(labels["k8s-pod/app"]) as app_id,
  SUM(storage_bytes) as total_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"
GROUP BY ALL

Untuk memvisualisasikan data, Anda dapat membuat sebuah diagram.

Dalam contoh berikut, data ditampilkan sebagai diagram batang bertumpuk. Setiap batang pada diagram menampilkan jumlah total byte yang disimpan, diatur berdasarkan aplikasi. Dalam contoh ini, aplikasi frontend menghasilkan data log terbanyak:

Contoh diagram yang menampilkan hasil kueri volume log menurut aplikasi.

Kueri untuk volume log berdasarkan nama log

Untuk menampilkan jumlah byte yang disimpan dan nama log untuk setiap byte entri log yang memiliki payload JSON dan yang ditulis terhadap Jika resource Google Kubernetes Engine, gunakan kueri berikut;

SELECT
  log_id AS log_name,
  storage_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"

Kueri sebelumnya tidak menggabungkan hasil, tetapi ada satu baris untuk setiap entri log, dan baris itu berisi nama log dan jumlah untuk semua byte yang disimpan. Jika Anda membuat diagram data ini, Anda dapat memvisualisasikan data log Anda seperti yang ditulis ke log yang berbeda:

Contoh diagram yang menampilkan hasil kueri volume log berdasarkan nama log.

Diagram sebelumnya menunjukkan bahwa sebagian besar data log ditulis ke log bernama stdout.

Menggunakan alat command line bq untuk membuat kueri volume log berdasarkan nama log

Anda dapat menyertakan kolom storage_bytes dalam kueri yang dijalankan melalui halaman BigQuery Studio atau dengan menggunakan alat command line bq.

Kueri berikut melaporkan nama log dan jumlah byte yang disimpan untuk setiap kueri entri log:

bq query --use_legacy_sql=false  'SELECT log_id as log_name,
  storage_bytes FROM `TABLE_NAME_OF_LOG_VIEW`'

Hasil kueri ini mirip dengan kueri berikut ini:

+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout   |           716 |
| stdout   |           699 |
| stdout   |           917 |
| stdout   |           704 |

Setiap baris sesuai dengan satu entri log. Nilai storage_bytes adalah volume yang dapat ditagih untuk entri log tersebut.

Batasan

Kolom storage_bytes hanya tersedia jika hal berikut benar:

  • Bucket log telah diupgrade agar menggunakan Log Analytics.
  • Kueri Anda dijalankan di halaman Log Analytics atau di mana pun Anda dapat membuat kueri set data BigQuery, yang mencakup Halaman BigQuery Studio dan Looker Studio, serta alat command line bq.

  • Entri log tersebut ditulis pada atau setelah 1 Januari 2024.