Compartir a través de


Enviar datos a Event Hubs y Storage (versión preliminar)

En este artículo se describe cómo usar el agente de Azure Monitor (AMA) para cargar datos en Event Hubs y Azure Storage. Esta característica se encuentra en su versión preliminar.

El agente de Azure Monitor es el nuevo agente de telemetría consolidado para recopilar datos de recursos de IaaS, como máquinas virtuales. Con la funcionalidad de carga de esta versión preliminar, puede cargar los registros1 que envíe a las áreas de trabajo de Log Analytics a Event Hubs y Storage. Ambos destinos de datos usan reglas de recopilación de datos para configurar la recopilación para los agentes.

Nota:

La extensión de Azure Diagnostics quedará en desuso el 31 de marzo de 2026. Después de esta fecha, Microsoft ya no proporcionará compatibilidad con la extensión Azure Diagnostics.

Notas al pie

1: No se admiten todos los tipos de datos; consulte ¿Qué se admite? para más información.

Migración desde extensiones de diagnóstico de Azure para Linux y Windows (LAD/WAD)

  • El agente de Azure Monitor puede recopilar y enviar datos a varios destinos, incluidas las áreas de trabajo de Log Analytics, Azure Event Hubs y Azure Storage.
  • Para comprobar qué extensiones están instaladas en la máquina virtual, seleccione Extensiones y aplicaciones en Configuración en la máquina virtual.
  • Quite LAD o WAD después de configurar el agente de Azure Monitor para recopilar los mismos datos en Event Hubs o Azure Storage para evitar datos duplicados.
  • Como alternativa al almacenamiento, se recomienda encarecidamente configurar una tabla con el Plan auxiliar en el área de trabajo de Log Analytics para el registro rentable.

Lo que se admite

Tipos de datos

  • Windows:

    • Registros de eventos de Windows: al centro de eventos y almacenamiento
    • Contadores de rendimiento: centro de eventos y almacenamiento
    • Registros de IIS: al blob de almacenamiento
    • Registros personalizados: al blob de almacenamiento
  • Linux:

    • Syslog: al centro de eventos y almacenamiento
    • Contadores de rendimiento: al centro de eventos y almacenamiento
    • Registros personalizados/archivos de registro: al almacenamiento

Sistemas operativos

  • Entornos que admite el agente de Azure Monitor en Windows y Linux
  • Esta característica solo se admite y está planeado que se admita en máquinas virtuales de Azure. No hay planes para llevar esto a escenarios locales o de Azure Arc.

Lo que no se admite

Tipos de datos

  • Windows:
    • Registros ETW (se publicarán próximamente)
    • Volcados de memoria de Windows (no planeados ni se van a admitir)
    • Registros de aplicaciones (no planeados ni se van a admitir)
    • Registros de origen de eventos de .NET (no planeados ni se van a admitir)

Requisitos previos

Necesitará un recurso de proceso existente (máquina virtual, conjunto de escalado de máquinas virtuales o servidor habilitado para Arc). La máquina en la que se implementa el agente de Azure Monitor debe tener habilitada la identidad administrada asignada por el sistema o una identidad administrada asignada por el usuario asociada a ella. Se recomienda encarecidamente usar identidad administrada asignada por el usuario para mejorar la escalabilidad y el rendimiento. El agente de Azure Monitor debe configurarse para usar esta identidad administrada para la autenticación, tal como se describe en los requisitos previos.

Debe aprovisionar las cuentas de almacenamiento necesarias o Event Hubs a las que desea publicar datos a través del agente de Azure Monitor. Además, los roles RBAC integrados adecuados deben asignarse a la identidad administrada elegida según los destinos de datos deseados:

  • Tabla de almacenamiento: rol Storage Table Data Contributor
  • Blob de almacenamiento: rol Storage Blob Data Contributor
  • Centro de eventos: rol Azure Event Hubs Data Sender

Creación de una regla de recopilación de datos

