Envío de datos de Windows Azure Diagnostics Extension a Azure Event HubsSend data from Windows Azure diagnostics extension to Azure Event Hubs

Azure Diagnostics Extension 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.Azure diagnostics extension is an agent in Azure Monitor that collects monitoring data from the guest operating system and workloads of Azure virtual machines and other compute resources. En este artículo, se explica cómo puede enviar datos desde Windows Azure Diagnostic Extension (WAD) a Azure Event Hubs para reenviarlos después fuera de Azure.This article describes how to send data from the Windows Azure Diagnostic extension (WAD) to Azure Event Hubs so you can forward to locations outside of Azure.

Datos admitidosSupported data

Los datos recopilados del sistema operativo invitado que pueden enviarse a Event Hubs son los siguientes.The data collected from the guest operating system that can be sent to Event Hubs includes the following. Otros orígenes de datos recopilados por WAD, como los volcados de memoria y los registros de IIS, no se pueden enviar a Event Hubs.Other data sources collected by WAD, including IIS Logs and crash dumps, cannot be sent to Event Hubs.

  • Eventos de Seguimiento de eventos para Windows (ETW)Event Tracing for Windows (ETW) events
  • Contadores de rendimientoPerformance counters
  • Registros de eventos de Windows, incluidos los registros de aplicaciones en el registro de eventos de WindowsWindows event logs, including application logs in the Windows event log
  • Registros de infraestructura de diagnóstico de AzureAzure Diagnostics infrastructure logs

Requisitos previosPrerequisites

Esquema de configuraciónConfiguration schema

Consulte las diferentes opciones para habilitar y configurar Diagnostics Extension en Instalación y configuración de Windows Azure Diagnostics Extension (WAD) y una referencia del esquema de configuración en Esquema de configuración de Azure Diagnostics.See Install and configure Windows Azure diagnostics extension (WAD) for different options for enabling and configuring the diagnostics extension and Azure Diagnostics configuration schema for a reference of the configuration schema. De aquí hasta el final del artículo, se describe cómo se utiliza esta configuración para enviar datos a un centro de eventos.The rest of this article will describe how to use this configuration to send data to an event hub.

Azure Diagnostics siempre envía registros y métricas a una cuenta de Azure Storage.Azure Diagnostics always sends logs and metrics to an Azure Storage account. Puede configurar uno o varios receptores de datos para enviar datos a otros destinos.You can configure one or more data sinks that send data to additional locations. Cada receptor de datos se define en el elemento SinksConfig de la configuración pública con información confidencial en la configuración privada.Each sink is defined in the SinksConfig element of the public configuration with sensitive information in the private configuration. Esta configuración de los centros de eventos utiliza los valores de la tabla siguiente.This configuration for event hubs uses the values in the following table.

PropiedadProperty DescripciónDescription
NombreName Nombre descriptivo del receptor.Descriptive name for the sink. Se utiliza en la configuración para especificar qué orígenes de datos van a enviar información al receptor.Used in the configuration to specify which data sources to send to the sink.
UrlUrl Dirección URL del centro de eventos con el formato <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>.Url of the event hub in the form <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>.
SharedAccessKeyNameSharedAccessKeyName Nombre de la directiva de acceso compartido del centro de eventos que tiene, como mínimo, el permiso Enviar.Name of a shared access policy for the event hub that has at least Send authority.
SharedAccessKeySharedAccessKey Clave principal o secundaria de la directiva de acceso compartido del centro de eventos.Primary or secondary key from the shared access policy for the event hub.

A continuación, se incluyen ejemplos de la configuración pública y privada.Example public and private configurations are shown below. Se trata de una configuración mínima con un solo contador de rendimiento y un solo registro de eventos que ilustra cómo se configura y utiliza el receptor de datos del centro de eventos.This is a minimal configuration with a single performance counter and event log to illustrate how to configure and use the event hub data sink. Puede ver un ejemplo más complejo en Esquema de configuración de Azure Diagnostics.See Azure Diagnostics configuration schema for a more complex example.

Configuración públicaPublic configuration

