Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengiriman log serverless mengirimkan log aplikasi dari job serverless ke volume Unity Catalog. Admin workspace mengonfigurasi tujuan untuk workspace sehingga tim dapat menyimpan log dan memprosesnya dengan alat observabilitas mereka. log-log dikirim secara asinkron setelah tugas selesai. Penyampaian bisa memakan waktu beberapa menit dan bervariasi tergantung waktu pemrosesan dan unggahan.
Important
Fitur ini ada di Beta. Untuk menggunakannya, admin workspace harus mengaktifkan Serverless log delivery to Unity Catalog volumes dari halaman Pratinjau. Lihat Kelola Pratinjau Azure Databricks.
Requirements
- Sebuah workspace dengan komputasi serverless dan Unity Catalog diaktifkan.
- Versi lingkungan serverless 5 atau lebih baru.
- Peran admin workspace untuk mengonfigurasi pengiriman log adalah diperlukan. Lihat Tetapkan peran admin workspace kepada pengguna.
- Pratinjau pengiriman log tanpa server ke volume Unity Catalog diaktifkan untuk workspace. Mungkin sudah diaktifkan. Jika dinonaktifkan, admin workspace dapat mengaktifkannya di halaman Pratinjau. Mengaktifkan pratinjau membuat konfigurasi tersedia; hal itu tidak memulai pengiriman.
- Volume tujuan. Admin yang mengonfigurasi pengiriman memerlukan
USE CATALOGpada katalognya,USE SCHEMApada skemanya, danREAD VOLUMEsertaWRITE VOLUMEpada volume. Lihat Hak Istimewa untuk volume Katalog Unity.
Note
Konfigurasikan pengiriman hanya ke volume tepercaya dengan akses terbatas. Log yang dikirim dapat berisi informasi sensitif, termasuk email pengguna, jalur penyimpanan, jejak tumpukan, pengenal internal, dan URL yang ditandatangani sementara. Log tidak dijamin bebas dari secret.
Pengguna yang memiliki akses ke tujuan dapat membaca log yang dikirimkan, termasuk log dari pekerjaan pengguna lain. Batasi akses ke volume sesuai dengan itu.
Aktifkan pengiriman log
Admin workspace harus mengaktifkan pengiriman log untuk workspace.
- Buka Pengaturan dari menu pengguna Anda.
- Di bawah admin Workspace, klik Compute.
- Di bagian Pengiriman Log , aktifkan Pengiriman log tanpa server.
- Di Konfigurasi pengiriman log, masukkan jalur Volume, seperti
/Volumes/observability/production/serverless_logs, atau klik ikon folder untuk menelusuri volume. - Kliklah Simpan. Menyimpan tujuan memungkinkan pengiriman.
Pengaturan ini berlaku di tingkat ruang kerja. Anda tidak perlu mengonfigurasi setiap job secara terpisah.
Baca log terkirim
Output aplikasi mencakup output standar dan kesalahan standar dari kode pengguna, termasuk fungsi yang didefinisikan pengguna (UDF). Gunakan Catalog Explorer untuk menelusuri volume tujuan dan memeriksa file yang dikirim. Lihat Mengelola file pada volume Katalog Unity.
Pengiriman log tidak menyediakan metrik klaster atau profil kueri. Gunakan halaman eksekusi tugas untuk menyelidiki status dan performa eksekusi bersama log aplikasi. Lihat Memantau Pekerjaan Lakeflow.
Kueri log yang dikirim menggunakan SQL
Gunakan read_files untuk mengquery file teks yang dikirim. Ganti jalur volume dalam contoh ini dengan lokasi tujuan Anda. Untuk membaca log, Anda perlu USE CATALOG pada katalog, USE SCHEMA pada skema, dan READ VOLUME pada volume.
Buat tampilan sementara yang mengekstrak job dan run identifier dari jalur file dan mempertahankan setiap baris output log:
CREATE OR REPLACE TEMPORARY VIEW serverless_job_logs AS
SELECT
regexp_extract(_metadata.file_path, '/job_id=([^/]+)/', 1) AS job_id,
regexp_extract(_metadata.file_path, '/job_run_id=([^/]+)/', 1) AS job_run_id,
regexp_extract(_metadata.file_path, '/task_run_id=([^/]+)/', 1) AS task_run_id,
_metadata.file_name AS file_name,
value AS log_line
FROM read_files(
'/Volumes/observability/production/serverless_logs/',
format => 'text'
);
Temukan baris yang mengandung kesalahan di seluruh eksekusi job:
SELECT job_id, job_run_id, task_run_id, file_name, log_line
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%';
Identifikasi pekerjaan dengan baris error terbanyak:
SELECT
job_id,
count(*) AS error_lines,
count(DISTINCT job_run_id) AS affected_runs
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%'
GROUP BY job_id
ORDER BY error_lines DESC;
Kueri ini mencari teks literal ERROR. Sesuaikan filter agar sesuai dengan format logging aplikasi Anda. Lihat fungsi bernilai tabel read_files.
Ubah tujuan atau nonaktifkan pengiriman
Untuk mengubah tujuan, buka Pengaturan Compute > Log delivery>, klik ikon pensil di samping nama volume, masukkan atau telusuri ke jalur baru, lalu klik Simpan. Menyimpan tujuan memungkinkan pengiriman, termasuk meskipun sebelumnya dinonaktifkan.
Untuk menonaktifkan pengiriman, buka Setelan > Compute > Pengiriman log dan matikan pengiriman log serverless. Pengaturan mempertahankan tujuan sehingga Anda dapat mengaktifkan penyaluran lagi tanpa memilih volume lain. Menonaktifkan pengiriman tidak menghapus file yang sudah ditulis ke volume. Kelola akses dan retensi untuk file-file tersebut secara terpisah.
Mengatasi log yang hilang
Jika log tidak muncul setelah pekerjaan selesai:
- Periksa bahwa pengiriman log Serverless diaktifkan di bawah Pengaturan > Compute > Pengiriman log. Mengaktifkan pratinjau saja tidak akan memulai pengiriman.
- Periksa bahwa volume yang dikonfigurasi sudah ada dan admin yang mengonfigurasi pengiriman mempertahankan izin yang diperlukan.
- Konfirmasi bahwa pekerjaan menggunakan komputasi serverless dan menghasilkan output aplikasi. Tunggu beberapa menit setelah pekerjaan selesai untuk pengiriman asinkron. Waktu pemrosesan dan unggah dapat menyebabkan keterlambatan pengiriman.
Untuk pengiriman log komputasi klasik, lihat Pengiriman log komputasi.