Skip to content

Commit 1f762a6

Browse files
committed
updating log analytics workspace configuration
1 parent 6f5fbc7 commit 1f762a6

File tree

2 files changed

+41
-40
lines changed

2 files changed

+41
-40
lines changed

main.tf

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,6 @@ data "azurerm_subnet" "snet" {
3636
resource_group_name = data.azurerm_resource_group.rg.name
3737
}
3838

39-
data "azurerm_log_analytics_workspace" "logws" {
40-
count = var.log_analytics_workspace_name != null ? 1 : 0
41-
name = var.log_analytics_workspace_name
42-
resource_group_name = data.azurerm_resource_group.rg.name
43-
}
44-
4539
data "azurerm_storage_account" "storeacc" {
4640
count = var.storage_account_name != null ? 1 : 0
4741
name = var.storage_account_name
@@ -323,7 +317,7 @@ resource "azurerm_linux_virtual_machine_scale_set" "linux_vmss" {
323317
}
324318

325319
dynamic "rolling_upgrade_policy" {
326-
for_each = var.os_upgrade_mode == "Automatic" ? [1] : []
320+
for_each = var.os_upgrade_mode != "Manual" ? [1] : []
327321
content {
328322
max_batch_instance_percent = var.rolling_upgrade_policy.max_batch_instance_percent
329323
max_unhealthy_instance_percent = var.rolling_upgrade_policy.max_unhealthy_instance_percent
@@ -467,7 +461,7 @@ resource "azurerm_windows_virtual_machine_scale_set" "winsrv_vmss" {
467461
}
468462

469463
dynamic "rolling_upgrade_policy" {
470-
for_each = var.os_upgrade_mode == "Automatic" ? [1] : []
464+
for_each = var.os_upgrade_mode != "Manual" ? [1] : []
471465
content {
472466
max_batch_instance_percent = var.rolling_upgrade_policy.max_batch_instance_percent
473467
max_unhealthy_instance_percent = var.rolling_upgrade_policy.max_unhealthy_instance_percent
@@ -581,7 +575,7 @@ resource "azurerm_monitor_autoscale_setting" "auto" {
581575
# Azure Log Analytics Workspace Agent Installation for windows
582576
#--------------------------------------------------------------
583577
resource "azurerm_virtual_machine_scale_set_extension" "omsagentwin" {
584-
count = var.deploy_log_analytics_agent && var.log_analytics_workspace_name != null && var.os_flavor == "windows" ? 1 : 0
578+
count = var.deploy_log_analytics_agent && var.log_analytics_workspace_id != null && var.os_flavor == "windows" ? 1 : 0
585579
name = "OmsAgentForWindows"
586580
publisher = "Microsoft.EnterpriseCloud.Monitoring"
587581
type = "MicrosoftMonitoringAgent"
@@ -591,13 +585,13 @@ resource "azurerm_virtual_machine_scale_set_extension" "omsagentwin" {
591585

592586
settings = <<SETTINGS
593587
{
594-
"workspaceId": "${data.azurerm_log_analytics_workspace.logws.0.workspace_id}"
588+
"workspaceId": "${var.log_analytics_customer_id}"
595589
}
596590
SETTINGS
597591

598592
protected_settings = <<PROTECTED_SETTINGS
599593
{
600-
"workspaceKey": "${data.azurerm_log_analytics_workspace.logws.0.primary_shared_key}"
594+
"workspaceKey": "${var.log_analytics_workspace_primary_shared_key}"
601595
}
602596
PROTECTED_SETTINGS
603597
}
@@ -606,7 +600,7 @@ resource "azurerm_virtual_machine_scale_set_extension" "omsagentwin" {
606600
# Azure Log Analytics Workspace Agent Installation for Linux
607601
#--------------------------------------------------------------
608602
resource "azurerm_virtual_machine_scale_set_extension" "omsagentlinux" {
609-
count = var.deploy_log_analytics_agent && var.log_analytics_workspace_name != null && var.os_flavor == "linux" ? 1 : 0
603+
count = var.deploy_log_analytics_agent && var.log_analytics_workspace_id != null && var.os_flavor == "linux" ? 1 : 0
610604
name = "OmsAgentForLinux"
611605
publisher = "Microsoft.EnterpriseCloud.Monitoring"
612606
type = "OmsAgentForLinux"
@@ -616,13 +610,13 @@ resource "azurerm_virtual_machine_scale_set_extension" "omsagentlinux" {
616610

617611
settings = <<SETTINGS
618612
{
619-
"workspaceId": "${data.azurerm_log_analytics_workspace.logws.0.workspace_id}"
613+
"workspaceId": "${var.log_analytics_customer_id}"
620614
}
621615
SETTINGS
622616

623617
protected_settings = <<PROTECTED_SETTINGS
624618
{
625-
"workspaceKey": "${data.azurerm_log_analytics_workspace.logws.0.primary_shared_key}"
619+
"workspaceKey": "${var.log_analytics_workspace_primary_shared_key}"
626620
}
627621
PROTECTED_SETTINGS
628622
}
@@ -631,11 +625,10 @@ resource "azurerm_virtual_machine_scale_set_extension" "omsagentlinux" {
631625
# azurerm monitoring diagnostics
632626
#--------------------------------------
633627
resource "azurerm_monitor_diagnostic_setting" "vmmsdiag" {
634-
count = var.log_analytics_workspace_name != null && var.storage_account_name != null ? 1 : 0
628+
count = var.log_analytics_workspace_id != null ? 1 : 0
635629
name = lower("${var.vmscaleset_name}-diag")
636630
target_resource_id = var.os_flavor == "windows" ? azurerm_windows_virtual_machine_scale_set.winsrv_vmss.0.id : azurerm_linux_virtual_machine_scale_set.linux_vmss.0.id
637-
storage_account_id = var.storage_account_name != null ? data.azurerm_storage_account.storeacc.0.id : null
638-
log_analytics_workspace_id = data.azurerm_log_analytics_workspace.logws.0.id
631+
log_analytics_workspace_id = var.log_analytics_workspace_id
639632

640633
metric {
641634
category = "AllMetrics"
@@ -647,11 +640,10 @@ resource "azurerm_monitor_diagnostic_setting" "vmmsdiag" {
647640
}
648641

649642
resource "azurerm_monitor_diagnostic_setting" "nsg" {
650-
count = var.log_analytics_workspace_name != null && var.storage_account_name != null ? 1 : 0
643+
count = var.existing_network_security_group_id == null && var.log_analytics_workspace_id != null ? 1 : 0
651644
name = lower("nsg-${var.vmscaleset_name}-diag")
652-
target_resource_id = azurerm_network_security_group.nsg.0.id # need modification as per new alignment
653-
storage_account_id = var.storage_account_name != null ? data.azurerm_storage_account.storeacc.0.id : null
654-
log_analytics_workspace_id = data.azurerm_log_analytics_workspace.logws.0.id
645+
target_resource_id = azurerm_network_security_group.nsg.0.id
646+
log_analytics_workspace_id = var.log_analytics_workspace_id
655647

656648
dynamic "log" {
657649
for_each = var.nsg_diag_logs
@@ -667,11 +659,10 @@ resource "azurerm_monitor_diagnostic_setting" "nsg" {
667659
}
668660

669661
resource "azurerm_monitor_diagnostic_setting" "lb-pip" {
670-
count = var.load_balancer_type == "public" && var.log_analytics_workspace_name != null && var.storage_account_name != null ? 1 : 0
662+
count = var.load_balancer_type == "public" && var.log_analytics_workspace_id != null ? 1 : 0
671663
name = "${var.vmscaleset_name}-pip-diag"
672664
target_resource_id = azurerm_public_ip.pip.0.id
673-
storage_account_id = data.azurerm_storage_account.storeacc.0.id
674-
log_analytics_workspace_id = data.azurerm_log_analytics_workspace.logws.0.id
665+
log_analytics_workspace_id = var.log_analytics_workspace_id
675666

676667
dynamic "log" {
677668
for_each = var.pip_diag_logs
@@ -695,11 +686,10 @@ resource "azurerm_monitor_diagnostic_setting" "lb-pip" {
695686
}
696687

697688
resource "azurerm_monitor_diagnostic_setting" "lb" {
698-
count = var.load_balancer_type == "public" && var.log_analytics_workspace_name != null && var.storage_account_name != null ? 1 : 0
689+
count = var.load_balancer_type == "public" && var.log_analytics_workspace_id != null && var.storage_account_name != null ? 1 : 0
699690
name = "${var.vmscaleset_name}-lb-diag"
700691
target_resource_id = azurerm_lb.vmsslb.0.id
701-
storage_account_id = data.azurerm_storage_account.storeacc.0.id
702-
log_analytics_workspace_id = data.azurerm_log_analytics_workspace.logws.0.id
692+
log_analytics_workspace_id = var.log_analytics_workspace_id
703693

704694
dynamic "log" {
705695
for_each = var.lb_diag_logs

variables.tf

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,11 @@ variable "enable_automatic_instance_repair" {
443443
default = false
444444
}
445445

446+
variable "grace_period" {
447+
description = "Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed."
448+
default = "PT30M"
449+
}
450+
446451
variable "managed_identity_type" {
447452
description = "The type of Managed Identity which should be assigned to the Linux Virtual Machine Scale Set. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`"
448453
default = null
@@ -483,15 +488,6 @@ variable "storage_account_uri" {
483488
default = null
484489
}
485490

486-
487-
488-
489-
490-
variable "grace_period" {
491-
description = "Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed."
492-
default = "PT30M"
493-
}
494-
495491
variable "enable_autoscale_for_vmss" {
496492
description = "Manages a AutoScale Setting which can be applied to Virtual Machine Scale Sets"
497493
default = false
@@ -537,13 +533,28 @@ variable "lb_diag_logs" {
537533
default = ["LoadBalancerAlertEvent"]
538534
}
539535

540-
variable "intall_iis_server_on_instances" {
541-
description = "Install ISS server on every Instance in the VM scale set"
536+
variable "deploy_log_analytics_agent" {
537+
description = "Install log analytics agent to windows or linux VM scaleset instances"
542538
default = false
543539
}
544540

545-
variable "deploy_log_analytics_agent" {
546-
description = "Install log analytics agent to windows or linux VM scaleset instances"
541+
variable "log_analytics_workspace_id" {
542+
description = "The name of log analytics workspace resource id"
543+
default = null
544+
}
545+
546+
variable "log_analytics_customer_id" {
547+
description = "The Workspace (or Customer) ID for the Log Analytics Workspace."
548+
default = null
549+
}
550+
551+
variable "log_analytics_workspace_primary_shared_key" {
552+
description = "The Primary shared key for the Log Analytics Workspace"
553+
default = null
554+
}
555+
556+
variable "intall_iis_server_on_instances" {
557+
description = "Install ISS server on every Instance in the VM scale set"
547558
default = false
548559
}
549560

0 commit comments

Comments
 (0)