共用方式為


Databricks SQL 警示

重要

這項功能目前處於 公開預覽版

此頁面提供啟用和使用 Databricks SQL 警示的逐步指引,以在符合這些條件時自動執行查詢、評估自定義條件,以及傳遞通知。 透過警示,您可以主動監視您的商務數據,並在報告值落在預期閾值之外時及時接收通知。 當你排程警示時,會執行相關的查詢並檢查警示條件,無論底層查詢是否已經有任何既定的排程。 此外,您可以存取警示歷程記錄,以檢閱過去的警示評估結果。

若要瞭解如何改用舊版警示,請參閱 什麼是舊版警示?

在您的工作區中啟用警示

Workspace 管理員可以從 Previews 頁面控制對此預覽的工作區存取權。 啟用此預覽不會影響您現有的警報; 您可以繼續平行使用這些和舊有警報。

檢視及組織警示

按兩下提要欄位中的 [ 警示圖示警示 ] 以開啟警示清單頁面。

警示清單頁面。

  • [ 警示] 索引標籤預設為開啟,並顯示工作區中的所有警示。 您可以輸入名稱來篩選。 按一下 [僅限我的提示] 以僅顯示您是擁有者的提示。

  • 舊版警示 標籤顯示使用先前警示系統建立的警示。

  • 名稱 會顯示每個警示的字串名稱。

  • 狀態 會顯示警示狀態 TRIGGERED為、 OKERROR

  • 排程 會顯示上次更新的時間或日期。

  • 擁有者 會顯示擁有警示的人員用戶名稱。

  • 建立時間 會顯示警示建立的日期和時間。

    • TRIGGERED表示在最近的執行中,目標查詢中的 [值] 資料行符合您所設定的條件和臨界值。 如果你的警示檢查「貓」是否超過1500,那麼只要「貓」超過1500,警示就會被觸發。
    • OK 表示在最近的查詢執行中, [值 ] 資料行不符合您設定的 [條件 ] 和 [閾值 ]。 這並不代表警報之前沒有被觸發。 如果你的「cats」值現在是 1470,你的警示會顯示為 OK
    • ERROR 表示警示評估期間發生錯誤。

建立警示

本節中的步驟將逐步引導您建立如下圖所示的警示。 使用標籤和說明來瞭解每個元件。

建立警示UI會以識別不同元件的編號標籤來顯示。

  1. 查詢編輯器: 撰寫並測試您要發出警示的查詢。

  2. 排程: 設定定期的時間表以執行警示。

  3. 條件: 選取應觸發警示通知的值閾值。 您可以執行查詢來測試本節中的條件。

  4. 通知: 當閾值超出預期範圍時,應通知哪些使用者或通知目的地。

  5. 高深: 使用進階設定來警示特殊值和條件。

重要

在公開預覽期間,警示不支援使用 參數的查詢。 請參閱 什麼是舊版警示?

使用下列步驟來建立警示:

  1. 點擊側邊欄中的 警示圖示,然後點擊建立警示

  2. 在查詢編輯器中複製並貼上下列查詢。 按一下 [全部執行 (1000)]。 想了解更多關於使用 SQL 編輯器的資訊,請參閱「 撰寫查詢並在新 SQL 編輯器中探索資料」。

    SELECT
      to_date(tpep_pickup_datetime) as date,
      SUM(fare_amount) as amount
    FROM
      `samples`.`nyctaxi`.`trips`
    GROUP BY
      ALL
    ORDER BY
      1 DESC
    
    
  3. 在 [ 條件] 欄位中,設定應觸發警示的條件。

    已套用設定的條件欄位,如下列文字所示。

    套用下列設定,如下所示:

    • 選取 [總和 ] 作為要檢查的數據值。 警示條件可以在查詢結果中數據行的第一個值上設定,或者您可以選擇設定單一數據行所有數據列的匯總,例如 SUM 或 AVERAGE。
    • 選取 [數量 ] 作為要檢查的數據行。
    • 選取 > [大於] 作為要套用的邏輯運算符。
    • 將臨界值設定為 Static value 4000。 默認會選取靜態值。 在 [值] 欄位中輸入 4000。
  4. 按兩下 [測試條件 ] 預覽警示,並測試警示是否會以目前數據觸發。 提供的設定應該觸發警示。 您可以變更臨界值以進一步測試。

  5. 在 [ 通知] 區 段中,搜尋您的用戶名稱,並在出現時按兩下它。

  6. 按一下 行事曆圖示。 行事曆圖示以開啟編輯 排程 對話方塊。 使用下拉式功能表來設定警示,使其從整點 0 分鐘開始每5 分鐘執行一次。 點選 [儲存]。 選擇性地選取 [顯示 cron 語法] 複選框,以編輯 [Quartz Cron 語法] 中的排程。

  7. 按一下 「檢視警示」。