{
    "WadCfg": {
        "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": 5120,
            "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT3M"
                    }
                ]
            },
            "WindowsEventLog": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "myEventHub",
                    "DataSource": [
                    {
                        "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                    }
                ]
            }
        },
        "SinksConfig": {
            "Sink": [
                {
                    "name": "myEventHub",
                    "EventHub": {
                        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
                        "SharedAccessKeyName": "SendRule"
                    }
                }
            ]
        }
    },
    "StorageAccount": "mystorageaccount",
}

Configuración privadaPrivate configuration

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "{base64 encoded key}",
    "storageAccountEndPoint": "https://core.windows.net",
    "EventHub": {
        "Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
        "SharedAccessKeyName": "SendRule",
        "SharedAccessKey": "{base64 encoded key}"
    }
}

Opciones de configuraciónConfiguration options

Para enviar datos a un receptor de datos, debe especificar el atributo sinks en el nodo del origen de datos.To send data to a data sink, you specify the sinks attribute on the data source's node. El lugar en el que incluya el atributo sinks determinará el ámbito de la asignación.Where you place the sinks attribute determines the scope of the assignment. En el ejemplo siguiente, el atributo sinks está definido en el nodo PerformanceCounters, lo que hará que todos los contadores de rendimiento secundarios se envíen al centro de eventos.In the following example, the sinks attribute is defined to the PerformanceCounters node which will cause all child performance counters to be sent to the event hub.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "sinks": "MyEventHub",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        }
    ]
}

En el ejemplo siguiente, el atributo sinks se aplica directamente a tres contadores, por lo que solo se enviarán estos contadores de rendimiento al centro de eventos.In the following example, the sinks attribute is applied directly to three counters which will cause only those performance counters to be sent to the event hub.

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\Memory\\Available MBytes",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
            "sampleRate": "PT3M"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Rejected",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        },
        {
            "counterSpecifier": "\\ASP.NET\\Requests Queued",
            "sampleRate": "PT3M",
            "sinks": "MyEventHub"
        }
    ]
}

Validación de la configuraciónValidating configuration

Puede utilizar diferentes métodos para comprobar que los datos se están enviando al centro de eventos.You can use a variety of methods to validate that data is being sent to the event hub. El método más sencillo es utilizar una captura de Event Hubs, tal y como se describe en Captura de eventos a través de Azure Event Hubs en Azure Blob Storage o Azure Data Lake Storage.ne straightforward method is to use Event Hubs capture as described in Capture events through Azure Event Hubs in Azure Blob Storage or Azure Data Lake Storage.

Solución de problemas con los receptores de Event HubsTroubleshoot Event Hubs sinks

  • Consulte la tabla WADDiagnosticInfrastructureLogsTable de Azure Storage, que contiene registros y errores de Azure Diagnostics.Look at the Azure Storage table WADDiagnosticInfrastructureLogsTable which contains logs and errors for Azure Diagnostics itself. Una opción es usar una herramienta como el Explorador de Azure Storage para conectarse a esta cuenta de almacenamiento, ver esta tabla y agregar una consulta para TimeStamp en las últimas 24 horas.One option is to use a tool such as Azure Storage Explorer to connect to this storage account, view this table, and add a query for TimeStamp in the last 24 hours. Puede usar la herramienta para exportar un archivo .csv y abrirlo en una aplicación como Microsoft Excel.You can use the tool to export a .csv file and open it in an application such as Microsoft Excel. Excel facilita la búsqueda de cadenas de tarjeta de llamadas, como EventHubs, para ver qué error se notifica.Excel makes it easy to search for calling-card strings, such as EventHubs, to see what error is reported.

  • Compruebe que el centro de eventos esté correctamente aprovisionado.Check that your event hub is successfully provisioned. Toda la información de conexión de la sección PrivateConfig de la configuración debe coincidir con los valores del recurso que se muestran en el portal.All connection info in the PrivateConfig section of the configuration must match the values of your resource as seen in the portal. No olvide que debe tener una directiva SAS definida (en este ejemplo es SendRule) en el portal y que debe haberse concedido el permiso Enviar.Make sure that you have a SAS policy defined (SendRule in the example) in the portal and that Send permission is granted.

Pasos siguientesNext steps