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.
Important
Tabel sistem ini berada dalam Pratinjau Umum.
Halaman ini mencakup informasi tentang tabel sistem peringatan, termasuk garis besar skema setiap tabel. Gunakan tabel-tabel ini untuk mengquery peringatan workspace Anda dan riwayat evaluasinya langsung di SQL, sehingga Anda dapat mengaudit definisi peringatan, menganalisis tren evaluasi, dan memantau beban kerja peringatan secara besar-besaran.
Skema ini system.alert berisi dua tabel:
-
system.alert.alerts: Konfigurasi setiap peringatan, termasuk definisi, jadwal, ambang evaluasi, pelanggan, dan timestamp siklus hidup. -
system.alert.alert_evaluation_history: Satu baris per evaluasi peringatan, menangkap status yang dievaluasi, nilai hasil, status pengiriman notifikasi, dan detail kesalahan.
Requirements
Secara default, hanya pengguna dengan peran admin akun dan admin metastore yang memiliki akses ke tabel sistem peringatan. Untuk membagikan data tabel dengan pengguna atau grup, Databricks merekomendasikan membuat tampilan dinamis untuk setiap pengguna atau grup. Lihat Membuat tampilan dinamis.
Skema tabel konfigurasi peringatan
Tabel ini system.alert.alerts adalah tabel dimensi yang berubah perlahan. Setiap baris menangkap konfigurasi peringatan pada suatu titik, sehingga satu peringatan memiliki beberapa baris ketika konfigurasinya berubah.
Jalur tabel: Tabel sistem ini terletak di system.alert.alerts.
Tabel system.alert.alerts menggunakan skema berikut:
| Nama kolom | Jenis data | Deskripsi | Example |
|---|---|---|---|
account_id |
string | ID akun. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID workspace tempat peringatan didefinisikan. | 1234567890123456 |
alert_id |
string | ID pemberitahuan. | 2762099691916865 |
display_name |
string | Nama tampilan peringatan. | Test Alert |
owned_by |
string | Nama pengguna pemilik peringatan. Atur ke jika Unavailable pengguna telah dihapus. |
example@databricks.com |
compute |
struct | Struct yang mewakili sumber daya komputasi yang terpasang pada peringatan. Nilainya type adalah salah satu WAREHOUSE atau SERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
string | ID pengguna atau prinsipal layanan yang kredensialnya digunakan untuk menjalankan peringatan. | 2967555311742259 |
schedule |
struct | Struct yang mewakili jadwal peringatan, termasuk status jeda, jadwal cron, dan zona waktu. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | Struct yang mewakili kolom sumber dari hasil kueri yang digunakan untuk mengevaluasi peringatan, termasuk agregasi yang diterapkan padanya. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
string | Operator yang digunakan untuk membandingkan nilai sumber dengan ambang batas selama evaluasi. Misalnya: GREATER_THAN, LESS_THAN, dan EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | Struct yang mewakili ambang batas yang dibandingkan dengan nilai sumber. Ambang batas adalah nilai statis atau kolom lain. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
string | Status yang dilaporkan peringatan ketika kueri mengembalikan hasil kosong. Nilai yang memungkinkan adalah OK, TRIGGERED, dan ERROR. |
OK |
notify_on_ok |
Boolean | Apakah akan memberi tahu pelanggan saat peringatan kembali ke OK status tersebut. |
true |
retrigger_seconds |
int | Jumlah detik peringatan menunggu setelah dipicu sebelum dapat aktif lagi. Jika 0, peringatan tidak akan aktif lagi. |
0 |
subscriptions |
array | Array pelanggan yang menerima notifikasi peringatan. Setiap pelanggan diidentifikasi melalui email pengguna atau ID tujuan notifikasi. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
stempel waktu | Waktu terakhir kali konfigurasi diubah. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. |
2023-01-01T01:01:01.123+00:00 |
create_time |
stempel waktu | Waktu peringatan dibuat. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
stempel waktu | Waktu peringatan dihapus secara permanen. Peringatan yang dipindahkan ke tempat sampah tidak tercatat. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. |
2023-01-01T01:01:01.123+00:00 |
Skema tabel riwayat evaluasi peringatan
Tabel ini system.alert.alert_evaluation_history mencatat satu baris untuk setiap evaluasi peringatan, menangkap status yang dievaluasi dan statistik terkait.
Jalur tabel: Tabel sistem ini terletak di system.alert.alert_evaluation_history.
Tabel system.alert.alert_evaluation_history menggunakan skema berikut:
| Nama kolom | Jenis data | Deskripsi | Example |
|---|---|---|---|
account_id |
string | ID akun. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID workspace tempat peringatan didefinisikan. | 1234567890123456 |
alert_id |
string | ID peringatan yang dievaluasi. Bergabung dengan alert_id .system.alert.alerts |
2762099691916865 |
job_id |
string | ID pekerjaan yang menjalankan peringatan tersebut. Bergabung dengan job_id .system.lakeflow.jobs
NULL ketika peringatan berjalan sesuai jadwalnya sendiri, bukan sebagai bagian dari pekerjaan. Gunakan a LEFT JOIN saat Anda melakukan query terhadap system.lakeflow.jobs. |
906851285941474 |
task_key |
string | Kunci referensi untuk tugas dalam pekerjaan. Bergabung dengan task_key .system.lakeflow.job_tasks
NULL ketika peringatan berjalan sesuai jadwalnya sendiri, bukan sebagai bagian dari pekerjaan. Gunakan a LEFT JOIN saat Anda melakukan query terhadap system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
string | ID dari evaluasi peringatan yang dijalankan. | 4104302562320643 |
evaluated_state |
string | Keadaan peringatan yang dievaluasi. Nilai yang memungkinkan adalah OK, TRIGGERED, dan ERROR. |
TRIGGERED |
evaluated_source_result |
struct | Struct yang mewakili nilai sumber yang dihasilkan oleh evaluasi. | {double_value: 1.25} |
evaluated_threshold_result |
struct | Struct yang mewakili nilai ambang batas dari evaluasi, atau nilai statis yang diatur dalam konfigurasi peringatan. | {double_value: 1.25} |
error_code |
string | Kode kesalahan jika evaluasi gagal dengan kesalahan. | INTERNAL_ERROR |
error_message |
string | Pesan kesalahan yang terlihat pengguna jika evaluasi gagal dengan kesalahan. | Query execution failed |
notified_subscriptions |
array | Array pelanggan yang berhasil diberitahu. Setiap pelanggan diidentifikasi melalui email pengguna atau ID tujuan notifikasi. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
array | Array pelanggan yang notifikasinya gagal dikirim. Setiap pelanggan diidentifikasi melalui email pengguna atau ID tujuan notifikasi. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
stempel waktu | Waktu evaluasi dimulai. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. |
2023-01-01T01:01:01.123+00:00 |
end_time |
stempel waktu | Waktu evaluasi berakhir. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. |
2023-01-01T01:01:01.123+00:00 |
Contoh pertanyaan
Contoh kueri berikut menunjukkan cara umum untuk menganalisis konfigurasi peringatan dan riwayat evaluasi. Setiap query menggunakan penanda parameter bernama untuk ID alert dan workspace, sehingga Anda akan diminta untuk menentukan nilai saat menjalankan query.
Temukan evaluasi terbaru untuk sebuah peringatan
Kueri ini mengembalikan konfigurasi terbaru dari peringatan tertentu beserta evaluasi terbarunya.
SELECT
c.alert_id,
c.display_name,
c.compute,
c.schedule.quartz_cron_schedule AS schedule,
c.evaluation_comparison_operator AS operator,
c.evaluation_threshold.value.double_value AS threshold,
c.change_time AS config_last_updated,
e.evaluated_state,
e.start_time AS evaluation_time,
e.end_time,
TIMESTAMPDIFF(SECOND, e.start_time, e.end_time) AS eval_duration_seconds
FROM (
SELECT *
FROM system.alert.alerts
WHERE alert_id = :your_alert_id
AND delete_time IS NULL
ORDER BY change_time DESC
LIMIT 1
) c
LEFT JOIN (
SELECT *
FROM system.alert.alert_evaluation_history
WHERE alert_id = :your_alert_id
ORDER BY start_time DESC
LIMIT 1
) e ON TRUE;
Temukan peringatan mana yang paling banyak dipicu dalam tujuh hari terakhir
Kueri ini menghitung berapa kali setiap peringatan dipicu di workspace selama tujuh hari terakhir.
SELECT
alert_id,
COUNT(*) AS trigger_count_7d
FROM system.alert.alert_evaluation_history
WHERE workspace_id = :your_workspace_id
AND start_time >= CURRENT_DATE() - INTERVAL 7 DAY
AND evaluated_state = 'TRIGGERED'
GROUP BY alert_id
ORDER BY trigger_count_7d DESC;
Lacak bagaimana status peringatan berubah seiring waktu
Kueri ini merangkum jumlah harian setiap negara bagian yang dievaluasi untuk peringatan tertentu selama 30 hari terakhir. Gunakan untuk membangun dashboard yang memantau keandalan peringatan.
SELECT
DATE_TRUNC('day', start_time) AS eval_day,
COUNT_IF(evaluated_state = 'OK') AS ok_count,
COUNT_IF(evaluated_state = 'TRIGGERED') AS triggered_count,
COUNT_IF(evaluated_state = 'ERROR') AS error_count
FROM system.alert.alert_evaluation_history
WHERE alert_id = :your_alert_id
AND start_time >= CURRENT_DATE() - INTERVAL 30 DAY
GROUP BY 1
ORDER BY eval_day ASC;
Daftarkan peringatan aktif di workspace
Kueri ini mengembalikan konfigurasi terbaru dari setiap peringatan yang tidak dihapus dan tidak dijeda di workspace.
WITH latest AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY alert_id ORDER BY change_time DESC) AS rn
FROM system.alert.alerts
WHERE workspace_id = :your_workspace_id
AND delete_time IS NULL
)
SELECT
alert_id,
display_name,
compute,
schedule.quartz_cron_schedule AS cron_schedule,
schedule.pause_status
FROM latest
WHERE rn = 1
AND schedule.pause_status != 'PAUSED';