警报

的字段返回时,警报将通知您计划查询满足一个阈值。使用警报来监控您的业务,或将其与工具集成以启动工作流,如用户入职或支持票据。警报是预定查询的补充,但每次执行后都会检查它们的条件。

重要的

  • 使用参数使用SQL编辑器中为每个参数指定的默认值。

查看和组织警报

可以通过以下两种方式之一查看警报:

  • 现在可以通过单击在工作区浏览器中查看新的警报工作空间的图标工作空间在侧栏中。默认情况下,可以在< >强首页文件夹中。用户可以将警报与其他Databricks对象一起组织到工作区浏览器中的文件夹中。要查看和组织工作区浏览器中当前存在的警报,用户(或管理员)必须将它们迁移到工作区浏览器中。有关Databricks SQL工作区浏览器(包括迁移)的信息,请参见Databricks SQL工作区浏览器

  • 所有警报(无论创建时间或迁移状态)都可以通过单击查看警告图标警报在侧栏中。

默认情况下,对象按反向时间顺序排序。您可以通过单击列标题来重新排列列表。

  • 的名字显示每个警报的字符串名称。

  • 状态显示告警状态触发好吧,或未知的

  • 最后一次更新显示最近一次更新的时间或日期。

  • 在创建显示创建警报的日期和时间。

    • 触发表示在最近的执行中,目标查询中的Value列满足您配置的条件和阈值。如果你的警报检查“cats”是否超过1500,只要“cats”超过1500,你的警报就会被触发。

    • 好吧表示在最近的查询执行中,“值”列不符合您配置的“条件”和“阈值”。这并不意味着警报之前没有被触发。如果您的“cats”值现在是1470,您的警报将显示为好吧

    • 未知的这意味着Databricks SQL没有足够的数据来评估警报条件。您将在创建Alert后立即看到此状态,直到执行查询为止。查询结果中没有数据,或者最近的查询结果不包括< em >值列你配置。

警报列表

创建警报

