Observability Analytics memungkinkan Anda menjalankan kueri SQL untuk menganalisis log, membuat tampilan analisis, menautkan bucket log ke set data BigQuery, dan memantau hasil kueri dengan kebijakan pemberitahuan. Jika Anda mengalami error saat mengonfigurasi atau mengkueri Observability Analytics, Anda dapat menggunakan panduan dalam dokumen ini untuk mengidentifikasi dan mengatasinya. Untuk masalah terkait upgrade bucket log, lihat Memecahkan masalah upgrade bucket untuk menggunakan Observability Analytics.
Pesan error
Bagian ini menjelaskan pesan error yang mungkin Anda lihat dan cara mengatasi kondisi error yang sesuai.
Pesan error No completion signal within allotted timeframe
Anda memasukkan kueri SQL dan memilih Run query. Kueri tidak selesai dan Anda akan melihat pesan error berikut:
The query failed to execute and return results due to error: No completion signal within allotted timeframe.
Untuk mengatasi error ini, lakukan salah satu tindakan berikut:
Persingkat interval kueri log, lalu coba lagi kueri tersebut. Misalnya, jika interval kueri adalah 14 hari, perpendek interval menjadi 7 hari, lalu jalankan kueri.
Buat set data BigQuery tertaut, lalu jalankan kueri dari antarmuka BigQuery. Antarmuka BigQuery mendukung kueri yang memerlukan waktu eksekusi lebih lama daripada antarmuka Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat Membuat set data BigQuery tertaut.
Pesan error kueri terhadap bucket dengan kunci CMEK yang berbeda
Anda memasukkan kueri SQL yang mengkueri beberapa bucket log dan memilih Run query. Kueri tidak selesai dan Anda akan melihat pesan error berikut:
Queries against buckets with distinct CMEK keys must have a key configured in the LogSettings.
Untuk mengatasi situasi ini, lakukan salah satu tindakan berikut:
- Konfigurasikan bucket log Anda untuk menggunakan kunci Cloud Key Management Service (Cloud KMS) yang sama.
- Jika bucket log berada di lokasi yang sama, Anda dapat mengonfigurasi folder atau organisasi yang merupakan resource induk untuk bucket log dengan kunci Cloud KMS default. Kunci default induk harus berada di lokasi yang sama dengan bucket log. Dengan konfigurasi ini, kunci default induk mengenkripsi data sementara yang dihasilkan oleh kueri Observability Analytics. Untuk mengetahui informasi selengkapnya, lihat Batasan Observability Analytics.
Pesan error FROM clause must contain exactly one log view
Anda memasukkan kueri SQL di panel kueri halaman Observability Analytics di konsol Google Cloud , tetapi parser SQL menampilkan error berikut:
FROM clause must contain exactly one log view
Error sebelumnya dilaporkan saat tabel yang ditentukan dalam pernyataan FROM
tidak dapat di-resolve ke tampilan log tertentu.
Untuk mengatasi error ini, pastikan nama tabel Anda memiliki sintaksis yang benar:
Pastikan nama tabel mengikuti sintaksis yang diperlukan oleh skema penamaan Observability Analytics. BigQuery dan Observability Analytics memiliki persyaratan yang berbeda untuk nama tabel. Anda dapat menemukan sintaksis yang diperlukan untuk nama tabel dengan melihat kueri default.
Jika project ID, region, ID bucket, atau ID tampilan Google Cloud dari bucket log berisi karakter titik,
(.), pastikan setiap kolom ini diapit oleh tanda kutip terbalik tunggal,(`).Misalnya, jika Google Cloud project ID adalah
example.com:bluebird, untuk mengkueri tampilan_AllLogsdari bucket log_Default, gunakan sintaksis berikut untuk menentukan tabel:SELECT * FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`Kueri sebelumnya mengasumsikan bahwa bucket
_Defaultberada di regionglobal.
Tidak dapat menyimpan kueri
Anda ingin menyimpan kueri saat ini, jadi Anda menjalankan kueri, lalu mengklik Save, tetapi opsi Save query dinonaktifkan atau Anda tidak dapat menyelesaikan langkah-langkah dialog.
Penyebab kegagalan ini adalah konflik antara kebijakan organisasi dan setelan resource default untuk Cloud Logging. Untuk organisasi atau folder, Anda dapat mengonfigurasi setelan resource default untuk Cloud Logging yang menentukan lokasi. Lokasi ini adalah tempat kueri tersimpan Anda disimpan. Namun, jika lokasi bertentangan dengan kebijakan organisasi, kueri Anda tidak dapat disimpan.
Untuk mengatasi kegagalan ini, minta administrator organisasi Anda untuk memperbarui setelan resource default untuk Cloud Logging agar setelan lokasi diizinkan oleh kebijakan organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan resource default untuk Cloud Logging.
Jika opsi Save query diaktifkan, tetapi Anda tidak dapat menyelesaikan dialog dan menyimpan kueri, lakukan hal berikut:
- Pastikan kueri tidak berisi error sintaksis. Anda hanya dapat menyimpan kueri yang valid.
- Opsional: Salin kueri ke papan klip Anda.
- Muat ulang halaman.
- Jika Anda menyalin kueri ke papan klip, tempel kueri ke panel Query, jalankan kueri, lalu lakukan operasi penyimpanan.
Tidak dapat membuat tampilan analisis
Anda ingin membuat tampilan analisis, jadi Anda memasukkan dan menjalankan kueri SQL, lalu mengklik Save, tetapi opsi Save as analytic view dinonaktifkan.
Untuk mengatasi situasi ini, pastikan peran IAM Anda menyertakan izin berikut:
observability.analyticsViews.{get, list, create, update, delete}
Izin ini tidak disertakan dalam peran Cloud Logging yang telah ditetapkan. Untuk mengetahui informasi tentang peran yang diperlukan, lihat Membuat dan mengkueri tampilan analisis: Sebelum memulai.
Tidak dapat mengkueri tampilan analisis
Anda ingin membuat kueri tampilan analisis, tetapi panel Views di halaman Observability Analytics tidak menampilkan tampilan analisis apa pun.
Untuk mengatasi kegagalan ini, coba langkah berikut:
Pastikan peran IAM Anda menyertakan izin berikut:
observability.analyticsViews.{get, list}
Izin ini tidak disertakan dalam peran Cloud Logging yang telah ditetapkan. Untuk mengetahui informasi tentang peran yang diperlukan, lihat Membuat dan mengkueri tampilan analisis: Sebelum memulai.
Pastikan tampilan analisis ada di project Google Cloud Anda.
Akses ditolak ke halaman Observability Analytics
Anda membuka halaman Observability Analytics di konsol Google Cloud dan pesan error izin ditolak ditampilkan.
Untuk mendapatkan izin yang Anda perlukan untuk memuat halaman Observability Analytics, menjalankan kueri, dan melihat log, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:
-
Melihat log:
Logs Viewer (
roles/logging.viewer) -
Melihat log di bucket log kustom:
Logs View Accessor (
roles/logging.viewAccessor)
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan Logging.
Izin yang Anda perlukan untuk melihat entri log dan menjalankan kueri di halaman Observability Analytics sama dengan izin yang Anda perlukan untuk melihat 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 _AllLogs dari bucket log _Default, lihat Peran Cloud Logging.
Pembuatan bucket log gagal karena batasan lokasi
Anda mencoba membuat bucket log, tetapi tindakan tersebut gagal dengan pesan yang mirip dengan berikut ini:
Constraint `constraints/gcp.resourceLocations` violated for `<CONTAINER>` attempting to change `<BUCKET_NAME>` with location `<LOCATION>`. The location must be in the allowed location list configured by the organization policy administrator.
Pesan error sebelumnya menunjukkan bahwa lokasi yang Anda pilih untuk bucket log baru tidak didukung oleh organisasi Anda.
Untuk mengatasi kegagalan ini, pilih lokasi yang didukung oleh organisasi Anda.
Pembuatan set data BigQuery tertaut gagal
Anda mengedit bucket log untuk membuat set data BigQuery tertaut atau membuat bucket log baru dan memilih opsi untuk membuat set data BigQuery tertaut; namun, set data BigQuery tertaut tidak dibuat.
Untuk mengatasi error ini, minta administrator sistem untuk project Google Cloud agar memberi Anda peran IAM yang menyertakan izin berikut:
logging.links.create
Izin sebelumnya disertakan dalam peran Logging Admin (roles/logging.admin)
dan Logs Configuration Writer (roles/logging.configWriter).
Untuk mengetahui informasi tentang peran dan izin, lihat Kontrol akses dengan IAM.
Penghapusan set data BigQuery tertaut gagal
Anda tidak lagi menginginkan set data BigQuery tertaut, tetapi opsi untuk menghapus set data tersebut dinonaktifkan.
Untuk mengatasi error ini, minta administrator sistem untuk project Google Cloud agar memberi Anda peran IAM yang menyertakan izin berikut:
logging.links.delete
Izin sebelumnya disertakan dalam peran Logging Admin (roles/logging.admin)
dan Logs Configuration Writer (roles/logging.configWriter).
Izin ini memungkinkan Anda menghapus set data BigQuery yang ditautkan dari halaman Logs Storage di konsol Google Cloud . Untuk mengetahui informasi selengkapnya tentang peran dan izin, lihat Kontrol akses dengan IAM.
Observability Analytics menampilkan peringatan tentang metadata sensitif
Halaman Observability Analytics akan menampilkan pesan yang mirip dengan berikut ini:
This SQL query is configured to run on the BigQuery engine using [PROJECT_ID],
and references resources from [RESOURCE, ...]. Sensitive metadata,
including table contents, may be written to [PROJECT_ID].
Pesan peringatan menunjukkan bahwa kueri melewati batas kepemilikan dan memberi Anda kesempatan untuk memverifikasi kueri sebelum dieksekusi. Batas kepemilikan ditentukan oleh beberapa faktor, salah satunya adalah hierarki resource yang digunakan kueri.
Anda tidak dapat mencegah jenis peringatan ini.
Jika halaman Observability Analytics menampilkan dialog peringatan, Anda dapat melakukan salah satu tindakan berikut:
Jika Anda tahu bahwa kueri aman untuk dijalankan dan jika Anda ingin melihat hasil kueri, klik Confirm and Run.
Analisis kueri dan, jika perlu, hapus kueri tersebut. Misalnya, Anda dapat melakukan hal berikut:
- Periksa kueri. Dalam pemeriksaan Anda, pertimbangkan data apa yang dikueri, potensi ukuran set data yang dikueri, dan mesin kueri. Kueri yang dijalankan di layanan BigQuery mungkin akan dikenai biaya.
- Jika Anda dikirimi link ke halaman Observability Analytics, pastikan pengirimnya adalah sumber tepercaya.
Google Cloud menyediakan beberapa fitur yang dapat membantu mencegah pemindahan data yang tidak sah melalui phishing, serangan oleh orang dalam, atau entitas eksternal. Untuk mempelajari lebih lanjut, lihat Keamanan data dengan Observability Analytics.
Pembuatan kueri set data BigQuery tertaut gagal dengan pesan set data tidak ditemukan
Anda mengeluarkan kueri ke set data BigQuery tertaut, dan perintahnya gagal dengan pesan error yang mirip dengan "Dataset not found".
Untuk mengatasi masalah ini, coba langkah-langkah berikut:
- Pastikan jalur ke nama set data sudah benar.
Jalankan perintah
gcloud logging links listberikut dan pastikan responsnya mencantumkan set data BigQuery tertaut Anda.Jika set data BigQuery tertaut Anda tidak tercantum, berarti set data tersebut tidak memiliki induk. Untuk mengatasi skenario ini, hapus set data BigQuery yang ditautkan.
Project dapat memiliki set data BigQuery tertaut yang tidak terpakai jika Anda mencabut pemberian peran IAM dari akun layanan yang digunakan Google Cloud Observability untuk mengelola data, lalu menghapus link di bucket log. Dalam skenario tersebut, Google Cloud Observability tidak dapat menghapus set data BigQuery yang ditautkan.
Tidak dapat menyetel mesin kueri ke BigQuery
Menu Setelan settings menonaktifkan opsi BigQuery.
Untuk mengaktifkan opsi ini, pastikan Anda memiliki set data BigQuery tertaut di bucket log yang sedang dikueri.
Tombol Run on BigQuery dinonaktifkan
Jika tombol Run on BigQuery ditampilkan, tetapi dinonaktifkan, berarti tampilan log yang direferensikan oleh kueri Anda tidak memiliki set data BigQuery yang ditautkan. Untuk menjalankan kueri di mesin BigQuery, buat set data BigQuery tertaut di bucket log Anda.
Tidak Ada Akun Layanan Pemantauan
Anda ingin membuat kebijakan pemberitahuan untuk memantau hasil kueri SQL. Langkah-langkah penyiapan mengharuskan Anda memberikan peran IAM ke Akun Layanan Monitoring, tetapi akun tersebut tidak ada.
Akun Layanan Monitoring disebut agen layanan karena dibuat dan dikelola oleh Google Cloud. Akun ini dibuat secara otomatis saat Anda mengonfigurasi resource atau layanan yang memerlukan akun tersebut. Misalnya, jika Anda membuat saluran notifikasi Pub/Sub, tindakan tersebut dapat menyebabkan Akun Layanan Monitoring dibuat.
Untuk membuat Akun Layanan Monitoring dan memberinya izin yang diperlukan untuk kebijakan pemberitahuan berbasis SQL, lakukan hal berikut:
Membuat Akun Layanan Monitoring. Untuk informasi lebih lanjut, lihat Membuat dan memberikan peran pada agen layanan.
Berikan peran berikut ke Akun Layanan Monitoring:
- Monitoring Service Agent (
roles/monitoring.notificationServiceAgent) di project Anda. - BigQuery Data Viewer (
roles/bigquery.dataViewer) di set data BigQuery tertaut Anda.
- Monitoring Service Agent (
Error izin Monitoring Service Account ditolak
Anda ingin membuat kebijakan pemberitahuan untuk memantau hasil kueri SQL.
Namun, Anda melihat error PermissionDenied dengan pesan yang diawali dengan
Error authenticating service account.
Untuk mengatasi kegagalan ini, berikan peran berikut ke Akun Layanan Monitoring:
- Monitoring Service Agent (
roles/monitoring.notificationServiceAgent) di project Anda. - BigQuery Data Viewer (
roles/bigquery.dataViewer) di set data BigQuery tertaut Anda.
Ada entri log duplikat di hasil Observability Analytics saya
Anda menjalankan kueri yang menghitung atau melaporkan entri duplikat. Karena Logs Explorer menghapus entri duplikat berdasarkan nama log, stempel waktu, dan ID penyisipan, Anda mengharapkan Observability Analytics menghapus duplikat entri log sebelum kueri dijalankan.
Observability Analytics tidak melakukan jenis penghapusan duplikat yang sama dengan yang dilakukan oleh Logs Explorer.
Untuk mengatasi entri log duplikat, coba langkah-langkah berikut:
Tentukan apakah entri log duplikat memiliki nilai stempel waktu penerimaan yang berbeda. Jika stempel waktu berbeda, hal ini menunjukkan bahwa data yang sama telah ditulis ke Logging beberapa kali.
Untuk mengatasi penulisan duplikat, selidiki integrasi logging Anda untuk menemukan pesan error atau kesalahan konfigurasi.
Jika bucket Anda dikonfigurasi untuk menggunakan kunci Cloud Key Management Service, pastikan Anda berada dalam kuota dan kunci Anda dapat diakses secara konsisten. Melebihi kuota atau kehilangan akses kunci dapat menyebabkan entri log duplikat.
Untuk mengatasi kegagalan ini, pastikan Anda tidak melebihi kuota dan kunci Anda dapat diakses.
Ubah kueri Anda untuk menghapus entri log duplikat.
Misalnya, asumsikan bahwa payload JSON berisi
fieldAdanfieldB, dengan yang pertama adalah string dan yang kedua adalah numerik. Selain itu, asumsikan bahwa payload JSON berisi kolom berlabelserver, yang berisi string. Selanjutnya, pertimbangkan kueri berikut:SELECT JSON_VALUE(json_payload.fieldA) AS fieldA, SUM(IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0)) AS sum_fieldB FROM `VIEW` WHERE JSON_VALUE(json_payload.server) = "test" GROUP BY fieldA;Anda dapat mengubah kueri untuk menghapus entri log duplikat, dengan nama log, stempel waktu, dan ID penyisipan diperiksa untuk menentukan apakah entri log merupakan duplikat:
WITH deduplicated AS ( SELECT JSON_VALUE(json_payload.fieldA) AS fieldA, IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0) AS fieldB FROM `VIEW` a WHERE JSON_VALUE(json_payload.server) = "test" QUALIFY ROW_NUMBER() OVER (PARTITION BY a.log_name, a.timestamp, a.insert_id ) = 1 ) SELECT fieldA, SUM(fieldB) AS sum_fieldB FROM deduplicated GROUP BY fieldA;