我问这个问题是因为我在树林里迷路了,我担心我最终可能会实施一些不正确的事情,所以我正在寻找的是一步一步的解释,解释给我“就像我 5 岁一样”,因为就 Azure 的这一面而言,我几乎就是 5 岁。
我目前正在考虑设置 Azure 警报。我可以为单个 Azure SQL Server 数据库设置一个数据库,只要该数据库上的 DTU % 平均运行 10 分钟或更长时间,就会触发警报。
但是我们有数百个 Azure 数据库......我希望能够设置一个警报,每当这些数据库中的任何一个发生这种情况时就会触发该警报。我希望避免一次又一次地为每个数据库配置相同的警报。
假设这是可能的......接下来我需要做的就是针对触发警报的数据库运行 SQL 语句。
欢迎任何提示。提前道歉,因为我仍然处于那个尴尬的“我什至不知道如何开始”的阶段。当你如此无知以至于你甚至不知道如何提出正确的问题时,这真是太糟糕了。
要为多个 Azure SQL Server 数据库设置 Azure 警报,可以使用 Azure Monitor。对您要监控的所有 SQL 数据库重复这些步骤。
您可以创建 Log Analytics 工作区并将 SQL 数据库连接到它。按照使用 Azure Monitor 指标和警报监控 Azure SQL 数据库中的说明进行操作。
在 SQL 数据库菜单中,选择“诊断设置”。单击“添加诊断设置”。命名该设置并选择“发送到 Log Analytics 工作区”。选择之前创建的 Log Analytics 工作区。选择“SQLInsights”和“错误”日志。您可以相应地选择您想要的任何其他选项卡并保存它
然后,创建 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 语句。
配置警报以针对触发警报的数据库运行 SQL 语句。您可以参考从 Azure 门户为指标创建警报规则中的步骤。在警报规则详细信息中,指定要运行的 SQL 语句。
您可以从这些 MS 文档中找到更多详细信息 -