订阅范围内的 Azure 警报,带有 SQL 脚本,可在触发警报的数据库中运行

问题描述 投票:0回答:1

我问这个问题是因为我在树林里迷路了,我担心我最终可能会实施一些不正确的事情,所以我正在寻找的是一步一步的解释,解释给我“就像我 5 岁一样”,因为就 Azure 的这一面而言,我几乎就是 5 岁。

我目前正在考虑设置 Azure 警报。我可以为单个 Azure SQL Server 数据库设置一个数据库,只要该数据库上的 DTU % 平均运行 10 分钟或更长时间,就会触发警报。

但是我们有数百个 Azure 数据库......我希望能够设置一个警报,每当这些数据库中的任何一个发生这种情况时就会触发该警报。我希望避免一次又一次地为每个数据库配置相同的警报。

假设这是可能的......接下来我需要做的就是针对触发警报的数据库运行 SQL 语句。

欢迎任何提示。提前道歉,因为我仍然处于那个尴尬的“我什至不知道如何开始”的阶段。当你如此无知以至于你甚至不知道如何提出正确的问题时,这真是太糟糕了。

azure azure-alerts sql-azure-alerts
1个回答
0
投票

要为多个 Azure SQL Server 数据库设置 Azure 警报,可以使用 Azure Monitor。对您要监控的所有 SQL 数据库重复这些步骤。

您可以创建 Log Analytics 工作区并将 SQL 数据库连接到它。按照使用 Azure Monitor 指标和警报监控 Azure SQL 数据库中的说明进行操作。

enter image description here

在 SQL 数据库菜单中,选择“诊断设置”。单击“添加诊断设置”。命名该设置并选择“发送到 Log Analytics 工作区”。选择之前创建的 Log Analytics 工作区。选择“SQLInsights”和“错误”日志。您可以相应地选择您想要的任何其他选项卡并保存它

enter image description here

enter image description here

然后,创建 Log Analytics 查询以检索所有数据库的 DTU 百分比。像这样的东西-

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where MetricName == "dtu_percent"
| summarize avg_value=avg(Average), count() by ResourceId

接下来,创建一个 Azure Monitor 警报,当平均 DTU 百分比大于 95% 持续 10 分钟或更长时间时触发。最后,配置警报以针对触发警报的数据库运行 SQL 语句。

enter image description here

enter image description here

配置警报以针对触发警报的数据库运行 SQL 语句。您可以参考从 Azure 门户为指标创建警报规则中的步骤。在警报规则详细信息中,指定要运行的 SQL 语句。

您可以从这些 MS 文档中找到更多详细信息 -

© www.soinside.com 2019 - 2024. All rights reserved.