Instalación y configuración de Azure Diagnostics Extension de Windows (WAD)

La extensión de Azure Diagnostics es un agente de Azure Monitor que recopila datos de supervisión del sistema operativo invitado y de las cargas de trabajo de las máquinas virtuales de Azure y de otros recursos de proceso. En este artículo se proporciona información sobre cómo instalar y configurar la extensión Azure Diagnostics para Windows y se describe cómo se almacenan los datos en una cuenta de Azure Storage.

La extensión de diagnóstico se implementa como una extensión de máquina virtual en Azure. Admite las mismas opciones de instalación mediante plantillas de Azure Resource Manager, PowerShell y la CLI de Azure. Para obtener información sobre cómo instalar y mantener extensiones de máquina virtual, consulte Características y extensiones de máquina virtual para Windows.

Introducción

Al configurar la extensión de Azure Diagnostics, debe especificar una cuenta de almacenamiento a la que se enviarán todos los datos especificados. Opcionalmente, puede agregar uno o más receptores de datos con el fin de enviar los datos a ubicaciones diferentes.

  • Receptor de Azure Monitor: envíe datos de rendimiento de invitados a métricas de Azure Monitor.
  • Receptor de Azure Event Hubs: envíe datos de registro y de rendimiento de invitados a centros de eventos de Azure para reenviarlos fuera de Azure. No se puede configurar este receptor en Azure Portal.

Instalación con Azure Portal

Puede instalar y configurar la extensión de diagnósticos en una máquina virtual de Azure Portal. Trabajará con una interfaz en lugar de trabajar directamente con la configuración. Al habilitar la extensión de diagnósticos, se usará automáticamente una configuración predeterminada con los eventos y contadores de rendimiento más comunes. Esta configuración predeterminada se puede modificar de acuerdo con sus requisitos específicos.

Nota

En los pasos siguientes se describe la configuración más común de la extensión de diagnósticos. Para más información sobre la configuración, consulte Esquema de la extensión de Windows Diagnostic.

  1. Abra el menú de una máquina virtual en Azure Portal.

  2. Seleccinoe Configuración de diagnóstico en la sección Supervisión del menú de la máquina virtual.

  3. Seleccione Habilitar supervisión a nivel de invitado si aún no se ha habilitado la extensión de diagnósticos.

    Screenshot that shows enabling monitoring.

  4. Se creará una nueva cuenta de Azure Storage para la máquina virtual. El nombre se basará en el nombre del grupo de recursos de la máquina virtual. Se seleccionará un conjunto predeterminado de contadores de rendimiento de invitado y registros.

    Screenshot that shows Diagnostic settings.

  5. En la pestaña Contadores de rendimiento, seleccione las métricas de invitado que quiere recopilar de esta máquina virtual. Use la opción Personalizado para realizar una selección más avanzada.

    Screenshot that shows Performance counters.

  6. En la pestaña Registros, seleccione los registros que se van a recopilar de la máquina virtual. Los registros se pueden enviar a centro de eventos o almacenamiento, pero no a Azure Monitor. Use el agente de Log Analytics para recopilar los registros de invitados a Azure Monitor.

    Screenshot that shows the Logs tab with different logs selected for a virtual machine.

  7. En la pestaña Volcados de memoria, especifique cualquier proceso para recopilar volcados de memoria después de un bloqueo. Los datos se escribirán en la cuenta de almacenamiento para la configuración de diagnóstico. Opcionalmente, puede especificar un contenedor de blobs.

    Screenshot that shows the Crash dumps tab.

  8. En la pestaña Receptores, especifique si desea enviar los datos a ubicaciones distintas de Azure Storage. Si selecciona Azure Monitor, se enviarán los datos de rendimiento de los invitados a las métricas de Azure Monitor. No se puede configurar el receptor de centros de eventos mediante Azure Portal.

    Screenshot that shows the Sinks tab with the Send diagnostic data to Azure Monitor option enabled.

    Si no ha habilitado una identidad asignada por el sistema configurada para la máquina virtual, es posible que vea la siguiente advertencia al guardar una configuración con el receptor de Azure Monitor. Seleccione el banner para habilitar la identidad asignada por el sistema.

    Screenshot that shows the managed identity warning.

  9. En la pestaña Agente, puede cambiar la cuenta de almacenamiento, establecer la cuota de disco y especificar si desea recopilar registros de infraestructura de diagnóstico.

    Screenshot that shows the Agent tab with the option to set the storage account.

  10. Para guardar la configuración, seleccione Guardar.

Nota:

Se puede dar formato a la configuración de la extensión de diagnósticos en JSON o XML, pero cualquier configuración realizada en Azure Portal se almacenará siempre como JSON. Si usa XML con otro método de configuración y, luego, cambia la configuración con Azure Portal, esta cambiará a JSON. Además, no hay ninguna opción para configurar el período de retención para estos registros.

Plantilla de Resource Manager

Consulte Uso de la supervisión y el diagnóstico con una máquina virtual Windows y plantillas de Azure Resource Manager para más información sobre la implementación de la extensión de diagnósticos con plantillas de Azure Resource Manager.

Implementación de la CLI de Azure

La CLI de Azure se puede usar para implementar la extensión de Azure Diagnostics en una máquina virtual existente mediante az vm extension set, como en el ejemplo siguiente.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name IaaSDiagnostics \
  --publisher Microsoft.Azure.Diagnostics \
  --protected-settings protected-settings.json \
  --settings public-settings.json 

