Windows sanal makine ölçek kümesi için Azure Resource Manager şablonu kullanarak konuk işletim sistemi ölçümlerini Azure İzleyici ölçüm deposuna gönderme

Dekont

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Windows için Azure İzleyici Azure Tanılama uzantısını (WAD) kullanarak, bir sanal makine, bulut hizmeti veya Azure Service Fabric kümesinin parçası olarak çalışan konuk işletim sisteminden (konuk işletim sistemi) ölçümleri ve günlükleri toplayabilirsiniz. Uzantı, önceki bağlantılı makalede listelenen birçok farklı konuma telemetri gönderebilir.

Bu makalede, Bir Windows sanal makine ölçek kümesi için konuk işletim sistemi performans ölçümlerini Azure İzleyici veri deposuna gönderme işlemi açıklanmaktadır. Microsoft Azure Tanılama sürüm 1.11'den başlayarak ölçümleri doğrudan standart platform ölçümlerinin toplandığı Azure İzleyici ölçüm deposuna yazabilirsiniz. Bunları bu konumda depolayarak, platform ölçümleri için kullanılabilen eylemlere erişebilirsiniz. Eylemler arasında neredeyse gerçek zamanlı uyarılar, grafik oluşturma, yönlendirme, REST API'den erişim ve daha fazlası bulunur. Geçmişte Microsoft Azure Tanılama uzantısı Azure Depolama'a yazmıştı ancak Azure İzleyici veri deposuna yazmamıştı.

Resource Manager şablonlarını yeni kullanıyorsanız şablon dağıtımları ve bunların yapısı ve söz dizimi hakkında bilgi edinin.

Önkoşullar

Azure İzleyici'nin veri havuzu olarak ayarlanması

Azure Tanılama uzantısı, ölçümleri ve günlükleri farklı konumlara yönlendirmek için veri havuzları adlı bir özellik kullanır. Aşağıdaki adımlarda, yeni Azure İzleyici veri havuzunu kullanarak vm dağıtmak için Resource Manager şablonunun ve PowerShell'in nasıl kullanılacağı gösterilmektedir.

Resource Manager şablonu yazma

Bu örnek için genel kullanıma açık bir örnek şablon kullanabilirsiniz:

  • Azuredeploy.json , sanal makine ölçek kümesinin dağıtımı için önceden yapılandırılmış bir Resource Manager şablonudur.

  • Azuredeploy.parameters.json , VM'niz için ayarlamak istediğiniz kullanıcı adı ve parola gibi bilgileri depolayan bir parametre dosyasıdır. Dağıtım sırasında Resource Manager şablonu bu dosyada ayarlanan parametreleri kullanır.

Her iki dosyayı da yerel olarak indirin ve kaydedin.

azuredeploy.parameters.json dosyasını değiştirme

azuredeploy.parameters.json dosyasını açın:

  • Dağıtmak istediğiniz vmSKU'yu sağlayın. Standard_D2_v3 öneririz.
  • Sanal makine ölçek kümeniz için istediğiniz bir windowsOSVersion belirtin. 2016-Datacenter'i öneririz.
  • VmssName özelliği kullanılarak dağıtılacak sanal makine ölçek kümesi kaynağını adlandırın. VmSS-WAD-TEST örnektir.
  • instanceCount özelliğini kullanarak sanal makine ölçek kümesinde çalıştırmak istediğiniz VM sayısını belirtin.
  • Sanal makine ölçek kümesi için adminUsername ve adminPassword değerlerini girin. Bu parametreler ölçek kümesindeki VM'lere uzaktan erişim için kullanılır. VM'nizin ele geçirilmemesi için bu şablondakileri kullanmayın. Botlar, genel GitHub depolarındaki kullanıcı adları ve parolalar için interneti tarar. Vm'leri bu varsayılan değerlerle test etme olasılığı yüksektir.

azuredeploy.json dosyasını değiştirme

azuredeploy.json dosyasını açın.

Resource Manager şablonunda depolama hesabı bilgilerini tutmak için bir değişken ekleyin. Tanılama yapılandırma dosyasında belirtilen tüm günlükler veya performans sayaçları hem Azure İzleyici ölçüm deposuna hem de burada belirttiğiniz depolama hesabına yazılır:

"variables": {
  //add this line
  "storageAccountName": "[concat('storage', uniqueString(resourceGroup().id))]",
  ...
}

