Metrische gegevens van gastbesturingssystemen verzenden naar het metrische gegevensarchief van Azure Monitor met behulp van een ARM-sjabloon voor een Windows-VM
Notitie
Azure Monitor Agent (AMA) verzamelt bewakingsgegevens van het gastbesturingssysteem van Azure en hybride virtuele machines en levert deze aan Azure Monitor voor gebruik door functies, inzichten en andere services, zoals Microsoft Sentinel en Microsoft Defender voor Cloud.
Het is raadzaam om de Azure Monitor-agent te gebruiken om logboeken en metrische gegevens van virtuele machines te verzamelen. Zie het overzicht van de Azure Monitor-agent voor meer informatie.
Prestatiegegevens van het gastbesturingssystemen van virtuele Azure-machines (VM's) worden niet automatisch verzameld, net als andere metrische platformgegevens. Installeer de Azure Monitor Diagnostics-extensie om metrische gegevens van gastbesturingssystemen te verzamelen in de database met metrische gegevens, zodat deze kan worden gebruikt met alle functies van Metrische gegevens van Azure Monitor. Deze functies omvatten bijna realtime waarschuwingen, grafieken, routering en toegang vanuit een REST API. In dit artikel wordt het proces beschreven voor het verzenden van metrische gegevens voor gastbesturingssystemen voor een Windows-VM naar de metrische database met behulp van een Azure Resource Manager-sjabloon (ARM-sjabloon).
Notitie
Zie De WAD-extensie (Windows Azure Diagnostics) installeren en configureren voor meer informatie over het configureren van de diagnostische extensie voor het verzamelen van metrische gegevens van gastbesturingssystemen met behulp van Azure Portal.
Als u geen toegang hebt tot ARM-sjablonen, leert u meer over sjabloonimplementaties en de bijbehorende structuur en syntaxis.
Vereisten
- Uw abonnement moet zijn geregistreerd bij Microsoft.Insights.
- U moet Azure PowerShell of Azure Cloud Shell hebben geïnstalleerd.
Azure Monitor instellen als een gegevenssink
De Azure Diagnostics-extensie maakt gebruik van een functie genaamd gegevenssinks om metrische gegevens en logboeken naar verschillende locaties te routeren. In de volgende stappen ziet u hoe u een ARM-sjabloon en PowerShell gebruikt om een virtuele machine te implementeren met behulp van de nieuwe Azure Monitor-gegevenssink.
ARM-sjabloon
In dit voorbeeld kunt u een openbaar beschikbare voorbeeldsjabloon gebruiken. De beginsjablonen bevinden zich op GitHub.
- Azuredeploy.json: een vooraf geconfigureerde ARM-sjabloon voor de implementatie van een VIRTUELE machine.
- Azuredeploy.parameters.json: Een parameterbestand waarin informatie wordt opgeslagen, zoals de gebruikersnaam en het wachtwoord die u wilt instellen voor uw virtuele machine. Tijdens de implementatie gebruikt de ARM-sjabloon de parameters die in dit bestand zijn ingesteld.
Download en sla beide bestanden lokaal op.
Azuredeploy.parameters.json wijzigen
Open het bestand azuredeploy.parameters.json .
Voer waarden in voor
adminUsername
enadminPassword
voor de VIRTUELE machine. Deze parameters worden gebruikt voor externe toegang tot de VIRTUELE machine. Gebruik de waarden in deze sjabloon niet om uw VIRTUELE machine te laten kapen. Bots scannen internet op gebruikersnamen en wachtwoorden in openbare GitHub-opslagplaatsen. Ze testen waarschijnlijk VM's met deze standaardwaarden.Maak een unieke
dnsname
voor de virtuele machine.
Azuredeploy.json wijzigen
Open het azuredeploy.json-bestand .
Voeg een opslagaccount-id toe aan de
variables
sectie van de sjabloon na de vermelding voorstorageAccountName
.// Find these lines. "variables": { "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]", // Add this line directly below. "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
Voeg deze MSI-extensie (Managed Service Identity) toe aan de sjabloon bovenaan de
resources
sectie. De extensie zorgt ervoor dat Azure Monitor de metrische gegevens accepteert die worden verzonden.//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 } } },
Voeg de
identity
configuratie toe aan de VM-resource om ervoor te zorgen dat Azure een systeemidentiteit toewijst aan de MSI-extensie. Deze stap zorgt ervoor dat de virtuele machine metrische gastgegevens over zichzelf kan verzenden naar Azure Monitor.// 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": { ...
Voeg de volgende configuratie toe om de diagnostische extensie in te schakelen op een Windows-VM. Voor een eenvoudige resourcebeheer-VM kunt u de extensieconfiguratie toevoegen aan de resourcematrix voor de VIRTUELE machine. Met de regel
"sinks": "AzMonSink"
en de bijbehorende"SinksConfig"
latere sectie kunt u de extensie inschakelen om metrische gegevens rechtstreeks naar Azure Monitor te verzenden. U kunt desgewenst prestatiemeteritems toevoegen of verwijderen."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
Sla beide bestanden op en sluit deze.
De ARM-sjabloon implementeren
Notitie
U moet azure Diagnostics-extensie versie 1.5 of hoger uitvoeren en de autoUpgradeMinorVersion:
eigenschap hebben ingesteld true
in uw ARM-sjabloon. Azure laadt vervolgens de juiste extensie wanneer de VIRTUELE machine wordt gestart. Als u deze instellingen niet in uw sjabloon hebt, wijzigt u deze en implementeert u de sjabloon opnieuw.
Voor het implementeren van de ARM-sjabloon gebruiken we Azure PowerShell.
Start PowerShell.
Meld u aan bij Azure met behulp van
Login-AzAccount
.Haal uw lijst met abonnementen op met behulp van
Get-AzSubscription
.Stel het abonnement in dat u gebruikt om de virtuele machine te maken/bij te werken in:
Select-AzSubscription -SubscriptionName "<Name of the subscription>"
Voer de volgende opdracht uit om een nieuwe resourcegroep te maken voor de VM die wordt geïmplementeerd:
New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
Notitie
Vergeet niet om een Azure-regio te gebruiken die is ingeschakeld voor aangepaste metrische gegevens.
Voer de volgende opdrachten uit om de VIRTUELE machine te implementeren met behulp van de ARM-sjabloon.
Notitie
Als u een bestaande VM wilt bijwerken, voegt u incrementeel -Mode toe aan het einde van de volgende opdracht.
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>"
Nadat de implementatie is voltooid, moet de virtuele machine zich in Azure Portal bevindt en metrische gegevens verzenden naar Azure Monitor.
Notitie
Er kunnen fouten optreden rond de geselecteerde
vmSkuSize
. Als deze fout optreedt, gaat u terug naar uw azuredeploy.json bestand en werkt u de standaardwaarde van devmSkuSize
parameter bij. In dit geval raden we u aan om het te proberen"Standard_DS1_v2"
).
Uw metrische gegevens in kaart brengen
Meld u aan bij het Azure-portaal.
Selecteer Controleren in het linkermenu.
Selecteer metrische gegevens op de pagina Monitor.
Wijzig de aggregatieperiode in Afgelopen 30 minuten.
Selecteer in het vervolgkeuzemenu van de resource de VM die u hebt gemaakt. Als u de naam in de sjabloon niet hebt gewijzigd, moet dit SimpleWinVM2 zijn.
Selecteer in de vervolgkeuzelijst naamruimten azure.vm.windows.guestmetrics.
Selecteer in de vervolgkeuzelijst met metrische gegevens geheugen%vastgelegde bytes in gebruik.
Volgende stappen
Meer informatie over aangepaste metrische gegevens.