当 DURATION 超过时的 Azure SQL 数据库警报规则

问题描述

如果对我的 sql 数据库查询时间超过 XXX 秒,我想创建警报规则。

enter image description here

在创建警报对话框中,我无法选择名为“持续时间”的信号。

enter image description here

您能否建议一个解决方案,如何为查询时间超过 X 秒创建警报?

解决方法

我认为我们可以使用 Kusto 查询语言来获得查询耗时超过 X 秒的结果。 duration_d 字段的单位是毫秒。

let alert_run_interval = 24h;
AzureDiagnostics
| where duration_d >= 5000
| where TimeGenerated > now() - alert_run_interval

  1. 我们应该为我们的 Azure sql 创建一个 Azure SQL Analytics 资源,参考这个 post

  2. 然后我们可以使用逻辑应用程序来创建使用逻辑应用程序进行日志分析查询的自动化报告。按照此 post,我们可以创建一个自动报告以通过电子邮件发送,其中显示特定的 Log Analytics 查询。

enter image description here

以上是我的想法。本机警报规则无法满足您的要求