Cree una regla de recopilación de datos para recopilar eventos y enviarlos al almacenamiento y al centro de eventos.

  1. En el cuadro de búsqueda de Azure Portal, escriba plantilla y, a continuación, seleccione Implementar una plantilla personalizada.

    Captura de pantalla que muestra Azure Portal con la plantilla especificada en el cuadro de búsqueda y la opción Implementar una plantilla personalizada resaltada en los resultados de la búsqueda.

  2. Seleccione Cree su propia plantilla en el editor.

    Captura de pantalla que muestra la pantalla del portal para compilar la plantilla en el editor.

  3. Pegue esta plantilla de Resource Manager en el editor:

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "Location for all resources."
        }
        },
        "dataCollectionRulesName": {
        "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
        "type": "String"
        },
        "storageAccountName": {
        "defaultValue": "[concat(resourceGroup().name, 'sa')]",
        "type": "String"
        },
        "eventHubNamespaceName": {
        "defaultValue": "[concat(resourceGroup().name, 'eh')]",
        "type": "String"
        },
        "eventHubInstanceName": {
        "defaultValue": "[concat(resourceGroup().name, 'ehins')]",
        "type": "String"
        }
    },
    "resources": [
        {
        "type": "Microsoft.Insights/dataCollectionRules",
        "apiVersion": "2022-06-01",
        "name": "[parameters('dataCollectionRulesName')]",
        "location": "[parameters('location')]",
        "kind": "AgentDirectToStore",
        "properties": {
            "dataSources": {
            "performanceCounters": [
                {
                "streams": [
                    "Microsoft-Perf"
                ],
                "samplingFrequencyInSeconds": 10,
                "counterSpecifiers": [
                    "\\Process(_Total)\\Working Set - Private",
                    "\\Memory\\% Committed Bytes In Use",
                    "\\LogicalDisk(_Total)\\% Free Space",
                    "\\Network Interface(*)\\Bytes Total/sec"
                ],
                "name": "perfCounterDataSource10"
                }
            ],
            "windowsEventLogs": [
                {
                "streams": [
                    "Microsoft-Event"
                ],
                "xPathQueries": [
                    "Application!*[System[(Level=2)]]",
                    "System!*[System[(Level=2)]]"
                ],
                "name": "eventLogsDataSource"
                }
            ],
            "iisLogs": [
                {
                "streams": [
                    "Microsoft-W3CIISLog"
                ],
                "logDirectories": [
                    "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\"
                ],
                "name": "myIisLogsDataSource"
                }
            ],
            "logFiles": [
                {
                "streams": [
                    "Custom-Text-logs"
                ],
                "filePatterns": [
                    "C:\\JavaLogs\\*.log"
                ],
                "format": "text",
                "settings": {
                    "text": {
                    "recordStartTimestampFormat": "ISO 8601"
                    }
                },
                "name": "myTextLogs"
                }
            ]
            },
            "destinations": {
            "eventHubsDirect": [
                {
                "eventHubResourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespaceName'), parameters('eventHubInstanceName'))]",
                "name": "myEh1"
                }
            ],
            "storageBlobsDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedPerf",
                "containerName": "PerfBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedWin",
                "containerName": "WinEventBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedIIS",
                "containerName": "IISBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedTextLogs",
                "containerName": "TxtLogBlob"
                }
            ],
            "storageTablesDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedPerf",
                "tableName": "PerfTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedWin",
                "tableName": "WinTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableUnnamed"
                }
            ]
            },
            "dataFlows": [
            {
                "streams": [
                "Microsoft-Perf"
                ],
                "destinations": [
                "myEh1",
                "blobNamedPerf",
                "tableNamedPerf",
                "tableUnnamed"
                ]
            },
            {
                "streams": [
                "Microsoft-Event"
                ],
                "destinations": [
                "myEh1",
                "blobNamedWin",
                "tableNamedWin",
                "tableUnnamed"
                ]
            },
            {
                "streams": [
                "Microsoft-W3CIISLog"
                ],
                "destinations": [
                "blobNamedIIS"
                ]
            },
            {
                "streams": [
                "Custom-Text-logs"
                ],
                "destinations": [
                "blobNamedTextLogs"
                ]
            }
            ]
        }
        }
    ]
    }
    
  4. Actualice los valores siguientes en la plantilla de Resource Manager: Consulte la plantilla de Azure Resource Manager para obtener un ejemplo.

    Centro de eventos

    Valor Descripción
    dataSources Definala según sus requisitos. Los tipos admitidos para la carga directa en Event Hubs para Windows son performanceCounters y windowsEventLogs, y para Linux, son performanceCounters y syslog.
    destinations Use eventHubsDirect para la carga directa en el centro de eventos.
    eventHubResourceId Identificador de recurso de la instancia del centro de eventos.

    NOTA: No es el identificador de recurso del espacio de nombres del centro de eventos.
    dataFlows En dataFlows, incluya el nombre de destino.

    Tabla de almacenamiento

    Valor Descripción
    dataSources Definala según sus requisitos. Los tipos admitidos para la carga directa en la tabla de almacenamiento para Windows son performanceCounters y windowsEventLogs, y para Linux, son performanceCounters y syslog.
    destinations Se usa storageTablesDirect para la carga directa en Table Storage.
    storageAccountResourceId Identificador de recurso de la cuenta de almacenamiento.
    tableName Nombre de la tabla en la que se carga el blob JSON con datos de eventos.
    dataFlows En dataFlows, incluya el nombre de destino.

    Blob de almacenamiento

    Valor Descripción
    dataSources Definala según sus requisitos. Los tipos admitidos para la carga directa en el blob de almacenamiento para Windows son performanceCounters, windowsEventLogs, iisLogs y logFiles, y para Linux, son performanceCounters, syslog y logFiles.
    destinations Use storageBlobsDirect para la carga directa en el almacenamiento de blobs.
    storageAccountResourceId Identificador de recurso de la cuenta de almacenamiento.
    containerName Nombre del contenedor en el que se carga el blob JSON con datos de eventos.
    dataFlows En dataFlows, incluya el nombre de destino.
  5. Seleccione Guardar.

Creación de una asociación de DCR e implementación del agente de Azure Monitor

