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 tugas Anda. Misalnya, log dapat membantu Anda men-debug tugas yang gagal.
Perlu diperhatikan 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 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
Agar log dapat dibuat untuk tugas, aktifkan log dari Cloud Logging saat Anda membuat tugas:
- Jika Anda membuat tugas menggunakan konsol Google Cloud, log dari Cloud Logging selalu diaktifkan.
Jika Anda membuat tugas menggunakan gcloud CLI atau Batch API, log dari Cloud Logging akan 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 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 konfigurasikan runnable tugas untuk ditulis ke aliran data output standar (stdout
) atau aliran data error standar (stderr
).Secara opsional, Anda dapat menulis log tugas 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 Daftar tugas.
Di kolom Nama tugas, klik nama tugas. Halaman Detail tugas 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 mem-build kueri di Logs Explorer menggunakan Parameter filter batch.
View in 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 Batch Go API.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Batch Java API.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Batch Python API.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C++
C++
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Batch C++ API.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 beberapa
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 selanjutnya
- 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.