GSP1088
Ringkasan
Cloud Logging adalah layanan terkelola sepenuhnya yang dapat Anda gunakan untuk menyimpan, menelusuri, menganalisis, memantau, serta membuat pemberitahuan terkait data logging dan peristiwa dari Google Cloud.
Di lab ini, Anda akan mempelajari fitur dan alat yang disediakan oleh Cloud Logging untuk mendapatkan insight tentang aplikasi Anda.
Yang akan Anda pelajari
Di lab ini, Anda akan mempelajari cara:
- Menggunakan Cloud Logging secara efektif dan mendapatkan insight tentang aplikasi yang berjalan di Google Kubernetes Engine (GKE).
- Membangun dan menjalankan kueri secara efektif menggunakan analisis kemampuan observasi.
Aplikasi demo yang digunakan dalam lab
Di lab ini, Anda akan mengerjakan skenario berdasarkan aplikasi microservices demo yang di-deploy ke cluster GKE. Aplikasi demo ini memiliki banyak microservice dan dependensi yang disematkan di dalamnya.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Konsol Google Cloud
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kanan terdapat panel Lab setup and access yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Kredensial sementara (nama pengguna dan sandi) yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
Perhatikan bahwa timer lab terletak di dekat bagian atas halaman, yang menampilkan waktu yang tersisa.
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab setup and access.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab setup and access.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Penggunaan akun Google Cloud sendiri untuk lab ini mungkin dikenai biaya tambahan.
-
Klik untuk melanjutkan ke halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan daftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Penyiapan infrastruktur
Memverifikasi cluster GKE
Hubungkan ke cluster GKE dan validasi bahwa cluster telah dibuat dengan benar.
- Di Cloud Shell, tetapkan zona di
gcloud:
gcloud config set compute/zone {{{project_0.default_zone|placeholder}}}
- Gunakan perintah berikut untuk melihat status cluster:
gcloud container clusters list
Anda akan melihat status seperti berikut:
NAME: day2-ops
LOCATION: us-west1
MASTER_VERSION: 1.31.5-gke.1023000
MASTER_IP: 34.169.197.173
MACHINE_TYPE: e2-standard-2
NODE_VERSION: 1.31.5-gke.1023000
NUM_NODES: 3
STATUS: RUNNING
Status cluster akan tertulis RUNNING. Jika statusnya masih PROVISIONING, tunggu sebentar lalu jalankan kembali perintah di atas. Ulangi hingga status berubah menjadi RUNNING.
Anda juga dapat memeriksa progresnya di Konsol Google Cloud. Di Navigation menu (
), klik Kubernetes Engine > Clusters.
- Dapatkan kredensial cluster setelah status cluster berubah menjadi RUNNING:
gcloud container clusters get-credentials day2-ops --region {{{project_0.default_region|placeholder}}}
Output Anda akan terlihat seperti ini:
Fetching cluster endpoint and auth data.
kubeconfig entry generated for day2-ops.
- Pastikan node telah dibuat:
kubectl get nodes
Output Anda akan terlihat seperti ini:
NAME STATUS ROLES AGE VERSION
gke-day2-ops-day2-ops-node-pool-0d9c7ef3-xc44 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-b17ac6d6-tch7 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-ed506ae8-wsc5 Ready <none> 11m v1.31.5-gke.1023000
Tugas 2. Men-deploy aplikasi
Selanjutnya, Anda akan men-deploy aplikasi microservice bernama Online Boutique ke cluster untuk membuat workload sebenarnya yang dapat dipantau.
- Jalankan perintah berikut untuk membuat clone repo:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
- Buka direktori
microservices-demo:
cd microservices-demo
- Instal aplikasi menggunakan
kubectl:
kubectl apply -f release/kubernetes-manifests.yaml
- Pastikan semuanya berjalan dengan benar:
kubectl get pods
Output harus terlihat seperti output di bawah. Jalankan kembali perintah hingga semua pod melaporkan status Running sebelum melanjutkan ke langkah berikutnya.
NAME READY STATUS RESTARTS AGE
adservice-55f94cfd9c-4lvml 1/1 Running 0 20m
cartservice-6f4946f9b8-6wtff 1/1 Running 2 20m
checkoutservice-5688779d8c-l6crl 1/1 Running 0 20m
currencyservice-665d6f4569-b4sbm 1/1 Running 0 20m
emailservice-684c89bcb8-h48sq 1/1 Running 0 20m
frontend-67c8475b7d-vktsn 1/1 Running 0 20m
loadgenerator-6d646566db-p422w 1/1 Running 0 20m
paymentservice-858d89d64c-hmpkg 1/1 Running 0 20m
productcatalogservice-bcd85cb5-d6xp4 1/1 Running 0 20m
recommendationservice-685d7d6cd9-pxd9g 1/1 Running 0 20m
redis-cart-9b864d47f-c9xc6 1/1 Running 0 20m
shippingservice-5948f9fb5c-vndcp 1/1 Running 0 20m
- Jalankan perintah berikut untuk mendapatkan IP eksternal aplikasi.
export EXTERNAL_IP=$(kubectl get service frontend-external -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
echo $EXTERNAL_IP
Alamat IP hanya akan ditampilkan setelah layanan di-deploy. Anda mungkin perlu mengulangi perintah hingga alamat IP eksternal ditetapkan.
Setelah alamat IP ditetapkan, output Anda akan terlihat seperti ini:
35.222.235.86
- Terakhir, pastikan aplikasi telah aktif dan berjalan:
curl -o /dev/null -s -w "%{http_code}\n" http://${EXTERNAL_IP}
Konfirmasi Anda akan terlihat seperti ini:
200
Setelah aplikasi di-deploy, Anda juga dapat melihat statusnya di konsol.
-
Di halaman Kubernetes Engine, di panel kiri, klik Workloads untuk melihat bahwa semua pod dalam status OK.
-
Di panel kiri, klik Gateways, Services & Ingress, lalu klik tab Services dan pastikan semua layanan menampilkan status OK.
Membuka aplikasi
Di Gateways, Services & Ingress > Services , klik IP Endpoint dari layanan frontend-external.
Halaman web demo yang mirip dengan halaman berikut akan terbuka:
Catatan: Anda mungkin perlu mengklik tombol "Continue to site" jika diminta.
Klik Periksa progres saya untuk memverifikasi tujuan.
Men-deploy aplikasi
Tugas 3. Mengelola bucket log
Ada dua cara untuk mengaktifkan Observability Analytics. Salah satu caranya adalah dengan mengupgrade bucket yang ada. Cara lainnya adalah membuat bucket log baru dengan Observability Analytics diaktifkan.
Mengupgrade bucket yang ada
Anda dapat menggunakan langkah-langkah berikut untuk mengupgrade bucket log yang ada.
-
Di konsol, pada Navigation menu (
), klik View all products > Observability > Logging. Klik Favorite untuk memudahkan akses nanti di lab.
-
Klik Logs storage.
-
Klik Upgrade untuk bucket yang ada, Default bucket.
-
Klik Upgrade di dialog konfirmasi.
-
Tunggu hingga statusnya berubah menjadi Upgraded.
-
Klik Open dan pilih tampilan _AllLogs.
Halaman Observability Analytics akan terbuka.
Membuat Bucket log baru
Anda dapat menggunakan langkah-langkah berikut untuk membuat bucket log baru.
-
Di panel kiri, klik Logs storage, lalu klik Create log bucket di bagian atas jendela Logs Storage.
-
Berikan nama, seperti day2ops-log, ke bucket tersebut.
-
Centang Upgrade to use Observability Analytics dan Create a new BigQuery dataset that links to this bucket.
-
Ketik nama set data BigQuery day2ops_log.
-
Untuk kolom Region, pilih opsi Global.
Memilih Create a linked dataset in BigQuery akan membuat set data untuk Anda di BigQuery jika belum ada. Dengan demikian, Anda dapat menjalankan kueri di BigQuery.
- Klik Create bucket untuk membuat bucket log.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat Bucket log
Menulis ke Bucket log baru
Ada beberapa cara untuk membuat sink log guna merutekan entri log ke bucket log baru:
- Langsung dari Logs router.
- Dari Logs explorer. Anda dapat menjalankan kueri log untuk memilih dan memfilter log yang Anda minati saat membuat sink. Keuntungan dari pendekatan ini adalah kueri log otomatis disalin ke konfigurasi sink sebagai filter.
-
Klik Logs explorer di panel kiri.
-
Di kanan atas, aktifkan Show query dan jalankan kueri berikut di kolom kueri:
resource.type="k8s_container"
-
Klik Actions > Create sink.
-
Untuk nama sink, ketik day2ops-sink.
-
Klik Next.
-
Pilih Logging bucket di menu dropdown layanan sink.
-
Pilih bucket log baru yang baru saja Anda buat.
Bucket log baru Anda akan terlihat seperti ini:
projects/qwiklabs-gcp-00-xxxxxxx/locations/global/buckets/day2ops-log
- Klik Next.
Anda akan melihat kueri jenis resource sudah ada di filter.
- Klik Create sink.
Tunggu sekitar satu menit dan sink Anda akan dibuat.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat sink log
Membaca dari Bucket log baru
Di panel kiri, buka Logs explorer. Perhatikan dalam daftar Fields, di bagian Resource Type, bahwa ada banyak jenis resource yang berbeda untuk log.
-
Untuk melihat log di bucket log baru, di kiri atas jendela Logs Explorer, klik Project logs > Log view > bucket log baru (yang baru Anda buat).
-
Klik Apply.
Anda akan melihat bahwa Kubernetes Containers kini menjadi satu-satunya jenis resource dan jumlah entri log lebih sedikit. Hal ini karena hanya log yang difilter yang dikirim ke bucket.
Tugas 4. Analisis log
- Di panel kiri, klik Observability Analytics untuk membuka halaman Observability Analytics.
Jika kolom kueri Anda kosong atau Anda lupa tabel mana yang akan digunakan, klik tombol Run query untuk mendapatkan kembali kueri contoh.
Anda dapat menjalankan kueri Anda sendiri di kolom kueri. Tugas ini memberikan beberapa contoh.
Penting: Nama tampilan log dalam klausa FROM berbeda untuk bucket log. Pastikan Anda menggunakan nama tampilan yang benar. Anda dapat menggunakan langkah sebelumnya untuk memverifikasi.
Contoh kueri untuk menemukan latensi minimum, maksimum, dan rata-rata
Dari panel kanan, pilih <> SQL. Klik tombol Clear untuk menghapus konten yang ada dari editor kueri. Tempel kueri ke editor, lalu pilih Run query untuk mengambil error terbaru dari container.
Gunakan kueri untuk menemukan latensi minimum, maksimum, dan rata-rata dalam jangka waktu tertentu untuk layanan frontend:
SELECT
hour,
MIN(took_ms) AS min,
MAX(took_ms) AS max,
AVG(took_ms) AS avg
FROM (
SELECT
FORMAT_TIMESTAMP("%H", timestamp) AS hour,
CAST( JSON_VALUE(json_payload,
'$."http.resp.took_ms"') AS INT64 ) AS took_ms
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)
AND 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
1
ORDER BY
1
Contoh kueri untuk menemukan jumlah kunjungan halaman Produk
Gunakan kueri untuk menemukan berapa kali pengguna mengunjungi halaman produk tertentu dalam satu jam terakhir:
SELECT
count(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
text_payload like "GET %/product/L9ECAV7KIM %"
AND
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
Contoh kueri untuk menemukan jumlah sesi yang berakhir dengan checkout keranjang belanja
Gunakan kueri untuk menemukan jumlah sesi yang berakhir dengan checkout (panggilan POST ke layanan /cart/checkout):
SELECT
JSON_VALUE(json_payload.session),
COUNT(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
JSON_VALUE(json_payload['http.req.method']) = "POST"
AND JSON_VALUE(json_payload['http.req.path']) = "/cart/checkout"
AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
GROUP BY
JSON_VALUE(json_payload.session)
Selamat!
Anda kini memiliki pengalaman menggunakan Cloud Logging untuk mendapatkan insight tentang aplikasi yang berjalan di GKE, serta membangun dan menjalankan kueri menggunakan analisis kemampuan observasi.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 06 Agustus 2026
Lab Terakhir Diuji pada 06 Agustus 2026
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.