我正在使用Azure的Terraform,我已经创建了一个NSG和一个log_analytics_workspace。
我想创建一个布尔值,当为true时将创建一个log_analytics_workspace,该工作空间应该与NSG放在同一个资源组中。
Main.tf
resource "azurerm_network_security_group" "example" {
name = "NSG-group"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
count = var.nsg-log-analytics-workspace == "nsg-log-main" ? 1 : 0
}
resource "azurerm_log_analytics_workspace" "example" {
name = "log-analytics-workspace"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
sku = "PerGB2018"
retention_in_days = 30
nsg_log_category {
category = log.value
enabled = true
retention_policy {
enabled = true
days = 365
}
Variable.tf
variable "nsg_log_category" {
type = list(string) #convert the logs into a list of strings
default = nsg-main
}
对我错过的任何建议将不胜感激。
我没有领会你的设计要点。然而,如果您想在日志分析工作区中收集nsg的日志,您必须创建一个azurerm_monitor_diagnostic_setting并插入ids资源中的NSG和工作空间。