Enviar dados para Hubs de Eventos e Armazenamento (pré-visualização)

Este artigo descreve como usar o Azure Monitor Agent (AMA) para carregar dados no Armazenamento do Azure e Hubs de Eventos. Esse recurso está em visualização.

O Agente do Azure Monitor é o novo agente de telemetria consolidado para coletar dados de recursos IaaS, como máquinas virtuais. Usando o recurso de carregamento nesta visualização, você pode carregar os logs1 enviados para os espaços de trabalho do Log Analytics para Hubs de Eventos e Armazenamento. Ambos os destinos de dados usam regras de coleta de dados para configurar a configuração de coleta para os agentes.

Observação

A extensão do Diagnóstico do Microsoft Azure será descontinuada em 31 de março de 2026. Após essa data, a Microsoft não fornecerá mais suporte para a extensão do Azure Diagnostics.

Notas de rodapé

1: Nem todos os tipos de dados são suportados; consulte O que é suportado para obter informações específicas.

Migração das Extensões de Diagnóstico do Azure para Linux e Windows (LAD/WAD)

  • O Agente do Azure Monitor pode coletar e enviar dados para vários destinos, incluindo espaços de trabalho do Log Analytics, Hubs de Eventos do Azure e Armazenamento do Microsoft Azure.
  • Para verificar quais extensões estão instaladas na sua VM, selecione Extensões + aplicativos em Configurações na sua VM.
  • Remova o LAD ou o WAD depois de configurar o Azure Monitor Agent para coletar os mesmos dados nos Hubs de Eventos ou no Armazenamento do Microsoft Azure para evitar dados duplicados.
  • Como alternativa ao armazenamento, recomendamos fortemente que você configure uma tabela com o Plano auxiliar no seu espaço de trabalho do Log Analytics para um registro econômico.

O que tem suporte

Tipos de dados

  • Windows:

    • Logs de eventos do Windows – para eventhub e armazenamento
    • Contadores de Perf – eventhub e armazenamento
    • Logs do IIS – para blob de armazenamento
    • Logs personalizados – para blob de armazenamento
  • Linux:

    • Syslog – para eventhub e armazenamento
    • Contadores de Perf – para eventhub e armazenamento
    • Logs personalizados / arquivos de log, para armazenamento

Sistemas operacionais

  • Ambientes suportados pelo Agente de Monitoramento do Azure no Windows e Linux
  • Esse recurso só tem suporte e está planejado para ser suportado para VMs do Azure. Não há planos para trazer isso para cenários locais ou do Azure Arc.

O que não tem suporte

Tipos de dados

  • Windows:
    • Logs ETW (chegando em um lançamento posterior)
    • Despejos de Memória do Windows (não planejados nem serão suportados)
    • Logs de aplicativos (não planejados nem com suporte)
    • Logs de origem de eventos do .NET (não planejados nem com suporte)

Pré-requisitos

Uma identidade gerenciada (sistema ou usuário) associada aos recursos abaixo. É altamente recomendável usar identidade gerenciada atribuída pelo usuário para melhorar a escalabilidade e o desempenho.

Criar uma regra de coleta de dados

Crie uma regra de coleta de dados para coletar eventos e enviar para o armazenamento e o hub de eventos.

  1. Na caixa de pesquisa do portal do Azure, digite modelo e selecione Implantar um modelo personalizado.

    Captura de tela que mostra o portal do Azure com o modelo inserido na caixa de pesquisa e Implantar um modelo personalizado realçado nos resultados da pesquisa.

  2. Selecione Criar seu próprio modelo no editor.

    Captura de tela que mostra a tela do portal para criar modelo no editor.

  3. Cole este modelo do Azure Resource Manager no 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. Atualize os seguintes valores no modelo do Azure Resource Manager. Consulte o modelo de exemplo do Azure Resource Manager.

    Hub de eventos

    Valor Descrição
    dataSources Defina-o de acordo com suas necessidades. Os tipos suportados para carregamento direto nos Hubs de Eventos para Windows são performanceCounters e windowsEventLogs e, para Linux, são performanceCounters e syslog.
    destinations Use eventHubsDirect para upload direto para o hub de eventos.
    eventHubResourceId ID do recurso da instância do hub de eventos.

    Observação : não é a ID de recurso de namespace do hub de eventos.
    dataFlows Em dataFlows, inclua o nome do destino.

    Tabela de armazenamento

    Valor Descrição
    dataSources Defina-a de acordo com suas necessidades. Os tipos suportados para upload direto para armazenamento de Tabela para Windows são performanceCounters, windowsEventLogs e para Linux, eles são performanceCounters e syslog.
    destinations Use storageTablesDirect para upload direto para o armazenamento de tabelas.
    storageAccountResourceId ID do recurso da conta de armazenamento.
    tableName O nome da Tabela para a qual o blob JSON com dados de evento é carregado.
    dataFlows Em dataFlows, inclua o nome do destino.

    Blob de armazenamento

    Valor Descrição
    dataSources Defina-a de acordo com suas necessidades. Os tipos suportados para upload direto para blob de armazenamento para Windows são performanceCounters, windowsEventLogs, iisLogs, logFiles e, para Linux, são performanceCounters, syslog e logFiles.
    destinations Use storageBlobsDirect para upload direto para o armazenamento de blob.
    storageAccountResourceId A ID do recurso da conta de armazenamento.
    containerName O nome do contêiner para o qual o blob JSON com dados de evento é carregado.
    dataFlows Em dataFlows, inclua o nome do destino.
  5. Selecione Salvar.