Use la implementación de la plantilla personalizada para crear la asociación de DCR y la implementación de AMA.

  1. En el cuadro de búsqueda de Azure Portal, escriba plantilla y, a continuación, seleccione Implementar una plantilla personalizada.

    Captura de pantalla que muestra Azure Portal con la plantilla especificada en el cuadro de búsqueda y la opción Implementar una plantilla personalizada resaltada en los resultados de la búsqueda.

  2. Seleccione Cree su propia plantilla en el editor.

    Captura de pantalla que muestra la pantalla del portal para compilar la plantilla en el editor.

  3. Pegue esta plantilla de Resource Manager en el editor.

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vmName": {
        "defaultValue": "[concat(resourceGroup().name, 'vm')]",
        "type": "String"
        },
        "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "Location for all resources."
        }
        },
        "dataCollectionRulesName": {
        "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
        "type": "String",
        "metadata": {
            "description": "Data Collection Rule Name"
        }
        },
        "dcraName": {
        "type": "string",
        "defaultValue": "[concat(uniquestring(resourceGroup().id), 'DCRLink')]",
        "metadata": {
            "description": "Name of the association."
        }
        },
        "identityName": {
        "type": "string",
        "defaultValue": "[concat(resourceGroup().name, 'UAI')]",
        "metadata": {
            "description": "Managed Identity"
        }
        }
    },
    "resources": [
        {
        "type": "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations",
        "name": "[concat(parameters('vmName'),'/microsoft.insights/', parameters('dcraName'))]",
        "apiVersion": "2021-04-01",
        "properties": {
            "description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
            "dataCollectionRuleId": "[resourceID('Microsoft.Insights/dataCollectionRules',parameters('dataCollectionRulesName'))]"
        }
        },
        {
        "type": "Microsoft.Compute/virtualMachines/extensions",
        "name": "[concat(parameters('vmName'), '/AMAExtension')]",
        "apiVersion": "2020-06-01",
        "location": "[parameters('location')]",
        "dependsOn": [
            "[resourceId('Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations', parameters('vmName'), 'Microsoft.Insights', parameters('dcraName'))]"
        ],
        "properties": {
            "publisher": "Microsoft.Azure.Monitor",
            "type": "AzureMonitorWindowsAgent",
            "typeHandlerVersion": "1.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
            "authentication": {
                "managedIdentity": {
                "identifier-name": "mi_res_id",
                "identifier-value": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',parameters('identityName'))]"
                }
            }
            }
        }
        }
    ]
    }
    
  4. Seleccione Guardar.

Solución de problemas

En la siguiente sección, solucione los problemas de envío de datos a Event Hubs y Storage.

Datos no encontrados en el almacenamiento de blobs de la cuenta de almacenamiento

  • Compruebe que el rol integrado Storage Blob Data Contributor está asignado con identidad administrada en la cuenta de almacenamiento.
  • Compruebe que la identidad administrada se ha asignado a la máquina virtual.
  • Compruebe que la configuración de AMA tiene un parámetro de identidad administrada.

Datos no encontrados en el almacenamiento de tablas de la cuenta de almacenamiento

  • Compruebe que el rol integrado Storage Table Data Contributor está asignado con identidad administrada en la cuenta de almacenamiento.
  • Compruebe que la identidad administrada se ha asignado a la máquina virtual.
  • Compruebe que la configuración de AMA tiene un parámetro de identidad administrada.

Datos que no fluyen al centro de eventos

  • Compruebe que el rol integrado Azure Event Hubs Data Sender está asignado con identidad administrada en la instancia del centro de eventos.
  • Compruebe que la identidad administrada se ha asignado a la máquina virtual.
  • Compruebe que la configuración de AMA tiene un parámetro de identidad administrada.

Convergencia de AMA y WAD/LAD

¿El agente de Azure Monitor va a admitir la carga de datos en Application Insights?

No, esta compatibilidad no forma parte de la hoja de ruta. Application Insights ahora cuenta con la tecnología de las áreas de trabajo de Log Analytics.

¿El agente de Azure Monitor admite volcados de memoria de Windows como un tipo de datos que se va a cargar?

No, esta compatibilidad no forma parte de la hoja de ruta. El agente de Azure Monitor está diseñado para los registros de telemetría y no para tipos de archivo grandes.

¿Esto significa que las extensiones de diagnóstico de Linux (LAD) y Windows (WAD) ya no se van a admitir o que se retiran?

LAD y WAD se retirarán el 31 de marzo de 2026. Además de las revisiones de seguridad necesarias y correcciones de errores o regresión, no hay mejoras ni desarrollo de características planeados para WAD ni LAD. Se recomienda encarecidamente que cambie al agente de Azure Monitor lo antes posible.

Configuración de AMA para centros de eventos y destinos de datos de almacenamiento

En la actualidad, la experiencia de configuración se realiza mediante la API de DCR.

¿Se seguirá desarrollando activamente en WAD y LAD?

WAD y LAD solo recibirán revisiones y seguridad en el futuro. La mayoría de los fondos de ingeniería han pasado al agente de Azure Monitor. Se recomienda encarecidamente migrar al agente de Azure Monitor para beneficiarse de todas sus increíbles funcionalidades.

Consulte también