Windows VM için ARM şablonu kullanarak konuk işletim sistemi ölçümlerini Azure İzleyici ölçüm deposuna gönderme
Not
Azure İzleyici Aracısı (AMA), Azure ve hibrit sanal makinelerin konuk işletim sisteminden izleme verilerini toplar ve microsoft Sentinel ve Bulut için Microsoft Defender gibi özellikler, içgörüler ve diğer hizmetler tarafından kullanılmak üzere Azure İzleyici'ye sunar.
Sanal Makineler günlükleri ve ölçümleri toplamak için Azure İzleyici Aracısı'nı kullanmanızı öneririz. Daha fazla bilgi için bkz. Azure İzleyici Aracısı'ne genel bakış.
Azure sanal makinelerinin (VM) konuk işletim sisteminden alınan performans verileri, diğer platform ölçümleri gibi otomatik olarak toplanmaz. Azure İzleyici Ölçümlerinin tüm özellikleriyle kullanılabilmesi için konuk işletim sistemi ölçümlerini ölçüm veritabanına toplamak için Azure İzleyici Tanılama uzantısını yükleyin. Bu özellikler arasında gerçek zamanlıya yakın uyarılar, grafik oluşturma, yönlendirme ve REST API'den erişim yer alır. Bu makalede, Azure Resource Manager şablonu (ARM şablonu) kullanarak bir Windows VM için konuk işletim sistemi performans ölçümlerini ölçüm veritabanına gönderme işlemi açıklanmaktadır.
Not
Azure portalını kullanarak konuk işletim sistemi ölçümlerini toplamak üzere tanılama uzantısını yapılandırma hakkında ayrıntılı bilgi için bkz. Windows Azure Tanılama (WAD) uzantısını yükleme ve yapılandırma.
ARM ş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
- Aboneliğinizin Microsoft.Insights'a kayıtlı olması gerekir.
- Azure PowerShell veya Azure Cloud Shell yüklü olmalıdır.
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 havuzu kullanılarak vm dağıtmak için ARM şablonu ve PowerShell'in nasıl kullanılacağı gösterilmektedir.
ARM şablonu
Bu örnekte, genel kullanıma açık bir örnek şablonu kullanabilirsiniz. Başlangıç şablonları GitHub'dadır.
- Azuredeploy.json: VM dağıtımı için önceden yapılandırılmış arm şablonu.
- Azuredeploy.parameters.json: VM'niz için ayarlamak istediğiniz kullanıcı adı ve parola gibi bilgileri depolayan parametre dosyası. Dağıtım sırasında ARM şablonu bu dosyada ayarlanan parametreleri kullanır.
Her iki dosyayı da yerel olarak indirin ve kaydedin.
azuredeploy.parameters.json değiştir
azuredeploy.parameters.json dosyasını açın.
VM için
adminUsername
veadminPassword
değerlerini girin. Bu parametreler VM'ye uzaktan erişim için kullanılır. VM'nizin ele geçirilmiş olmasını önlemek için bu şablondaki değerleri kullanmayın. Botlar, genel GitHub depolarındaki kullanıcı adları ve parolalar için İnternet'i tarar. Vm'leri bu varsayılan değerlerle test etme olasılığı yüksektir.VM için benzersiz
dnsname
bir oluşturma.
azuredeploy.json Değiştir
azuredeploy.json dosyasını açın.
için girdiden
storageAccountName
sonra şablonunvariables
bölümüne bir depolama hesabı kimliği ekleyin.// Find these lines. "variables": { "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]", // Add this line directly below. "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
Bu Yönetilen Hizmet Kimliği (MSI) uzantısını bölümün en üstündeki şablona
resources
ekleyin. Uzantı, Azure İzleyici'nin yayılan ölçümleri kabul etmesini sağlar.//Find this code. "resources": [ // Add this code directly below. { "type": "Microsoft.Compute/virtualMachines/extensions", "name": "[concat(variables('vmName'), '/', 'WADExtensionSetup')]", "apiVersion": "2017-12-01", "location": "[resourceGroup().location]", "dependsOn": [ "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" ], "properties": { "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForWindows", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": true, "settings": { "port": 50342 } } },
Azure'ın
identity
MSI uzantısına bir sistem kimliği atadığından emin olmak için yapılandırmayı VM kaynağına ekleyin. Bu adım, VM'nin kendisiyle ilgili konuk ölçümlerini Azure İzleyici'ye yaymasını sağlar.// Find this section "subnet": { "id": "[variables('subnetRef')]" } } } ] } }, { "apiVersion": "2017-03-30", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", // add these 3 lines below "identity": { "type": "SystemAssigned" }, //end of added lines "dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]", "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]" ], "properties": { "hardwareProfile": { ...
Windows VM'sinde tanılama uzantısını etkinleştirmek için aşağıdaki yapılandırmayı ekleyin. Basit bir Resource Manager tabanlı VM için, uzantı yapılandırmasını VM'nin resources dizisine ekleyebilirsiniz. satırı
"sinks": "AzMonSink"
ve bölümün devamında karşılık gelen"SinksConfig"
, uzantının ölçümleri doğrudan Azure İzleyici'ye yaymasını sağlar. Gerektiğinde performans sayaçlarını ekleyebilir veya kaldırabilirsiniz."networkProfile": { "networkInterfaces": [ { "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]" } ] }, "diagnosticsProfile": { "bootDiagnostics": { "enabled": true, "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob]" } } }, //Start of section to add "resources": [ { "type": "Microsoft.Compute/virtualMachines/extensions", "name": "[concat(variables('vmName'), '/', 'Microsoft.Insights.VMDiagnosticsSettings')]", "apiVersion": "2017-12-01", "location": "[resourceGroup().location]", "dependsOn": [ "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" ], "properties": { "publisher": "Microsoft.Azure.Diagnostics", "type": "IaaSDiagnostics", "typeHandlerVersion": "1.12", "autoUpgradeMinorVersion": true, "settings": { "WadCfg": { "DiagnosticMonitorConfiguration": { "overallQuotaInMB": 4096, "DiagnosticInfrastructureLogs": { "scheduledTransferLogLevelFilter": "Error" }, "Directories": { "scheduledTransferPeriod": "PT1M", "IISLogs": { "containerName": "wad-iis-logfiles" }, "FailedRequestLogs": { "containerName": "wad-failedrequestlogs" } }, "PerformanceCounters": { "scheduledTransferPeriod": "PT1M", "sinks": "AzMonSink", "PerformanceCounterConfiguration": [ { "counterSpecifier": "\\Memory\\Available Bytes", "sampleRate": "PT15S" }, { "counterSpecifier": "\\Memory\\% Committed Bytes In Use", "sampleRate": "PT15S" }, { "counterSpecifier": "\\Memory\\Committed Bytes", "sampleRate": "PT15S" } ] }, "WindowsEventLog": { "scheduledTransferPeriod": "PT1M", "DataSource": [ { "name": "Application!*" } ] }, "Logs": { "scheduledTransferPeriod": "PT1M", "scheduledTransferLogLevelFilter": "Error" } }, "SinksConfig": { "Sink": [ { "name" : "AzMonSink", "AzureMonitor" : {} } ] } }, "StorageAccount": "[variables('storageAccountName')]" }, "protectedSettings": { "storageAccountName": "[variables('storageAccountName')]", "storageAccountKey": "[listKeys(variables('accountid'),'2015-06-15').key1]", "storageAccountEndPoint": "https://core.windows.net/" } } } ] //End of section to add
Her iki dosyayı da kaydedin ve kapatın.
ARM şablonunu dağıtma
Not
uzantı sürüm 1.5 veya üzeri Azure Tanılama çalıştırıyor olmanız ve özelliğin autoUpgradeMinorVersion:
ARM şablonunuzda olarak ayarlanmış true
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.
ARM şablonunu dağıtmak için Azure PowerShell'i kullanırız.
PowerShell'i başlatın.
kullanarak
Login-AzAccount
Azure'da oturum açın.kullanarak
Get-AzSubscription
abonelik listenizi alın.VM'yi oluşturmak/güncelleştirmek için kullandığınız aboneliği ayarlayın:
Select-AzSubscription -SubscriptionName "<Name of the subscription>"
Dağıtılmakta olan VM için yeni bir kaynak grubu oluşturmak için aşağıdaki komutu çalıştırın:
New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
Not
Özel ölçümler için etkinleştirilmiş bir Azure bölgesi kullanmayı unutmayın.
ARM şablonunu kullanarak VM'yi dağıtmak için aşağıdaki komutları çalıştırın.
Not
Mevcut bir VM'yi güncelleştirmek istiyorsanız, aşağıdaki komutun sonuna -Mode Incremental ekleyin.
New-AzResourceGroupDeployment -Name "<NameThisDeployment>" -ResourceGroupName "<Name of the Resource Group>" -TemplateFile "<File path of your Resource Manager template>" -TemplateParameterFile "<File path of your parameters file>"
Dağıtımınız başarılı olduktan sonra VM' nin Azure portalında olması ve ölçümleri Azure İzleyici'ye yayması gerekir.
Not
Seçili
vmSkuSize
öğesinin çevresinde hatayla karşılaşabilirsiniz. Bu hata oluşursa, azuredeploy.json dosyanıza dönün ve parametrenin varsayılan değerini güncelleştirinvmSkuSize
. Bu durumda, denemenizi"Standard_DS1_v2"
öneririz).
Ölçümlerinizi grafikleyin
Azure Portal’ında oturum açın.
Soldaki menüden İzleyici'yi seçin.
İzleyici sayfasında Ölçümler'i seçin.
Toplama süresini Son 30 dakika olarak değiştirin.
Kaynak açılan menüsünde, oluşturduğunuz VM'yi seçin. Şablondaki adı değiştirmediyseniz SimpleWinVM2 olmalıdır.
Ad alanları açılan listesinde azure.vm.windows.guestmetrics öğesini seçin.
Ölçümler açılan listesinde Bellek%Kullanımda Işlenen Baytlar'ı seçin.
Sonraki adımlar
Özel ölçümler hakkında daha fazla bilgi edinin.