Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
El agente de Azure Monitor (AMA) recopila datos de supervisión del sistema operativo invitado de máquinas virtuales de Azure e híbridas y los entrega a Azure Monitor para su uso en funcionalidades, análisis y otros servicios, como Microsoft Sentinel y Microsoft Defender for Cloud.
Se recomienda usar el agente de Azure Monitor para recopilar registros y métricas de Virtual Machines. Para más información, consulte Introducción al agente de Azure Monitor.
Los datos de rendimiento del sistema operativo invitado de las máquinas virtuales (VM) de Azure no se recopilan automáticamente como otras métricas de la plataforma. Instale la extensión Diagnósticos de Azure Monitor para recopilar métricas del sistema operativo invitado en la base de datos de métricas para que se pueda usar con todas las características de las métricas de Azure Monitor. Estas características incluyen la generación de alertas casi en tiempo real, la creación de gráficos, el enrutamiento y el acceso desde una API de REST. En este artículo se describe el proceso de envío de métricas de rendimiento del SO invitado para una máquina virtual Windows a la base de datos de métricas mediante una plantilla de Azure Resource Manager.
Nota:
Para más información sobre cómo configurar la extensión de diagnóstico para recopilar métricas del sistema operativo invitado mediante Azure Portal, consulte Instalación y configuración de la extensión de Diagnósticos de Windows Azure (WAD).
Si no está familiarizado con las plantillas de ARM, obtenga información sobre las implementaciones de plantillas y su estructura y sintaxis.
Prerrequisitos
- La suscripción debe registrarse con Microsoft.Insights.
- Debe tener instalado Azure PowerShell o Azure Cloud Shell .
Configuración de Azure Monitor como receptor de datos
La extensión Azure Diagnostics usa una característica denominada receptores de datos para enrutar métricas y registros a diferentes ubicaciones. En los pasos siguientes se muestra cómo usar una plantilla de ARM y PowerShell para implementar una VM con el nuevo receptor de datos Azure Monitor.
Plantilla ARM
En este ejemplo, puede usar una plantilla de ejemplo disponible públicamente. Las plantillas de inicio están en GitHub.
- Azuredeploy.json: plantilla de ARM preconfigurada para la implementación de una máquina virtual.
- Azuredeploy.parameters.json: un archivo de parámetros que almacena información como el nombre de usuario y la contraseña que desea establecer para la máquina virtual. Durante la implementación, la plantilla ARM usa los parámetros establecidos en este archivo.
Descargue y guarde ambos archivos localmente.
Modificación de azuredeploy.parameters.json
Abra el archivo azuredeploy.parameters.json .
Especifique los valores de
adminUsername
yadminPassword
para la VM. Estos parámetros se utilizan para el acceso remoto a la VM. Para evitar que la máquina virtual se secuestre, no use los valores de esta plantilla. Los bots buscan por Internet los nombres de usuario y las contraseñas en repositorios públicos de GitHub. Es probable que estén probando máquinas virtuales con estos valores predeterminados.Cree un
dnsname
único para la VM.
Modificación de azuredeploy.json
Abra el archivo azuredeploy.json .
Agregue un identificador de cuenta de almacenamiento a la sección
variables
de la plantilla después de la entrada parastorageAccountName
.// Find these lines. "variables": { "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]", // Add this line directly below. "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
Agregue esta extensión de Managed Service Identity (MSI) a la plantilla en la parte superior de la sección
resources
. La extensión garantiza que Azure Monitor acepte las métricas que se emiten.//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 } } },
Agregue la configuración de
identity
en el recurso de VM para asegurarse de que Azure asigne a la extensión MSI una identidad del sistema. Este paso garantiza que la VM pueda emitir métricas de invitado sobre sí misma a 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": { ...
Agregue la siguiente configuración para habilitar la extensión de diagnóstico en una máquina virtual Windows. En una máquina virtual sencilla basada en el Administrador de recursos, puede agregar la configuración de extensión a la matriz de recursos de la máquina virtual. La línea
"sinks": "AzMonSink"
y la correspondiente"SinksConfig"
más adelante en la sección permiten que la extensión emita métricas directamente a Azure Monitor. No dude en agregar o quitar contadores de rendimiento según sea necesario."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
Guarde y cierre ambos archivos.
Implementación de la plantilla de ARM
Nota:
Debe estar ejecutando la versión de la extensión 1.5 o superior de Azure Diagnostics y tener la propiedad autoUpgradeMinorVersion:
establecida en true
en la plantilla de ARM. A continuación, Azure carga la extensión adecuada cuando se inicia la VM. Si no tiene estas opciones en la plantilla, modifíquelas y vuelva a implementar la plantilla.
Para implementar la plantilla de ARM, usamos Azure PowerShell.
Inicie PowerShell.
Inicio de sesión en Azure mediante
Login-AzAccount
.Obtenga una lista de suscripciones con
Get-AzSubscription
.Establezca la suscripción que se usa para crear o actualizar la máquina virtual en:
Select-AzSubscription -SubscriptionName "<Name of the subscription>"
Para crear un nuevo grupo de recursos para la VM que se está implementando, ejecute el comando siguiente:
New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
Nota:
Recuerde usar una región de Azure habilitada para métricas personalizadas.
Ejecute los comandos siguientes para implementar la máquina virtual mediante la plantilla de ARM.
Nota:
Si desea actualizar una máquina virtual existente, agregue -Mode Incremental al final del comando siguiente.
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>"
Una vez que la implementación se realice correctamente, la máquina virtual debe estar en Azure Portal, emitiendo métricas a Azure Monitor.
Nota:
Puede que surjan errores en torno al parámetro
vmSkuSize
seleccionado. Si se produce este error, vuelva al archivo azuredeploy.json y actualice el valor predeterminado delvmSkuSize
parámetro . En este caso, se recomienda probar"Standard_DS1_v2"
.
Gráfico de las métricas
Inicie sesión en Azure Portal.
En el menú de la izquierda, seleccione Supervisar.
En la página Supervisión , seleccione Métricas.
Cambie el período de agregación a Últimos 30 minutos.
En el menú desplegable de recursos, seleccione la VM que ha creado. Si no cambió el nombre de la plantilla, debe ser SimpleWinVM2.
En la lista desplegable espacios de nombres, seleccione azure.vm.windows.guestmetrics.
En la lista desplegable de métricas, seleccione Memory%Committed Bytes in Use (Memoria\bytes confirmados en uso).
Pasos siguientes
Obtenga más información sobre las métricas personalizadas.