App Service、AppService Plan、ストレージ アカウント、ロジック アプリなどの Azure リソース用の Terraform スクリプトを用意しました。
上記の Terraform スクリプトを正常にデプロイしました。しかし、Terraform を使用して上記のリソースのアラートを構成したいと考えています。
ARM テンプレートをデプロイせずに Terraform を使用してアラートを作成する方法はありますか?
App Service、AppService Plan、ストレージ アカウント、ロジック アプリなどの Azure リソース用の Terraform スクリプトを用意しました。
上記の Terraform スクリプトを正常にデプロイしました。しかし、Terraform を使用して上記のリソースのアラートを構成したいと考えています。
ARM テンプレートをデプロイせずに Terraform を使用してアラートを作成する方法はありますか?
確かにあります。これは、Application Insights からのカスタム ログ検索の例です。ただし、Azure Monitor などの別のソース用にこれを簡単に変更できます。
resource "azurerm_application_insights" "example" {
name = "${var.prefix}-appinsights"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
application_type = "web"
retention_in_days = 30
}
resource "azurerm_monitor_action_group" "example" {
name = "CriticalAlertsAction"
resource_group_name = azurerm_resource_group.example.name
short_name = "p0action"
email_receiver {
name = "sendtoadmin"
email_address = "admin@example.com"
use_common_alert_schema = true
}
}
resource "azurerm_monitor_scheduled_query_rules_alert" "example-alert1" {
name = "${var.prefix}-alertrule1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
action {
action_group = [
azurerm_monitor_action_group.example.id
]
}
data_source_id = azurerm_application_insights.example.id
description = "Exception threshold reached"
enabled = true
# Count all requests with server error result code grouped into 5-minute bins
query = <<-QUERY
requests
| where cloud_RoleName == "frontend" and name !contains "Health" and resultCode startswith "5"
QUERY
severity = 1
frequency = 5
time_window = 5
trigger {
operator = "GreaterThan"
threshold = 10
}
}