Kaynaklar bölümünde sanal makine ölçek kümesi tanımını bulun ve kimlik bölümünü yapılandırmaya ekleyin. Bu ekleme, Azure'ın ona bir sistem kimliği atamasını sağlar. Bu adım, ölçek kümesindeki VM'lerin kendileriyle ilgili konuk ölçümlerini Azure İzleyici'ye yaymasını da sağlar:

{ 
  "type": "Microsoft.Compute/virtualMachineScaleSets", 
  "name": "[variables('namingInfix')]", 
  "location": "[resourceGroup().location]", 
  "apiVersion": "2017-03-30", 
  //add these lines below
  "identity": { 
       "type": "systemAssigned" 
   }, 
   //end of lines to add
   ...
}

Sanal makine ölçek kümesi kaynağında virtualMachineProfile bölümünü bulun. Uzantıları yönetmek için extensionsProfile adlı yeni bir profil ekleyin.

extensionProfile dosyasında, VMSS-WAD-extension bölümünde gösterildiği gibi şablona yeni bir uzantı ekleyin. Bu bölüm, yayılan ölçümlerin Azure İzleyici tarafından kabul edilmesini sağlayan Azure kaynakları uzantısı için yönetilen kimliklerdir. Ad alanı herhangi bir ad içerebilir.

MSI uzantısından alınan aşağıdaki kod, tanılama uzantısını ve yapılandırmasını da sanal makine ölçek kümesi kaynağına bir uzantı kaynağı olarak ekler. Gerektiğinde performans sayaçlarını eklemek veya kaldırmaktan çekinmeyin:

  "extensionProfile": {
    "extensions": [
      // BEGINNING of added code
      // Managed identities for Azure resources
      {
        "name": "VMSS-WAD-extension",
        "properties": {
          "publisher": "Microsoft.ManagedIdentity",
          "type": "ManagedIdentityExtensionForWindows",
          "typeHandlerVersion": "1.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "port": 50342
          },
          "protectedSettings": {}
        }
      },
      // add diagnostic extension. (Remove this comment after pasting.)
      { 
        "name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]", 
        "properties": { 
          "type": "IaaSDiagnostics",
          "autoUpgradeMinorVersion": true,
          "protectedSettings": {
            "storageAccountName": "[variables('storageAccountName')]",
            "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')),'2015-05-01-preview').key1]",
            "storageAccountEndPoint": "https://core.windows.net/"
          },
          "publisher": "Microsoft.Azure.Diagnostics", 
          "settings": { 
            "WadCfg": { 
              "DiagnosticMonitorConfiguration": { 
                "overallQuotaInMB": "50000", 
                "PerformanceCounters": { 
                  "scheduledTransferPeriod": "PT1M", 
                  "sinks": "AzMonSink", 
                  "PerformanceCounterConfiguration": [
                    { 
                      "counterSpecifier": "\\Memory\\% Committed Bytes In Use", 
                      "sampleRate": "PT15S" 
                    },
                    { 
                      "counterSpecifier": "\\Memory\\Available Bytes", 
                      "sampleRate": "PT15S" 
                    }, 
                    { 
                      "counterSpecifier": "\\Memory\\Committed Bytes", 
                      "sampleRate": "PT15S" 
                    }
                  ]
                },
                "EtwProviders": {
                  "EtwEventSourceProviderConfiguration": [
                    { 
                      "provider": "Microsoft-ServiceFabric-Actors", 
                      "scheduledTransferKeywordFilter": "1", 
                      "scheduledTransferPeriod": "PT5M", 
                      "DefaultEvents": { 
                        "eventDestination": "ServiceFabricReliableActorEventTable" 
                      } 
                    }, 
                    { 
                      "provider": "Microsoft-ServiceFabric-Services", 
                      "scheduledTransferPeriod": "PT5M", 
                      "DefaultEvents": { 
                        "eventDestination": "ServiceFabricReliableServiceEventTable" 
                      } 
                    } 
                  ], 
                  "EtwManifestProviderConfiguration": [
                    {
                       "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8", 
                       "scheduledTransferLogLevelFilter": "Information", 
                       "scheduledTransferKeywordFilter": "4611686018427387904", 
                       "scheduledTransferPeriod": "PT5M", 
                       "DefaultEvents": { 
                         "eventDestination": "ServiceFabricSystemEventTable" 
                       } 
                    } 
                  ]
                }
              },
              "SinksConfig": { 
                 "Sink": [ 
                    { 
                    "name": "AzMonSink", 
                    "AzureMonitor": {} 
                    } 
                 ]
              }
            },
            "StorageAccount": "[variables('storageAccountName')]" 
          },
          "typeHandlerVersion": "1.11" 
        }
      }
    ]
  },
  // end of added code. Be sure that the number and type of brackets match properly when done. 
  {
  "type": "Microsoft.Insights/autoscaleSettings",
  ...
  }

