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:
Se recomienda usar el módulo Az de PowerShell de Azure para interactuar con Azure. Para empezar, consulte Install Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migrate Azure PowerShell de AzureRM a Az.
La extensión Azure Monitor Diagnostics (conocida como "WAD" o "Diagnostics") permite recopilar métricas y registros del sistema operativo invitado (SO invitado) que se ejecuta como parte de una máquina virtual, un servicio en la nube o un clúster de Service Fabric. La extensión puede enviar datos de telemetría a muchas ubicaciones diferentes.
Importante
La extensión de Azure Diagnostics se consideró obsoleta el 31 de marzo de 2026 y ya no se admite. No se recomiendan nuevas implementaciones de la extensión. Para garantizar el soporte y el acceso continuos a las nuevas características, migre a las soluciones alternativas recomendadas aquí.
En este artículo se describe el proceso para enviar métricas de rendimiento del sistema operativo invitado para una máquina virtual (clásica) de Windows a la base de datos de métricas de Azure Monitor. A partir de diagnostics versión 1.11, puede escribir métricas directamente en el almacén de métricas de Azure Monitor, donde ya se recopilan las métricas de plataforma estándar.
Almacenarlas en esta ubicación permite acceder a las mismas acciones disponibles para las métricas de la plataforma. Las acciones incluyen la generación de alertas casi en tiempo real, la creación de gráficos, el enrutamiento, el acceso desde una API REST y mucho más. Anteriormente, la extensión Diagnostics se escribía en Azure Storage, pero no en el almacén de datos de Azure Monitor.
El proceso que se describe en este artículo solo funciona en máquinas virtuales clásicas que ejecutan el sistema operativo Windows.
Prerrequisitos
Debe ser administrador o coadministrador de service en la suscripción de Azure.
La suscripción debe registrarse con Microsoft. Insights.
Debe tener Azure PowerShell o Azure Cloud Shell instalado.
Creación de una máquina virtual clásica y una cuenta de almacenamiento
Cree una máquina virtual clásica mediante el portal de Azure.
Al crear esta máquina virtual, elija la opción para crear una nueva cuenta de almacenamiento clásica. Usaremos esta cuenta de almacenamiento en pasos posteriores.
En el portal de Azure, vaya al panel de recursos Cuentas de almacenamiento. Seleccione Claves y anote el nombre y la clave de la cuenta de almacenamiento. Necesitará esta información en pasos posteriores.
Crear un principal de servicio
Cree un principal de servicio en el tenant de Microsoft Entra siguiendo las instrucciones de Crear un principal de servicio. Tenga en cuenta lo siguiente al realizar este proceso:
Asigne a esta aplicación permisos Monitoring Metrics Publisher al recurso con el que desea emitir métricas. Puede usar un grupo de recursos o una suscripción completa.
Nota:
La extensión Diagnostics usa la entidad de servicio para autenticarse en Azure Monitor y emitir métricas para la máquina virtual clásica.
Configuración de la extensión Author Diagnostics
Prepare el archivo de configuración de la extensión Diagnostics. Este archivo determina qué registros y contadores de rendimiento debe recopilar la extensión Diagnostics para la máquina virtual clásica. El siguiente es un ejemplo:
<?xml version="1.0" encoding="utf-8"?> <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <WadCfg> <DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="applicationInsights.errors"> <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter="Error" /> <Directories scheduledTransferPeriod="PT1M"> <IISLogs containerName="wad-iis-logfiles" /> <FailedRequestLogs containerName="wad-failedrequestlogs" /> </Directories> <PerformanceCounters scheduledTransferPeriod="PT1M"> <PerformanceCounterConfiguration counterSpecifier="\Processor(*)\% Processor Time" sampleRate="PT15S" /> <PerformanceCounterConfiguration counterSpecifier="\Memory\Available Bytes" sampleRate="PT15S" /> <PerformanceCounterConfiguration counterSpecifier="\Memory\Committed Bytes" sampleRate="PT15S" /> <PerformanceCounterConfiguration counterSpecifier="\Memory\% Committed Bytes" sampleRate="PT15S" /> <PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(*)\Disk Read Bytes/sec" sampleRate="PT15S" /> </PerformanceCounters> <WindowsEventLog scheduledTransferPeriod="PT1M"> <DataSource name="Application!*[System[(Level=1 or Level=2 or Level=3)]]" /> <DataSource name="Windows Azure!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]" /> </WindowsEventLog> <CrashDumps> <CrashDumpConfiguration processName="WaIISHost.exe" /> <CrashDumpConfiguration processName="WaWorkerHost.exe" /> <CrashDumpConfiguration processName="w3wp.exe" /> </CrashDumps> <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error" /> <Metrics resourceId="/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ClassicCompute/virtualMachines/MyClassicVM"> <MetricAggregation scheduledTransferPeriod="PT1M" /> <MetricAggregation scheduledTransferPeriod="PT1H" /> </Metrics> </DiagnosticMonitorConfiguration> <SinksConfig> </SinksConfig> </WadCfg> <StorageAccount /> </PublicConfig> <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <StorageAccount name="" endpoint="" /> </PrivateConfig> <IsEnabled>true</IsEnabled> </DiagnosticsConfiguration>En la sección
SinksConfigdel archivo de diagnóstico, defina un nuevo receptor de Azure Monitor, como se indica a continuación:<SinksConfig> <Sink name="AzMonSink"> <AzureMonitor> <ResourceId>Provide the resource ID of your classic VM </ResourceId> <Region>The region your VM is deployed in</Region> </AzureMonitor> </Sink> </SinksConfig>En la sección del archivo de configuración donde se enumera la lista de contadores de rendimiento que se van a recopilar, enrute los contadores de rendimiento al receptor de Azure Monitor
"AzMonSink".<PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzMonSink"> <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT15S" /> ... </PerformanceCounters>En la configuración privada, defina la cuenta de Azure Monitor. A continuación, agregue la información de la entidad de servicio que se usará para emitir métricas.
<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <StorageAccount name="" endpoint="" /> <AzureMonitorAccount> <ServicePrincipalMeta> <PrincipalId>clientId for your service principal</PrincipalId> <Secret>client secret of your service principal</Secret> </ServicePrincipalMeta> </AzureMonitorAccount> </PrivateConfig>Guarde este archivo localmente.
Implementación de la extensión Diagnostics en el servicio en la nube
Inicie PowerShell e inicie sesión.
Login-AzAccountEmpiece por establecer el contexto en la máquina virtual clásica.
$VM = Get-AzureVM -ServiceName <VM's Service_Name> -Name <VM Name>Establezca el contexto de la cuenta de almacenamiento clásica que se creó con la VM.
$StorageContext = New-AzStorageContext -StorageAccountName <name of your storage account from earlier steps> -storageaccountkey "<storage account key from earlier steps>"Establezca la ruta de acceso del archivo de Diagnostics en una variable mediante el comando siguiente:
$diagconfig = "<path of the diagnostics configuration file with the Azure Monitor sink configured>"Prepare la actualización de la máquina virtual clásica con el archivo de diagnóstico que tenga configurado el receptor de Azure Monitor.
$VM_Update = Set-AzureVMDiagnosticsExtension -DiagnosticsConfigurationPath $diagconfig -VM $VM -StorageContext $Storage_ContextImplemente la actualización en la máquina virtual; para ello, ejecute el comando siguiente:
Update-AzureVM -ServiceName "ClassicVMWAD7216" -Name "ClassicVMWAD" -VM $VM_Update.VM
Nota:
Todavía es obligatorio proporcionar una cuenta de almacenamiento como parte de la instalación de la extensión Diagnostics. Los registros o contadores de rendimiento especificados en el archivo de configuración de diagnóstico se escriben en la cuenta de almacenamiento especificada.
Traza las métricas en el portal de Azure
Vaya al portal de Azure.
En el menú de la izquierda, seleccione Monitor.
En el panel Supervisión de la izquierda, seleccione Métricas.
En la lista desplegable de recursos, seleccione la máquina virtual clásica.
En el menú desplegable de espacios de nombres, seleccione azure.vm.windows.guest.
En el menú desplegable de métricas, seleccione Memory\Committed Bytes in Use (Memoria\bytes confirmados en uso).
Pasos siguientes
- Más información acerca de las métricas personalizadas.