当我使用OMS解决方案为VM配置Azure监控时,我注意到此功能已被弃用,Azure更希望您迁移到新的监控解决方案(不使用日志分析代理)。Azure允许我使用此GUI配置VM监视,但我希望使用terraform。
在terraform中有没有我必须使用的特殊设置来实现这一点?(顺便说一句,我使用的是Linux VM)
6mzjoqzu1#
是的,这是正确的。omsagent已被标记为旧版,Azure现在有一个名为“Azure Monitor agent”的新监控代理。下面给出的解决方案适用于Linux,请查看Windows机器的官方Terraform文档。我们需要做三件事来在Terraform中实现相同的UI。
下面是示例代码:
data "azurerm_linux_virtual_machine" "vm" { name = var.vm_name resource_group_name = var.az_resource_group_name } resource "azurerm_log_analytics_workspace" "workspace" { name = "${var.project}-${var.env}-log-analytics" location = var.az_location resource_group_name = var.az_resource_group_name sku = "PerGB2018" retention_in_days = 30 } resource "azurerm_virtual_machine_extension" "AzureMonitorLinuxAgent" { name = "AzureMonitorLinuxAgent" publisher = "Microsoft.Azure.Monitor" type = "AzureMonitorLinuxAgent" type_handler_version = "1.0" auto_upgrade_minor_version = "true" virtual_machine_id = data.azurerm_linux_virtual_machine.vm.id } resource "azurerm_monitor_data_collection_rule" "example" { name = "example-rules" resource_group_name = var.az_resource_group_name location = var.az_location destinations { log_analytics { workspace_resource_id = azurerm_log_analytics_workspace.workspace.id name = "test-destination-log" } azure_monitor_metrics { name = "test-destination-metrics" } } data_flow { streams = ["Microsoft-InsightsMetrics"] destinations = ["test-destination-log"] } data_sources { performance_counter { streams = ["Microsoft-InsightsMetrics"] sampling_frequency_in_seconds = 60 counter_specifiers = ["\\VmInsights\\DetailedMetrics"] name = "VMInsightsPerfCounters" } } } # associate to a Data Collection Rule resource "azurerm_monitor_data_collection_rule_association" "example1" { name = "example1-dcra" target_resource_id = data.azurerm_linux_virtual_machine.vm.id data_collection_rule_id = azurerm_monitor_data_collection_rule.example.id description = "example" }
参考:monitor_data_collection_rulemonitor_data_collection_rule_association
1条答案
按热度按时间6mzjoqzu1#
是的,这是正确的。omsagent已被标记为旧版,Azure现在有一个名为“Azure Monitor agent”的新监控代理。下面给出的解决方案适用于Linux,请查看Windows机器的官方Terraform文档。
我们需要做三件事来在Terraform中实现相同的UI。
下面是示例代码:
参考:
monitor_data_collection_rule
monitor_data_collection_rule_association