如何用Terraform或ARM模板为Azure Webtest创建Alert Rule?
Application Insights 标准(预览版)可用性测试及告警规则配置指南
标准(预览版)可用性测试创建方法
目前有两种可行的创建方案:
- 方案一:通过
azurerm_resource_group_template_deployment资源封装ARM模板进行部署,适合还在使用旧版azurerm provider的场景 - 方案二:3.0及以上版本的azurerm provider已经原生支持该预览版资源,直接使用
azurerm_application_insights_web_test资源,将kind参数设置为standard即可完成配置,无需额外封装ARM模板
对应监控告警规则配置
使用azurerm_monitor_metric_alert资源实现告警规则是完全正确的,你疑惑的criteria块内两个参数的固定取值如下:
metric_namespace统一填写microsoft.insights/webtestsmetric_name根据告警场景选择对应值:- 测试可用性/成功率告警,填写
availability/availabilityResults - 测试响应耗时告警,填写
duration/metric
- 测试可用性/成功率告警,填写
以下是完整的可用性告警配置示例:
resource "azurerm_monitor_metric_alert" "web_test_availability_alert" { name = "web-test-failure-alert" resource_group_name = azurerm_resource_group.example.name scopes = [azurerm_application_insights_web_test.example.id] description = "可用性测试成功率低于阈值触发告警" severity = 1 enabled = true criteria { metric_namespace = "microsoft.insights/webtests" metric_name = "availability/availabilityResults" aggregation = "Average" operator = "LessThan" threshold = 100 # 可根据实际需求调整阈值,100代表成功率低于100%即触发 } action { action_group_id = azurerm_monitor_action_group.example.id } }
关于Azure Resource Explorer找不到alertrules文件夹的说明
你参考的2015年旧博文对应的是早已下线的经典告警体系,当前Azure已经将所有告警规则统一收敛到Azure Monitor管理,所以microsoft.insights目录下的alertrules文件夹已经不存在了,你可以在Microsoft.AlertsManagement资源提供器目录下找到所有已创建的监控告警规则。
内容的提问来源于stack exchange,提问作者alexs77
相关产品推荐
相关产品推荐

