Dokumen ini menjelaskan cara mengaktifkan, membuat, dan melihat log dari Cloud Logging untuk tugas Batch.
Anda dapat menggunakan log untuk mendapatkan informasi yang berguna untuk menganalisis pekerjaan Anda. Misalnya, log dapat membantu Anda melakukan debug pada tugas yang gagal.
Perlu diketahui bahwa log hanya dibuat setelah tugas mulai berjalan dan hanya jika logging diaktifkan untuk tugas tersebut. Jika Anda perlu menganalisis tugas tanpa log, lihat peristiwa status.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang Anda perlukan untuk menganalisis tugas menggunakan log, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Untuk membuat tugas:
-
Batch Job Editor (
roles/batch.jobsEditor
) di project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
-
Batch Job Editor (
-
Untuk melihat log:
Logs Viewer (
roles/logging.viewer
) di project
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.
-
Untuk membuat tugas:
Mengaktifkan logging untuk tugas
Untuk mengizinkan log dibuat untuk tugas, aktifkan log dari Cloud Logging saat Anda membuat tugas:
- Jika Anda membuat tugas menggunakan konsol Google Cloud , log dari Cloud Logging akan selalu diaktifkan.
Jika Anda membuat tugas menggunakan gcloud CLI atau Batch API, log dari Cloud Logging dinonaktifkan secara default. Untuk mengaktifkan log dari Cloud Logging, sertakan konfigurasi berikut untuk kolom
logsPolicy
saat membuat tugas:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Menulis dan membuat log untuk tugas
Jika log dari Cloud Logging diaktifkan untuk tugas, Cloud Logging akan otomatis membuat log apa pun yang ditulis untuk tugas tersebut. Secara khusus, tugas Batch dapat memiliki jenis log berikut:
log agen (
batch_agent_logs
): log untuk aktivitas dari agen layanan Batch.Batch otomatis menulis log agen untuk setiap tugas yang telah mengaktifkan logging.
log tugas (
batch_task_logs
): log untuk data apa pun yang telah Anda konfigurasi agar runnables tugas ditulis ke aliran output standar (stdout
) atau aliran error standar (stderr
).Anda dapat menulis log tugas secara opsional untuk setiap tugas yang telah mengaktifkan logging.
Melihat log khusus tugas
Anda dapat melihat log tugas menggunakan konsol Google Cloud , gcloud CLI, Logging API, Go, Java, Python, atau C++.
Konsol
Untuk melihat log tugas menggunakan konsol Google Cloud , lakukan hal berikut:
Di konsol Google Cloud , buka halaman Job list.
Di kolom Nama tugas, klik nama tugas. Halaman Job details akan terbuka.
Klik tab Logs. Batch menampilkan semua log yang terkait dengan tugas.
Opsional: Untuk memfilter log, lakukan salah satu hal berikut:
Masukkan filter di kolom Filter .
Dalam daftar Severity, pilih severity.
Klik membuat kueri di Logs Explorer menggunakan Parameter filter batch.
Lihat di Logs Explorer untuk
gcloud
Untuk melihat log menggunakan gcloud CLI, gunakan
perintah gcloud logging read
:
gcloud logging read "QUERY"
dengan QUERY
adalah
kueri untuk log Batch yang berisi
parameter filter Batch.
API
Untuk melihat log menggunakan Logging API, gunakan
metode entries.list
:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
Ganti kode berikut:
PROJECT_ID
: Project ID project Anda.QUERY
: kueri untuk log Batch yang berisi parameter filter Batch.
Go
Go
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Batch.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Batch.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Batch.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C++
C++
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C++ Batch.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Memfilter log Batch
Anda dapat memfilter log Batch dengan menulis kueri yang menyertakan satu atau beberapa parameter filter berikut dan nol atau lebih operator boolean (AND
, OR
, dan NOT
).
Untuk memfilter log dari tugas tertentu, tentukan ID unik (UID) tugas:
labels.job_uid=JOB_UID
dengan
JOB_UID
adalah UID tugas. Untuk mendapatkan UID tugas, lihat detail tugas.Untuk memfilter jenis log Batch tertentu, tentukan jenis log:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Ganti kode berikut:
PROJECT_ID
: project ID project yang lognya ingin Anda lihat.BATCH_LOG_TYPE
: jenis log Batch yang ingin Anda lihat,batch_task_logs
untuk log tugas ataubatch_agent_logs
untuk log agen.
Untuk memfilter log dengan peristiwa status kustom, tentukan bahwa log harus menentukan kolom
jsonPayload.batch/custom/event
:jsonPayload.batch"/"custom"/"event!=NULL_VALUE
Untuk memfilter log dari satu atau beberapa tingkat keparahan tertentu, tentukan perbandingan berikut:
severityCOMPARISON_OPERATORSEVERITY_ENUM
Ganti kode berikut:
COMPARISON_OPERATOR
: operator perbandingan—misalnya,>=
.SEVERITY_ENUM
: enumLogSeverity
, yang menjelaskan tingkat keparahan log—misalnya,ERROR
.
Untuk mengetahui opsi filter lainnya, lihat dokumentasi bahasa kueri Cloud Logging.
Langkah berikutnya
- Pelajari lebih lanjut cara memecahkan masalah.
- Pelajari Cloud Logging lebih lanjut.
- Pelajari cara menulis log tugas.
- Pelajari cara mengekspor informasi tugas.
- Pelajari cara menghapus tugas.