Doğru sırada oluşturulduğundan emin olmak için depolama hesabına dependsOn ekleyin:

"dependsOn": [
  "[concat('Microsoft.Network/loadBalancers/', variables('loadBalancerName'))]",
  "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]",
  //add this line below
  "[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]"
]

Şablonda henüz oluşturulmamış bir depolama hesabı oluşturun:

"resources": [
  // add this code
  {
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[variables('storageAccountName')]",
    "apiVersion": "2015-05-01-preview",
    "location": "[resourceGroup().location]",
    "properties": {
      "accountType": "Standard_LRS"
    }
  },
  // end added code
  {
    "type": "Microsoft.Network/virtualNetworks",
    "name": "[variables('virtualNetworkName')]",
    ...
  }
]

Her iki dosyayı da kaydedin ve kapatın.

Resource Manager şablonunu dağıtma

Dekont

Azure Tanılama uzantısı sürüm 1.5 veya üzerini çalıştırıyor olmanız veResource Manager şablonunuzda autoUpgradeMinorVersion: özelliğinin true olarak ayarlanmış olması gerekir. Ardından Azure, VM'yi başlattığında uygun uzantıyı yükler. Şablonunuzda bu ayarlar yoksa, bunları değiştirin ve şablonu yeniden dağıtın.

Resource Manager şablonunu dağıtmak için Azure PowerShell'i kullanın:

  1. PowerShell’i başlatın.

  2. kullanarak Login-AzAccountAzure'da oturum açın.

  3. kullanarak Get-AzSubscriptionabonelik listenizi alın.

  4. Oluşturacağınız aboneliği ayarlayın veya sanal makineyi güncelleştirin:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Dağıtılan VM için yeni bir kaynak grubu oluşturun. Şu komutu çalıştırın:

     New-AzResourceGroup -Name "VMSSWADtestGrp" -Location "<Azure Region>"
    
  6. VM'yi dağıtmak için aşağıdaki komutları çalıştırın:

    Dekont

    Mevcut bir ölçek kümesini güncelleştirmek istiyorsanız, komutun sonuna -Mode Incremental ekleyin.

    New-AzResourceGroupDeployment -Name "VMSSWADTest" -ResourceGroupName "VMSSWADtestGrp" -TemplateFile "<File path of your azuredeploy.JSON file>" -TemplateParameterFile "<File path of your azuredeploy.parameters.JSON file>"
    
  7. Dağıtımınız başarılı olduktan sonra sanal makine ölçek kümesini Azure portalında bulmanız gerekir. Ölçümleri Azure İzleyici'ye yaymalıdır.

    Dekont

    Seçili vmSkuSize çevresinde hatalarla karşılaşabilirsiniz. Bu durumda azuredeploy.json dosyanıza dönün ve vmSkuSize parametresinin varsayılan değerini güncelleştirin. Standard_DS1_v2 denemenizi öneririz.

Ölçümlerinizi grafikleyin

  1. Azure Portal oturum açın.

  2. Sol taraftaki menüden İzleyici'yi seçin.

  3. İzleyici sayfasında Ölçümler'i seçin.

    A screenshot showing the metrics menu item on the Azure Monitor menu page.

  4. Toplama süresini Son 30 dakika olarak değiştirin.

  5. Kaynak açılan menüsünde, oluşturduğunuz sanal makine ölçek kümesini seçin.

  6. Ad alanları açılan menüsünde Sanal Makine Konuğu'na tıklayın.

  7. Ölçümler açılan menüsünde Bellek%Kullanımda Işlenen Baytlar'ı seçin.

    A screenshot showing the selection of namespace metric and aggregation for a metrics chart.

Daha sonra, belirli bir VM için grafik oluşturmak veya ölçek kümesindeki her VM'yi çizmek için bu ölçümdeki boyutları kullanmayı da seçebilirsiniz.

Sonraki adımlar