Menulis dan membuat kueri entri log dengan gcloud CLI
Dengan Google Cloud CLI, Anda dapat menulis dan mengkueri entri log di Cloud Logging dari command line, sehingga Anda dapat menguji penyerapan log dan memeriksa data log tanpa menulis kode aplikasi. Dalam panduan memulai ini, Anda akan menulis dan mencantumkan entri log terstruktur dan tidak terstruktur menggunakan gcloud CLI, mencantumkan entri log menggunakan Cloud Logging API, serta melihat dan membuat kueri log menggunakan Logs Explorer.
Sebelum memulai
Anda harus memiliki project Google Cloud dengan penagihan yang diaktifkan untuk menyelesaikan panduan memulai ini. Jika Anda tidak memiliki project Google Cloud , atau jika Anda belum mengaktifkan penagihan untuk project Google Cloud , lakukan hal berikut:-
Instal Google Cloud CLI.
-
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk membuat, mencantumkan, dan menghapus entri log,
minta administrator untuk memberi Anda
peran IAM Logging Admin (roles/logging.admin) di project Anda.
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 peran khusus atau peran bawaan lainnya.
Peran Logs Writer (roles/logging.logWriter) dan Logs Viewer
(roles/logging.viewer) berisi izin untuk membuat dan mencantumkan
entri log. Untuk menghapus entri log, berikan peran Logging Admin (roles/logging.admin), yang berisi izin untuk membuat, mencantumkan, dan menghapus entri log. Perhatikan bahwa peran Logging Admin (roles/logging.admin) juga memberikan izin untuk melakukan semua tindakan di Logging.
Menulis entri log menggunakan gcloud CLI
Logging mendukung entri log dengan data terstruktur dan tidak terstruktur. Data terstruktur terdiri dari struktur data JSON; misalnya,
{"weather": "partly cloudy"}. Data tidak terstruktur
adalah string karakter; misalnya, "A simple entry".
Pada langkah berikutnya, Anda akan menggunakan gcloud CLI untuk menulis entri log dengan data tidak terstruktur dan entri log dengan data terstruktur. Gcloud CLI menyediakan antarmuka command line ke Cloud Logging API.
Untuk menulis entri log dengan data tidak terstruktur ke log
my-test-log, jalankan perintahgcloud logging write:gcloud logging write my-test-log "A simple entry."Setelah perintah selesai, Anda akan melihat pesan:
Created log entry.Tulis entri log dengan data terstruktur ke log
my-test-log:gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'Saat menulis entri log dengan data terstruktur, Anda harus menyertakan
--payload-type=json. Jika Anda menghilangkan kolom ini, Logging akan menafsirkan payload sebagai data tidak terstruktur.
Jika log my-test-log tidak ada, Logging akan membuat log saat entri log diterima.
Mencantumkan entri log menggunakan gcloud CLI
Anda dapat mengambil entri log dari Logging dan menampilkannya menggunakan gcloud CLI. Misalnya, untuk mengambil dan menampilkan entri log dengan jenis resource global, jalankan perintah berikut:
gcloud logging read "resource.type=global"
Perintah ini menampilkan hasil yang mirip dengan berikut ini:
---
insertId: jpj9zjf73t1mn
jsonPayload:
message: My second entry
weather: partly cloudy
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
resource:
labels:
project_id: myloggingproject
type: global
timestamp: '2018-11-01T18:39:31.114507977Z'
---
insertId: vd4m1if7h7u1a
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
resource:
labels:
project_id: myloggingproject
type: global
textPayload: A simple entry
timestamp: '2018-11-01T18:39:19.718100792Z'
Untuk mengetahui informasi tentang cara membaca log, lihat dokumentasi referensi gcloud logging read.
Melihat entri log di Logs Explorer
Untuk melihat entri log di konsol Google Cloud , Anda dapat menggunakan Logs Explorer. Sebagian besar project Google Cloud menyimpan log dalam jumlah besar; Anda dapat memilih entri log tertentu dengan menulis kueri.
Untuk melihat entri log yang Anda tulis menggunakan Logs Explorer, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Pastikan project Google Cloud Anda dipilih di menu navigasi Google Cloud. Jika perlu, gunakan menu drop-down project Google Cloud untuk memilih project Google Cloud Anda.
Di menu Resource, pilih Global.
Jika Anda tidak melihat opsi menu Global atau jika Anda tidak melihat entri log, tunggu beberapa menit, lalu muat ulang halaman. Mungkin perlu waktu beberapa menit hingga Logging menerima entri log.
Untuk melihat detail entri log, klik chevron_right Menu.
Entri log pertama memiliki data yang disimpan di
textPayload. Entri log kedua berisi data terstruktur yang disimpan dijsonPayload. Payload terstruktur berisi kuncimessagedanweather.
Untuk mengetahui informasi tentang format data entri log, lihat
jenis LogEntry.
Membuat kueri entri log di Logs Explorer
Anda dapat mengkueri entri log menggunakan editor kueri dan, dengan log terstruktur, berdasarkan kunci dan nilai. Misalnya, untuk menampilkan semua entri log yang berisi teks simple, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Di menu Resource, pilih Global.
Di editor kueri, masukkan string
simpledalam tanda petik. Tampilan log hanya menampilkan entri logA simple entry.Setelah melihat log, hapus string kueri yang Anda tambahkan dan klik Run query. Kedua entri log akan muncul kembali di layar.
Untuk menampilkan semua entri log dengan data terstruktur yang memiliki kunci weather
dengan kolom value berisi partly, lakukan hal berikut:
Editor kueri berisi baris
resource.type="global". Masukkan perintah berikut:jsonPayload.weather:partlyKlik Run query. Hasilnya adalah entri log tunggal
My second entry.
Logs Explorer juga menawarkan kueri yang disimpan, disarankan, dan terbaru. Untuk mengetahui informasi selengkapnya tentang kueri, lihat Membuat kueri di Logs Explorer.
Untuk mengetahui contoh kueri, lihat Contoh kueri menggunakan Logs Explorer.
Pemecahan masalah
Kesalahan ketik dan nama kolom yang tidak diketahui akan menyebabkan perintah gcloud CLI selesai dengan pesan argumen tidak valid. Misalnya, jika Anda lupa titik di
resource.type, hal ini akan menyebabkan error:ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.Jika Cloud Logging belum diberi izin akses yang diperlukan, perintah gcloud CLI akan selesai dengan pesan permission denied. Misalnya, jika instance VM Compute Engine dikonfigurasi dengan setelan API default, perintah
listakan selesai dengan error izin ditolak:ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.Untuk memperbaiki kondisi ini, ubah izin instance VM Compute Engine Anda untuk memberikan izin baca Cloud Logging dengan melakukan hal berikut:
- Buka halaman VM instance details untuk instance VM Anda. Klik Stop. Tindakan ini mungkin memerlukan waktu satu atau dua menit untuk diselesaikan.
- Untuk mengubah konfigurasi, klik Edit.
- Telusuri header Cloud API access scopes, lalu klik Details untuk menampilkan setelan setiap API. Ubah entri dari Cloud Logging API menjadi Full. Klik Save.
- Untuk memulai ulang instance VM, klik Start. Setelah beberapa saat, VM Anda siap digunakan.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, hapus project Google Cloud yang berisi resource tersebut.
(Opsional) Untuk menghapus entri log yang Anda buat, jalankan perintah
gcloudberikut:gcloud logging logs delete my-test-log
Jika Anda tidak menghapus entri log, entri tersebut akan berakhir masa berlakunya dan dihapus. Untuk mengetahui informasi retensi, lihat Kuota & batas.
Langkah berikutnya
- Untuk mengetahui detail tentang antarmuka command line Logging, baca halaman referensi untuk grup perintah
gcloud logging. - Untuk dokumentasi tentang Logging API, lihat Cloud Logging API.
- Untuk mengetahui detail tentang Logs Explorer, lihat Menggunakan Logs Explorer.