你的警示會被儲存並依照你提供的排程執行。 此範例中使用的數據是靜態的,因此,如果您的 測試條件 傳回為 觸發,下次執行時會再次傳回。 你會收到一封電子郵件通知作為警示。 如果 測試條件 傳回 [確定],則不會傳送任何通知。

檢閱警示詳細數據

隨即開啟頁面以顯示您的警示詳細數據。 此外,警示紀錄會顯示評估歷程的詳細資料。 點擊 「立即執行 」按鈕即可立即執行警報查詢,並在此畫面回傳結果。

按兩下頁面右上角的 [編輯 ],繼續編輯警示。

進階設定

按兩下 [ 進階設定 ] 以套用下列設定:

  • 在確定時通知: 當警示傳回為 OK時傳送通知。
  • 通知頻率: 定期傳送警示通知,直到狀態傳回 OK
  • 空的結果狀態: 當查詢未傳回任何結果時,設定要傳回的特殊狀態。
  • 範本: 您可以選擇使用預設樣本或自訂範本來傳送通知。 以下列表說明每種範本類型:
    • 使用預設範本:警示通知是訊息,其中包含 [警示設定] 畫面和 [查詢] 畫面的連結。
    • 使用自定義範本:警示通知包含警示的更具體資訊。
      1. 方塊會顯示,其中包含主旨和本文的輸入欄位。 任何靜態內容都是有效的,而且您可以納入內建範本變數:

        • ALERT_STATUS:評估的警示狀態(字串)。
        • ALERT_CONDITION:警示條件運算符(字串)。
        • ALERT_THRESHOLD:警示閾值(字串或數位)。
        • ALERT_COLUMN:警示資料行名稱(字串)。
        • ALERT_NAME:警示名稱(字串)。
        • ALERT_URL:警示頁面 URL (字串)。
        • QUERY_RESULT_TABLE:查詢結果 HTML 數據表(字串)。 結果僅限於前 100 個數據列。 只有電子郵件通知目的地可以轉譯 HTML。
        • QUERY_RESULT_VALUE:查詢結果值(字串或數位)。
        • QUERY_RESULT_ROWS:查詢結果數據列(值陣列)。
        • QUERY_RESULT_COLS:查詢結果數據行(字串陣列)。

        例如,例如,範例主旨可能是: Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}

      2. 您可以使用 HTML 來格式化自訂範本中的訊息。 只有電子郵件通知目的地可以轉譯 HTML。 樣本中允許下列標籤和屬性:

        • 允許的標籤<a><b><blockquote><br><code><del><div><em><h1><h2><h3><h4><h5><h6><hr><i><img><li><ol><p><pre><span><table><thread><tbody><td><th><tr><u><ul>

        • 允許的屬性

          Attribute 支援的標籤
          href <a>
          title <img>
          target <a>
          alt <img>
          src <img>
          start <b><blockquote><code><del><em><hr><i><pre><u>
      3. 按兩下 [ 預覽] 切換按鈕,預覽轉譯的結果。

        重要

        預覽適用於驗證範本變數是否正確轉譯。 這不是最終通知內容的準確表示法,因為每個通知目的地可以以不同的方式顯示通知。

