Observability Analytics memungkinkan Anda memperkirakan volume entri log yang dapat ditagih, sehingga Anda dapat memahami dan mengelola biaya logging. Anda dapat menulis kueri SQL untuk menggabungkan volume log berdasarkan dimensi seperti jenis resource atau nama aplikasi, lalu melihat atau membuat diagram hasilnya.
Cara membuat kueri untuk volume tertagih
Volume tertagih dari entri log, yang merupakan ukuran yang dilaporkan ke Penagihan Cloud, tersedia melalui kolom storage_bytes.
Dalam kueri, Anda dapat menggunakan kolom storage_bytes dengan cara yang sama seperti 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 mengetahui informasi selengkapnya tentang cara membuat kueri log Anda, lihat dokumen berikut:
Karena Penagihan Cloud menggunakan volume tertagih saat menentukan biaya, Anda dapat menulis kueri yang membantu Anda memahami sumber biaya. Misalnya, Anda dapat menulis kueri yang membantu Anda menentukan aplikasi mana yang menulis entri log terbanyak. Untuk mempelajari cara menghubungkan volume tertagih dengan biaya, lihat bagian Cloud Logging di halaman Harga Google Cloud Observability.
Volume tertagih dari entri log bukanlah ukuran objek LogEntry yang dikirim ke Cloud Logging API. Volume tertagih mencakup byte yang diperlukan untuk serialisasi dan metadata.
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 konsol Google Cloud , 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 Anda perlukan untuk menggunakan Observability Analytics dan mengkueri tampilan log, 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 entitas ke tampilan log tertentu dengan menambahkan IAM Condition ke pemberian peran Logs View Accessor yang dibuat di level project, atau dengan menambahkan binding IAM ke file kebijakan tampilan log. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke tampilan log.
Izin ini sama dengan izin 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 guna mengkueri tampilan analisis, minta administrator untuk memberi Anda peran IAM Observability Analytics User (
roles/observability.analyticsUser) di project Anda.
Sampel kueri
Bagian ini memberikan contoh kueri yang menganalisis data dari satu tampilan log.
Jika Anda menyimpan data dalam beberapa tampilan log dan ingin menghitung nilai agregat untuk data yang disimpan dalam tampilan tersebut, Anda harus menggunakan pernyataan UNION.
Anda dapat mengkueri entri log menggunakan halaman Observability 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 Observability Analytics: Ganti VIEW dengan nama tampilan log. Formatnya adalah
project_ID.region.bucket_ID.view_ID.Set data BigQuery: Ganti VIEW dengan jalur ke tabel di set data BigQuery yang ditautkan.
Kueri terkait volume log menurut aplikasi
Untuk menghitung total byte per hari, per aplikasi, untuk entri log Anda yang ditulis terhadap 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
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
GROUP BY ALL
Untuk memvisualisasikan data, Anda dapat membuat diagram.
Dalam contoh berikut,
data ditampilkan sebagai diagram batang bertumpuk. Setiap batang pada diagram menampilkan jumlah total byte yang disimpan, yang diatur berdasarkan aplikasi. Dalam contoh ini, aplikasi frontend menghasilkan data log terbanyak:
Kueri untuk volume log berdasarkan nama log
Untuk mencantumkan jumlah byte yang disimpan dan nama log untuk setiap entri log yang memiliki payload JSON dan yang ditulis terhadap resource Google Kubernetes Engine, gunakan kueri berikut:
SELECT
log_id AS log_name,
storage_bytes
FROM
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
Kueri sebelumnya tidak menggabungkan hasil, melainkan ada satu baris untuk setiap entri log, dan baris tersebut berisi nama log dan jumlah byte yang disimpan. Jika membuat diagram data ini, Anda dapat memvisualisasikan bagian data log Anda seperti yang ditulis ke berbagai log:
Diagram sebelumnya menunjukkan bahwa sebagian besar data log ditulis ke log bernama
stdout.
Menggunakan alat command line bq untuk mengkueri volume log berdasarkan nama log
Anda dapat menyertakan kolom storage_bytes dalam kueri yang dijalankan melalui halaman BigQuery Studio atau menggunakan alat command line bq.
Kueri berikut melaporkan nama log dan jumlah byte yang disimpan untuk setiap entri log:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `VIEW`'
Hasil kueri ini mirip dengan berikut ini:
+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout | 716 |
| stdout | 699 |
| stdout | 917 |
| stdout | 704 |
Setiap baris sesuai dengan satu entri log. Nilai kolom storage_bytes
adalah volume tertagih untuk entri log tersebut.
Batasan
Kolom storage_bytes hanya tersedia jika hal berikut terpenuhi:
- Bucket log diupgrade untuk menggunakan Observability Analytics.
Kueri Anda dijalankan di halaman Observability 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 ditulis pada atau setelah 1 Januari 2024.