La configuración protegida se define en el elemento PrivateConfig del esquema de configuración. El siguiente ejemplo mínimo de un archivo de configuración protegida define la cuenta de almacenamiento. Consulte Configuración de ejemplo para ver detalles completos de la configuración privada.

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageAccountEndPoint": "https://core.windows.net"
}

La configuración pública se define en el elemento Public del esquema de configuración. El siguiente ejemplo mínimo de un archivo de configuración pública permite la recopilación de registros de infraestructura de diagnóstico, un único contador de rendimiento y un único registro de eventos. Consulte Configuración de ejemplo para información detallada sobre la configuración pública.

{
  "StorageAccount": "mystorageaccount",
  "WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": 5120,
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": [
          {
            "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
            "unit": "Percent",
            "sampleRate": "PT60S"
          }
        ]
      },
      "WindowsEventLog": {
        "scheduledTransferPeriod": "PT1M",
        "DataSource": [
          {
            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
          }
        ]
      }
    }
  }
}

Implementación de PowerShell

PowerShell se puede usar para implementar la extensión de Azure Diagnostics en una máquina virtual existente mediante Set-AzVMDiagnosticsExtension, como en el ejemplo siguiente.

Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" `
  -VMName "myvm" `
  -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json"

La configuración privada se define en el elemento PrivateConfig. La configuración pública se define en el elemento Public del esquema de configuración. También puede optar por especificar los detalles de la cuenta de almacenamiento como parámetros del cmdlet Set-AzVMDiagnosticsExtension en lugar de incluirlos en la configuración privada.

El siguiente ejemplo mínimo de un archivo de configuración permite la recopilación de registros de infraestructura de diagnóstico, un único contador de rendimiento y un único registro de eventos. Consulte Configuración de ejemplo para información detallada sobre la configuración pública y privada.

{
    "PublicConfig": {
        "WadCfg": {
            "DiagnosticMonitorConfiguration": {
                "overallQuotaInMB": 10000,
                "DiagnosticInfrastructureLogs": {
                    "scheduledTransferLogLevelFilter": "Error"
                },
                "PerformanceCounters": {
                    "scheduledTransferPeriod": "PT1M",
                    "PerformanceCounterConfiguration": [
                        {
                            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                            "sampleRate": "PT3M",
                            "unit": "percent"
                        }
                    ]
                },
                "WindowsEventLog": {
                    "scheduledTransferPeriod": "PT1M",
                        "DataSource": [
                        {
                            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                        }
                    ]
                }
            }
        },
        "StorageAccount": "mystorageaccount",
        "StorageType": "TableAndBlob"
    },
    "PrivateConfig": {
        "storageAccountName": "mystorageaccount",
        "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "storageAccountEndPoint": "https://core.windows.net"
    }
}

Consulte también Uso de PowerShell para habilitar Diagnósticos de Azure en una máquina virtual con Windows.

Almacenamiento de datos

En la tabla siguiente se enumeran los distintos tipos de datos recopilados por la extensión de diagnósticos y se indica si se almacenan como una tabla o un blob. Los datos almacenados en tablas también se pueden almacenar en blobs en función del valor de StorageType de la configuración pública.

data Tipo de almacenamiento Descripción
WADDiagnosticInfrastructureLogsTable Tabla Monitor de diagnóstico y cambios de configuración.
WADDirectoriesTable Tabla Directorios que supervisa el monitor de diagnóstico. Este grupo incluye los registros de IIS, los registros de solicitudes con error de IIS y los directorios personalizados. La ubicación del archivo de registro de blob se especifica en el campo de contenedor y el nombre del blob está en el campo RelativePath. El campo AbsolutePath indica la ubicación y el nombre del archivo tal como existía en la máquina virtual de Azure.
WadLogsTable Tabla Registros escritos en código mediante la escucha de seguimiento.
WADPerformanceCountersTable Tabla Contadores de rendimiento.
WADWindowsEventLogsTable Tabla Registros de eventos de Windows.
wad-iis-failedreqlogfiles Blob Contiene información de los registros de solicitudes con error de IIS.
wad-iis-logfiles Blob Contiene información sobre los registros de IIS.
"custom" Blob Un contenedor personalizado basado en la configuración de directorios supervisados por el monitor de diagnóstico. El nombre de este contenedor de blob se especificará en WADDirectoriesTable.

Herramientas para ver los datos de diagnóstico

Existen varias herramientas para ver los datos una vez que se transfieren al almacenamiento. Por ejemplo:

  • El Explorador de servidores en Visual Studio: si instaló Azure Tools para Microsoft Visual Studio, puede usar el nodo de Azure Storage en el Explorador de servidores para ver los datos de tabla y blob de solo lectura de las cuentas de Azure Storage. Puede mostrar datos de la cuenta del emulador de almacenamiento local y desde cuentas de almacenamiento que haya creado para Azure. Para más información, consulte Exploración y administración de recursos de almacenamiento con el Explorador de servidores.
  • Explorador de Microsoft Azure Storage: esta aplicación independiente que permite trabajar fácilmente con los datos de Azure Storage en Windows, OSX y Linux.
  • Azure Management Studio: esta herramienta incluye Azure Diagnostics Manager. Utilícelo para ver, descargar y administrar los datos de diagnóstico recopilados por las aplicaciones que se ejecutan en Azure.

Pasos siguientes

Para más información sobre el reenvío de datos de supervisión a Azure Event Hubs, consulte Envío de datos de la extensión Azure Diagnostics a Event Hubs.