工作區管理員可以設定新的通知目的地。 請參閱 管理通知目的地

警示匯總

警示匯總的運作方式是修改附加至警示之 Databricks SQL 查詢的原始 SQL。 警示會在通用數據表表示式 (CTE) 中包裝原始查詢文字,並在其上執行包裝匯總查詢,以匯總查詢結果。

例如, SUM 附加至含有文字 SELECT 1 AS column_name 之查詢的警示匯總表示每當重新整理警示時,執行的修改 SQL 會是: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q

這意味著每當警示進行匯總時,(未匯總的)原始查詢結果都無法顯示在警示的自定義本文中(如 QUERY_RESULT_ROWSQUERY_RESULT_COLS等參數)。 相反地,這些變數只會顯示最終的匯總后查詢結果。

注意

API 不支援所有與匯總相關的觸發條件。

多個欄位的警報

若要根據查詢的多個數據行設定警示,您的查詢可以實作警示邏輯,並傳回要觸發之警示的布爾值。 例如:

SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data

當 時1,此查詢會傳drafts_count > 10000 and archived_count > 5000回 。 然後,您可以設定警示,以在值為 1時觸發。

計量檢視警示

因為計量檢視是設計來追蹤及測量核心商務計量,所以它們與警示配對良好,因此您可以在計量超出預期範圍時自動收到通知。 計量檢視的警示的運作方式與任何其他數據集上的警示相同。 當您撰寫查詢來設定查詢時,請使用您想要監視之計量檢視的完整名稱。

Git 整合如何與警示搭配運作

您可以使用 Databricks Git 資料夾來追蹤和管理警示的變更。 若要使用 Git 追蹤警示,請將警示放在 Databricks Git 資料夾中。 新複製的警示只會出現在使用者與其互動之後的警示清單頁面或 API 中。 他們的排程已被暫停,且需要由用戶明確地重新啟動。

Databricks Git 資料夾提供集中式方式來管理警示和其他工作區對象的常見 Git 作業。 若要深入瞭解,請參閱 Azure Databricks Git 資料夾

與舊有警報的差異

最新版本的 Databricks SQL 警示在幾個關鍵方面與舊有警示不同:

  • 職缺整合: 最新版本尚未支援直接參考 Jobs 流程中的警示。 這個功能很快就會推出。 舊有警報支援工作中的提醒任務類型。
  • 查詢重用: 已儲存的 SQL 查詢在建立警示時無法重複使用。 每個警示擁有其查詢定義,可直接在新的警示編輯器中撰寫。
  • 警報狀態值: 警報狀態被簡化,警報不再支援 UNKNOWN 舊有警報的狀態。 評估結果為 OKTRIGGEREDERROR或 。

在轉換期間,你可以同時使用最新警示和舊有警示。

設定警示許可權並轉移警示擁有權

如需警示許可權等級,請參閱 警示 ACL

  1. 在提要欄位中,按兩下 [ 警示]。

  2. 按兩下警示。

  3. 按兩下警示詳細資料頁面右上角的 [共用 ] 以開啟 [共用] 對話方塊。

    管理警示許可權

  4. 搜尋並選取群組和使用者,並指派許可權等級。

  5. 按一下新增

轉移警示的擁有權

當您儲存警示時,您會成為警示的擁有者。 如果警示的擁有者已從工作區中移除,警示就不會再擁有擁有者。 工作區系統管理員使用者可以將警示的擁有權轉移給不同的使用者。 您也可以使用 權限 API 來轉移所有權。

  1. 身為工作區管理員,登入您的 Azure Databricks 工作區。

  2. 在提要欄位中,按兩下 [ 警示]。

  3. 按兩下警示。

  4. 按下右上方的 [共用] 按鈕,以開啟 [共用] 對話方塊。

  5. 按下右上方的 [齒輪] 圖示,然後按下 [指派新擁有者]

    指派新的擁有者

  6. 選取要指派擁有權的使用者。

  7. 按一下 [確認]