手動のデータチェックを、問題発生時に即座に検知する自 動監視に変換します
によって Srilekha Dornadula による投稿
多くの組織では、データ監視は依然として手動で反復的なルーチンです。毎日同じダッシュボードを開き、同じクエリを実行し、異常をスキャンします。誰かが「なぜこの指標が下がっているのか?」と尋ねる頃には、数時間、あるいは数日も間違った状態が続いており、通常は関係者や、すでに誤った数値を送信した下流のレポートによってフラグが立てられています。修正もまた手動の儀式です。これは機能しなくなるまで機能します。チーム、環境、本番ワークロード全体にスケーリングできず、監視コストは上昇し続けます。
本日、 Databricks SQL Alertsが一般提供 (GA) になったことを発表します。 すでに4,000を超えるお客様が本番環境でAlertsを利用しています。SQL Alertsは、その手動ルーチンを信頼性の高い自動監視に変換します。SQLでメトリックまたは条件を一度定義し、スケジュールどおり(またはデータを生成するジョブパイプラインとインラインで)評価し、ガードレールを超えたときに適切な担当者に通知します。収益などのビジネスKPI、パイプラインの鮮度などの運用上の健全性、またはデータ品質の問題を追跡する場合でも、SQL Alertsは問題を早期に発見し、手動のスポットチェックを減らし、使 用量が増加しても監視を一貫して維持するのに役立ちます。
「異常検出サービスにSQL Alertsを実装したことで、オブザーバビリティが大幅に簡素化されました。監視インフラストラクチャを維持する代わりに、Alertsに問題をスキャンしてユーザーに通知してもらうことができます。その簡素化されたインターフェイスとカスタマイズ可能なエクスペリエンスは、チームの手作業を減らし、問題の特定を迅速化するのに役立ちました。」 —Enrique Olivares、Big Data Software Development Engineer、Zillow
SQL Alertは、SQLクエリ、評価条件、スケジュール、および一連の通知先をバンドルします。クエリ結果がスケジュールされた実行で条件を超えた場合、Databricksは設定したチャネルを通じて適切な担当者に通知します。
SQL Alertsでチームができること:
ダッシュボードが壊れる前にカスタムデータ品質の問題を検出します。null率がしきい値を超えた場合、重複キーが出現した場合、または分布が予想される範囲外にシフトした場合にアラートを発します。

SQL Alerts GAには、本番環境でアラートを作成、運用、スケーリングするために必要なすべてが含まれています。
「ネイティブなDatabricks統合により、Alertsの定義が簡単になり、運用が信頼できるようになりました。アラートロジック、スケジューリング、通知を1か所で管理し、Gitでバージョン管理することで、監視を標準化し、手作業を大幅に減らして問題をより迅速に検出するのに役立ちました。」 —Tom Potash、Software Engineering Manager、DoubleVerify
次に、SQL Alertsの価値を示す例を見てみましょう。一般的なビジネス監視のニーズは、最近のベースラインに対する予期しない収益の低下を検出することです。この例では、昨日の収益を7日間の平均と比較するアラートを作成し、低下が5%を超える場合に適切な担当者に通知する方法を示します。
このクエリは、昨日の収益を計算し、7日間の平均と比較します。
出力:アラートが評価する単一の列、`revenue_pct_change`。このアラートは、収益の低下が5%を超えるためトリガーされます。
エディターで、条件を revenue_pct_change -5 に設定し、通知受信者を追加します。リッチマークダウンエディターを使用して通知テンプレートを カスタマイズして、通知にさらにコンテキストや次のステップを追加することもできます。

評価の頻度を選択します。たとえば、ビジネスクリティカルなKPIの場合、日次評価により24時間以内に変更が検出されます。
アラートがトリガーされると、受信者はアラート評価ステータス、結果、アラートへのリンク、および最近の実行履歴を含む通知を受け取ります。すぐに調査を開始できます。

SQL Alertsには、完全な実行履歴を表示する包括的なアラート詳細ページも含まれています。各評価がいつ実行されたか、アラートがトリガーされたかどうか、および通知された宛先が表示されます。これにより、チームは監視が期待どおりに実行されていることを確認し、アラートがトリガーされ始めた時期を示すことで、より迅速にトリアージできます。

Genie Code を使用すると、上記のウォークスルーはワンプロンプトのエクスペリエンスになります。自然言語で必要なアラートを記述するだけで ("alert me when daily revenue drops more than 5% week-over-week")、Genie Code がエンドツーエンドでアラートを構築します。いつでも Genie に編集を依頼したり、アラート UI を開いて直接編集したりできます。


スタンドアロンの SQL アラートは、パイプラインとは独立して独自のスケジュールで実行されます。これは多くの監視ユースケースに適しています。アップストリームデータがいつ着地するかを気にしないものはすべてそうです。
しかし、一部のチェックは、データを作成するパイプライン内に配置する必要があります。このロードは完全なデータを着地させましたか?公開する前にこのメトリックは妥当ですか?次のステップを実行すべきですか?スタンドアロンのスケジュール済みアラートとしてそれらを実行すると、アラートはデータを作成するパイプラインとは別に独自のスケジュールで実行され、その結果はパイプラインで次に何が起こるかに影響を与えることができません。
新しい Lakeflow Jobs の SQL アラートタスク (パブリックプレビュー) を使用すると、まさにそれを行うことができます。同じアラートオブジェクトが、タスクとしてパイプライン内で実行できるようになりました。また、評価状態 (OK、TRIGGERED、または ERROR) をタスク出力値として公開し、下流で参照できます。

パイプラインは、1 時間ごとにクレジットカード取引をロードします。不正率がロード後に急増した場合、不正対策チームは調査のため にすぐに知る必要があります。
ロードステップの直後に SQL アラートタスクを追加して、不正フラグ率がしきい値を超えているかどうかを確認します。次に、{{tasks.Alert-FraudRateCheck.output.alert_state}} == "TRIGGERED" という条件で If/Else タスクを追加します。アラートが OK を返した場合、パイプラインは通常の BI レポート作成に進みます。TRIGGERED の場合、マーチャントカテゴリと地域別の内訳を生成し、不正対策チームにメールを送信する診断ノートブックにルーティングされます。同じアラートオブジェクトがパイプラインフローを駆動できます!

アラートがチームや環境全体にスケーリングするにつれて、課題はアラートの作成から、時間の経過とともにそれらを確実に管理することへと移行します。SQL アラートは、次の方法で本番ワークフローを処理できるように構築されています。
すでに SQL アラートを使用している 4,000 以上の顧客に参加しましょう。最初のアラートはわずか 5 分で設定できます。SQL アラートのドキュメントを読み、すでに手動で定期的にチェックしている監視クエリから始めましょう!
(このブログ記事はAI翻訳ツールを使用して翻訳されています) 原文記事
ブログを購読して、最新の投稿を受信トレイにお届けします。