按照以下步骤在查询的单个列上创建警报。

  1. 做以下其中一件事:

    • 点击新图标在侧栏中选择< >强警报.

    • 点击警告图标警报,并单击< >强+新警报按钮。

    • 点击工作空间的图标工作空间在侧栏中,单击< >强+创建警报.

  2. 搜索目标查询。

    目标查询

    若要对多个列发出警报,需要修改查询。看到多个列上的警报

  3. 在< >强触发时字段,配置告警。

    • 的< >强值列下拉菜单控制对查询结果的哪个字段进行计算。

    • 的< >强条件下拉控制要应用的逻辑操作。

    • 的< >强阈值使用您指定的Condition将文本输入与Value列进行比较。

    提醒设置

    请注意

    如果目标查询返回多条记录,Databricks SQL警报将对第一条记录起作用。当您更改Value列设置时,顶部行中该字段的当前值将显示在其下方。

  4. 在< >强触发时,发送通知字段,选择触发警报时发送多少通知:

    • 只有一次:当警戒状态改变从好吧触发

    • 对每个时间警报进行评估:当告警状态为时,发送通知触发不管之前的评估结果如何。

    • 最多每一个:当告警状态为时,发送通知触发以特定的时间间隔。这个选择可以让您避免经常触发的垃圾通知。

    无论您选择哪种通知设置,无论状态从何时开始,您都会收到通知好吧触发或从触发好吧.如果状态保持不变,计划设置将影响您将收到多少通知触发从一次执行到下一次执行。详细信息请参见通知频率

  5. 在< >强模板下拉,选择模板:

    • 使用默认模板:告警通知是一条链接到“告警配置”界面和“查询”界面的消息。

    • 使用自定义模板:告警通知包含更详细的告警信息。

      1. 将显示一个框,由主题和正文的输入字段组成。任何静态内容都是有效的,你可以合并内置的模板变量:

        • ALERT_STATUS:评估的警报状态(字符串)。

        • ALERT_CONDITION:警报条件操作符(字符串)。

        • ALERT_THRESHOLD:告警阈值(字符串或数字)。

        • ALERT_NAME:告警名称(字符串)。

        • ALERT_URL:告警页面URL(字符串)。

        • QUERY_NAME:关联的查询名称(字符串)。

        • QUERY_URL:关联的查询页面URL(字符串)。

        • QUERY_RESULT_VALUE:查询结果值(字符串或数字)。

        • QUERY_RESULT_ROWS:查询结果行(值数组)。

        • QUERY_RESULT_COLS:查询结果列(字符串数组)。

        例如,一个主题的例子可以是:警报“{{ALERT_NAME}}”改变了状态{{ALERT_STATUS}}

      2. 可以使用HTML在自定义模板中格式化消息。模板中允许使用以下标签和属性:

        • 标签:<一><方法><缩略词>< b >< blockquote >身体< >< br ><代码>< div >< em ><字体><标题>< h2 >< h3 >< h4 >< h5>,<代替>,<头>,<人力资源>< html ><我><李>< ol >< p >< span >< >强<表>tbody > << td >< th >< tr >< ul >

        • 属性:href (for<一>),标题(为<一><方法><缩略词>

      3. 单击< >强预览切换按钮预览渲染结果。

        重要的

        预览对于验证模板变量是否被正确呈现非常有用。它不是最终通知内容的准确表示,因为每个警报目的地可以以不同的方式显示通知。

      4. 单击< >强保存更改按钮。

  6. 在< >强刷新,设置刷新计划。警报的刷新计划独立于查询的刷新计划。

    • 如果查询是< >强以所有者身份运行查询时,查询将使用查询所有者的凭据在警报的刷新调度上运行。

    • 如果查询是< >强作为查看器运行查询时,查询将使用警报创建者的凭据在警报的刷新调度上运行。

  7. 点击< >强创建警报.

  8. 选择一个警报的目的地

    重要的

    如果你跳过这一步< em >不会警报触发时通知。

    警报的目的地

多个列上的警报

要根据查询的多个列设置警报,您的查询可以实现警报逻辑并返回要触发的警报的布尔值。例如:

选择情况下drafts_count>10000archived_count>5000然后1其他的0结束选择总和情况下is_archived然后1其他的0结束作为archived_count总和情况下is_draft然后1其他的0结束作为drafts_count查询数据

这个查询返回1drafts_count>10000而且archived_count>5000.然后可以将警报配置为当值为时触发1

通知频率

Databricks SQL在检测到警报状态发生变化时,向您选择的警报目的地发送通知好吧触发反之亦然。考虑这个示例,其中在一个计划每天运行一次的查询上配置了一个Alert。Alert的每日状态如下表所示。周一之前的警戒状态是好吧

一天

警戒状态

周一

好吧

周二

好吧

周三

触发

周四

触发

星期五

触发

周六

触发

周日

好吧

如果设置通知频率为只是一次, Databricks SQL会在周三发送一个通知,当状态从好吧触发周日再转回来。它不会在周四、周五或周六发送警报,除非您特别配置它这样做,因为警报状态在这些天的执行之间没有变化。

配置告警权限

要配置谁可以管理和运行警报,请参见警报访问控制

转移警报的所有权

保存警报时,您将成为警报的所有者。如果从工作空间中删除警报的所有者,则警报不再拥有所有者。管理员用户可以将警报的所有权转让给其他用户。使用Databricks SQL UI转移所有权:

  1. 打开警报。

  2. 点击< >强分享.

  3. 选择一个用户,然后选择< >强可以管理.

  4. 阅读提示。如果您同意,请单击< >强确认.

若要使用REST API转移所有权,请参见转移警报的所有权

如果警报以前有所有者,则该用户不再拥有< >强可以管理的权限,以及您向其提供的用户< >强可以管理权限现在是所有者。