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. 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 sebagai gantinya.
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 pemberian 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, log dari Cloud Logging akan selalu diaktifkan. Google Cloud
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
logsPolicysaat 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 konfigurasi agar dapat ditulis oleh runnables tugas ke aliran data output standar (stdout) atau aliran data error standar (stderr).Anda dapat secara opsional menulis log tugas untuk setiap tugas yang telah mengaktifkan logging.
Melihat log untuk tugas
Anda dapat melihat log tugas menggunakan Google Cloud konsol, gcloud CLI, Logging API, Go, Java, Python, atau C++.
Konsol
Untuk melihat log tugas menggunakan Google Cloud konsol, lakukan hal berikut:
Di Google Cloud konsol, buka halaman Daftar tugas.
Di kolom Nama tugas, klik nama tugas. Halaman Detail tugas akan terbuka.
Klik tab Log. Batch akan menampilkan semua log yang terkait dengan tugas tersebut.
Opsional: Untuk memfilter log, lakukan salah satu hal berikut:
Masukkan filter di kolom Filter.
Di daftar Severity, pilih severity.
Klik Lihat di Logs Explorer untuk membuat kueri di Logs Explorer menggunakan parameter filter Batch.
gcloud
Untuk melihat log menggunakan gcloud CLI, gunakan perintah
gcloud logging read command:
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:
Go
Go
Untuk mengetahui informasi selengkapnya, lihat Batch Go API dokumentasi referensi.
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 Batch Java API dokumentasi referensi.
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 Batch Python API dokumentasi referensi.
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 Batch C++ API dokumentasi referensi.
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 beberapa
operator boolean (AND, OR dan NOT).
Untuk memfilter log dari tugas tertentu, tentukan ID unik (UID) tugas:
labels.job_uid=JOB_UIDdengan
JOB_UIDadalah 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_TYPEGanti kode berikut:
PROJECT_ID: ID project yang lognya ingin Anda lihat.BATCH_LOG_TYPE: jenis log Batch yang ingin Anda lihat, baikbatch_task_logsuntuk log tugas ataubatch_agent_logsuntuk log agen.
Untuk memfilter log dengan peristiwa status kustom, tentukan bahwa log harus menentukan kolom
jsonPayload.batch/custom/event:jsonPayload.batch"/"custom"/"event!=NULL_VALUEUntuk memfilter log dari satu atau beberapa severity tertentu, tentukan perbandingan berikut comparison:
severityCOMPARISON_OPERATORSEVERITY_ENUMGanti kode berikut:
COMPARISON_OPERATOR: operator perbandingan —misalnya,>=.SEVERITY_ENUM: enumLogSeverity, yang menjelaskan severity log—misalnya,ERROR.
Untuk opsi filter lainnya, lihat dokumentasi bahasa kueri Cloud Logging.
Langkah berikutnya
- Pelajari lebih lanjut pemecahan masalah.
- Pelajari lebih lanjut Cloud Logging.
- Pelajari cara menulis log tugas.
- Pelajari cara mengekspor informasi tugas.
- Pelajari cara menghapus tugas.