Criar uma associação DCR e implantar o agente do Azure Monitor

Use a implantação de modelo personalizado para criar a associação DCR e a implantação AMA.

  1. Na caixa de pesquisa do portal do Azure, digite modelo e selecione Implantar um modelo personalizado.

    Captura de tela que mostra o portal do Azure com o modelo inserido na caixa de pesquisa e Implantar um modelo personalizado realçado nos resultados da pesquisa.

  2. Selecione Criar seu próprio modelo no editor.

    Captura de tela que mostra a tela do portal para criar modelo no editor.

  3. Cole esse modelo do Azure Resource Manager no 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. Selecione Salvar.

Solução de problemas

Use a seção a seguir para solucionar problemas de envio de dados para Hubs de Eventos e Armazenamento.

Dados não encontrados no armazenamento de blob da conta de armazenamento

  • Verifique se a função interna Storage Blob Data Contributor está atribuída com identidade gerenciada na conta de armazenamento.
  • Verifique se a identidade gerenciada está atribuída à VM.
  • Verifique se as configurações do AMA têm o parâmetro de identidade gerenciado.

Dados não encontrados no armazenamento da tabela de contas de armazenamento

  • Verifique se a função interna Storage Table Data Contributor está atribuída com identidade gerenciada na conta de armazenamento.
  • Verifique se a identidade gerenciada está atribuída à VM.
  • Verifique se as configurações do AMA têm o parâmetro de identidade gerenciado.

Os dados não fluem para o hub de eventos

  • Verifique se a função integrada Azure Event Hubs Data Sender foi atribuída com uma identidade gerenciada na instância de hub de eventos.
  • Verifique se a identidade gerenciada está atribuída à VM.
  • Verifique se as configurações do AMA têm o parâmetro de identidade gerenciado.

Convergência AMA e WAD/LAD

O Agente de Monitoramento do Azure dará suporte ao carregamento de dados no Application Insights?

Não, esse suporte não faz parte do roteiro. O Application Insights agora é alimentado pelo Log Analytics Workspaces.

O Agente de Monitoramento do Azure dará suporte a Despejos de Memória do Windows como um tipo de dados a ser carregado?

Não, esse suporte não faz parte do roteiro. O Agente de Monitoramento do Azure destina-se a logs de telemetria e não a tipos de arquivos grandes.

Isso significa que as extensões de diagnóstico do Linux (LAD) e do Windows (WAD) não são mais suportadas/desativadas?

LAD e WAD serão desativados em 31 de março de 2026. Além dos patches de segurança necessários e correções de bug/regressão, não há aprimoramentos nem desenvolvimento de recursos planejados para WAD/LAD. É altamente recomendável que você mova para o agente do Azure Monitor assim que possível.

Como configurar o AMA para hubs de eventos e destinos de dados de armazenamento

Hoje, a experiência de configuração é usando a API DCR.

Você ainda estará desenvolvendo ativamente no WAD e no LAD?

WAD e LAD só receberão segurança/patches daqui para frente. A maior parte do financiamento de engenharia foi para o Agente de Monitoramento do Azure. É altamente recomendável migrar para o Agente de Monitoramento do Azure para se beneficiar de todos os seus recursos incríveis.

Confira também