如何使用 terraform 在 azure api 管理中启用对所有 API 级别的应用程序洞察?
How to enable application insights on All APIs level in azure api management by using terraform?
我正在使用 terraform 管理我的 azure API 管理(APIs 和策略)。
大多数事情都运行良好,https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs 上的文档很棒。
但现在我需要在 All-APIs
级别上激活详细程度 error
的应用程序洞察诊断日志。不幸的是,我不明白如何通过查看文档来做到这一点。有人可以帮我怎么做吗?
这是我通过 UI 设置时的样子。
希望有人能帮忙
azurerm_api_management_diagnostic应该就是你要找的
resource "azurerm_application_insights" "example" {
name = "example-appinsights"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
application_type = "web"
}
resource "azurerm_api_management" "example" {
name = "example-apim"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
publisher_name = "My Company"
publisher_email = "company@terraform.io"
sku_name = "Developer_1"
}
resource "azurerm_api_management_logger" "example" {
name = "example-apimlogger"
api_management_name = azurerm_api_management.example.name
resource_group_name = azurerm_resource_group.example.name
application_insights {
instrumentation_key = azurerm_application_insights.example.instrumentation_key
}
}
resource "azurerm_api_management_diagnostic" "example" {
identifier = "applicationinsights"
resource_group_name = azurerm_resource_group.example.name
api_management_name = azurerm_api_management.example.name
api_management_logger_id = azurerm_api_management_logger.example.id
sampling_percentage = 5.0
always_log_errors = true
log_client_ip = true
verbosity = "Verbose"
http_correlation_protocol = "W3C"
frontend_request {
body_bytes = 32
headers_to_log = [
"content-type",
"accept",
"origin",
]
}
frontend_response {
body_bytes = 32
headers_to_log = [
"content-type",
"content-length",
"origin",
]
}
backend_request {
body_bytes = 32
headers_to_log = [
"content-type",
"accept",
"origin",
]
}
backend_response {
body_bytes = 32
headers_to_log = [
"content-type",
"content-length",
"origin",
]
}
}
我正在使用 terraform 管理我的 azure API 管理(APIs 和策略)。
大多数事情都运行良好,https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs 上的文档很棒。
但现在我需要在 All-APIs
级别上激活详细程度 error
的应用程序洞察诊断日志。不幸的是,我不明白如何通过查看文档来做到这一点。有人可以帮我怎么做吗?
这是我通过 UI 设置时的样子。
希望有人能帮忙
azurerm_api_management_diagnostic应该就是你要找的
resource "azurerm_application_insights" "example" {
name = "example-appinsights"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
application_type = "web"
}
resource "azurerm_api_management" "example" {
name = "example-apim"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
publisher_name = "My Company"
publisher_email = "company@terraform.io"
sku_name = "Developer_1"
}
resource "azurerm_api_management_logger" "example" {
name = "example-apimlogger"
api_management_name = azurerm_api_management.example.name
resource_group_name = azurerm_resource_group.example.name
application_insights {
instrumentation_key = azurerm_application_insights.example.instrumentation_key
}
}
resource "azurerm_api_management_diagnostic" "example" {
identifier = "applicationinsights"
resource_group_name = azurerm_resource_group.example.name
api_management_name = azurerm_api_management.example.name
api_management_logger_id = azurerm_api_management_logger.example.id
sampling_percentage = 5.0
always_log_errors = true
log_client_ip = true
verbosity = "Verbose"
http_correlation_protocol = "W3C"
frontend_request {
body_bytes = 32
headers_to_log = [
"content-type",
"accept",
"origin",
]
}
frontend_response {
body_bytes = 32
headers_to_log = [
"content-type",
"content-length",
"origin",
]
}
backend_request {
body_bytes = 32
headers_to_log = [
"content-type",
"accept",
"origin",
]
}
backend_response {
body_bytes = 32
headers_to_log = [
"content-type",
"content-length",
"origin",
]
}
}