Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Bu sistem tablosu Genel Önizleme aşamasındadır.
Bu sayfa, uyarı sistemi tabloları hakkında bilgiler içerir ve her tablonun şemasının özetini içerir. Bu tabloları kullanarak çalışma alanı uyarılarınızı ve değerlendirme geçmişinizi doğrudan SQL'de sorgulayın; böylece uyarı tanımlarını denetleyebilir, değerlendirme eğilimlerini analiz edebilir ve uyarı iş yüklerini ölçekli olarak izleyebilirsiniz.
Şema system.alert iki tablo içerir:
-
system.alert.alerts: Her uyarının yapılandırması; tanımı, takvimi, değerlendirme eşikleri, aboneleri ve yaşam döngüsü zaman damgaları dahil. -
system.alert.alert_evaluation_history: Her uyarı değerlendirmesi için bir satır yapılır, değerlendirilen durumu, sonuç değerlerini, bildirim teslim durumunu ve hata detaylarını yakalar.
Requirements
Varsayılan olarak, hem hesap yöneticisi hem de metastore yöneticisi rolüne sahip kullanıcılar uyarı sistemi tablolarına erişebilir. Bir tablonun verilerini bir kullanıcı veya grupla paylaşmak için Databricks, her kullanıcı veya grup için dinamik bir görünüm oluşturulmasını önerir. Bkz. Dinamik görünüm oluşturma.
Uyarı yapılandırma tablosu şeması
Tablo, system.alert.alerts yavaş değişen bir boyut tablosudur. Her satır, bir uyarının belirli bir noktadaki yapılandırmasını yakalar, böylece tek bir uyarı yapılandırması değiştiğinde birden fazla satır içerir.
Tablo yolu: Bu sistem tablosu system.alert.alertskonumunda bulunur.
Tablo system.alert.alerts aşağıdaki şemayı kullanır:
| Sütun adı | Veri türü | Description | Example |
|---|---|---|---|
account_id |
dize | Hesabın kimliği. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
dize | Uyarının tanımlandığı çalışma alanının kimliği. | 1234567890123456 |
alert_id |
dize | Uyarının kimliği. | 2762099691916865 |
display_name |
dize | Uyarının görünen adı. | Test Alert |
owned_by |
dize | Uyarı sahibinin kullanıcı adı. Kullanıcı silinmiş olup olmadığını ayarlayın Unavailable . |
example@databricks.com |
compute |
struct | Uyarıya bağlı hesaplama kaynağını temsil eden bir yapı. Değer type ya WAREHOUSE da SERVERLESS_COMPUTE'dir. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
dize | Uyarıyı çalıştırmak için kullanılan kullanıcı veya hizmet yöneticisinin kimliği. | 2967555311742259 |
schedule |
struct | Uyarının duraklama durumu, cron programı ve saat dilimi dahil olmak üzere programını temsil eden bir yapı. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | Uyarıyı değerlendirmek için kullanılan sorgu sonucundaki kaynak sütununu temsil eden ve ona uygulanan toplama dahil bir yapı. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
dize | Değerlendirme sırasında kaynak değerini eşik ile karşılaştırmak için kullanılan operatör. Örneğin: GREATER_THAN, LESS_THANve EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | Kaynak değerinin karşılaştırıldığı eşik değerini temsil eden bir yapı. Eşik ya statik bir değer ya da başka bir sütundur. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
dize | Sorgu boş bir sonuç döndürdüğünde uyarının bildirdiği durum. Olası değerler OK, TRIGGEREDve ERROR. |
OK |
notify_on_ok |
boolean | Uyarı eyalete döndüğünde OK aboneleri bilgilendirip bildirmemesi meselesi. |
true |
retrigger_seconds |
Int | Uyarının tetiklendikten sonra tekrar tetiklenmeden önce beklediği saniye sayısı. Eğer 0, uyarı tekrar tetiklenmez. |
0 |
subscriptions |
Dizi | Uyarı bildirimini alan abonelerin bir dizisi. Her abone, bir kullanıcı e-posta adresi veya bildirim varış kimliği ile tanımlanır. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
timestamp | Konfigürasyonun en son değiştirildiği zaman. Zaman dilimi bilgisi, değerin sonunda UTC'yi +00:00 temsil ederek kaydedilir. |
2023-01-01T01:01:01.123+00:00 |
create_time |
timestamp | Uyarının oluşturulduğu zaman. Zaman dilimi bilgisi, değerin sonunda UTC'yi +00:00 temsil ederek kaydedilir. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
timestamp | Uyarının kalıcı olarak silindiği zaman. Çöpe taşınan uyarılar kaydedilmez. Zaman dilimi bilgisi, değerin sonunda UTC'yi +00:00 temsil ederek kaydedilir. |
2023-01-01T01:01:01.123+00:00 |
Uyarı değerlendirme geçmişi tablosu şeması
Tablo, system.alert.alert_evaluation_history her uyarı değerlendirmesi için bir satır kaydeder ve değerlendirilen durumu ve ilgili istatistikleri yakalar.
Tablo yolu: Bu sistem tablosu system.alert.alert_evaluation_historykonumunda bulunur.
Tablo system.alert.alert_evaluation_history aşağıdaki şemayı kullanır:
| Sütun adı | Veri türü | Description | Example |
|---|---|---|---|
account_id |
dize | Hesabın kimliği. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
dize | Uyarının tanımlandığı çalışma alanının kimliği. | 1234567890123456 |
alert_id |
dize | Değerlendirilen uyarının kimliği. Birleştirir alert_idsystem.alert.alerts. |
2762099691916865 |
job_id |
dize | Uyarıyı çalıştıran işin kimliği. Birleştirir job_idsystem.lakeflow.jobs.
NULL uyarı kendi programında çalıştığında, bir işin parçası olarak değil. Karşı system.lakeflow.jobssorgulama yaparken a LEFT JOIN kullanın. |
906851285941474 |
task_key |
dize | İş içindeki görev için referans anahtarı. Birleştirir task_keysystem.lakeflow.job_tasks.
NULL uyarı kendi programında çalıştığında, bir işin parçası olarak değil. Karşı system.lakeflow.job_taskssorgulama yaparken a LEFT JOIN kullanın. |
evaluate_alert |
alert_run_id |
dize | Uyarı değerlendirme çalışmasının ID'si. | 4104302562320643 |
evaluated_state |
dize | Uyarının değerlendirilen durumu. Olası değerler OK, TRIGGEREDve ERROR. |
TRIGGERED |
evaluated_source_result |
struct | Değerlendirme tarafından üretilen kaynak değerini temsil eden bir yapı. | {double_value: 1.25} |
evaluated_threshold_result |
struct | Değerlendirmedeki eşik değerini veya uyarı yapılandırmasında belirlenen statik değeri temsil eden bir yapı. | {double_value: 1.25} |
error_code |
dize | Değerlendirme hatayla başarısız olursa hata kodu. | INTERNAL_ERROR |
error_message |
dize | Değerlendirme hatayla başarısız olursa kullanıcı tarafından görülebilir hata mesajı. | Query execution failed |
notified_subscriptions |
Dizi | Başarılı şekilde bilgilendirilen abonelerin bir dizisi. Her abone, bir kullanıcı e-posta adresi veya bildirim varış kimliği ile tanımlanır. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
Dizi | Bildirimleri gönderilemeyen abonelerin bir dizisi. Her abone, bir kullanıcı e-posta adresi veya bildirim varış kimliği ile tanımlanır. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
timestamp | Değerlendirmenin başladığı zaman. Zaman dilimi bilgisi, değerin sonunda UTC'yi +00:00 temsil ederek kaydedilir. |
2023-01-01T01:01:01.123+00:00 |
end_time |
timestamp | Değerlendirmenin bittiği zaman. Zaman dilimi bilgisi, değerin sonunda UTC'yi +00:00 temsil ederek kaydedilir. |
2023-01-01T01:01:01.123+00:00 |
Örnek sorgulamalar
Aşağıdaki örnek sorgular, uyarı yapılandırması ve değerlendirme geçmişini analiz etmenin yaygın yollarını göstermektedir. Her sorgu, uyarı ve çalışma alanı kimlikleri için adlandırılmış parametre işaretleyicileri kullanır, bu yüzden sorgu çalıştırıldığında değerler sorulur.
Bir uyarı için en güncel değerlendirmeyi bulun
Bu sorgu, belirli bir uyarının en son yapılandırmasını en son değerlendirmesi ile birlikte döndürür.
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;
Son yedi günde en çok tetiklenen uyarıları bul
Bu sorgu, son yedi gün içinde bir çalışma alanında her uyarının kaç kez tetiklendiğini sayar.
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;
Bir uyarının durumunun zamanla nasıl değiştiğini takip edin
Bu sorgu, son 30 gün içinde belirli bir uyarı için değerlendirilen her eyaletin günlük sayısını özetlemektedir. Uyarı güvenilirliğini izleyen bir gösterge paneli oluşturmak için kullanın.
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;
Bir çalışma alanında aktif uyarıları listele
Bu sorgu, her uyarının en son yapılandırmasını döndürür; ancak bu uyarılar bir çalışma alanında silinmemiş ve duraklatmamıştır.
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';