Partilhar via


Enviar dados para Hubs de Eventos e Armazenamento (Visualização)

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

O Azure Monitor Agent é 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 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.

Nota

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

Notas de rodapé

1: Nem todos os tipos de dados são suportados, consulte O que é suportado para obter detalhes.

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

  • O Azure Monitor Agent 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 Azure.
  • Para verificar quais extensões estão instaladas em sua VM, selecione Extensões + aplicativos em Configurações em sua VM.
  • Remova LAD ou WAD depois de configurar o Azure Monitor Agent para coletar os mesmos dados para Hubs de Eventos ou Armazenamento do Azure para evitar dados duplicados.
  • Como alternativa ao armazenamento, é altamente recomendável configurar uma tabela com o plano Auxiliar no espaço de trabalho do Log Analytics para registro em log econômico.

O que é suportado

Tipos de dados

  • Windows:

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

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

Sistemas operativos

  • Ambientes suportados pelo Agente de Monitorização do Azure no Windows e Linux
  • Esse recurso só é suportado e 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 é suportado

Tipos de dados

  • Windows:
    • ETW Logs (Chegando em um lançamento posterior)
    • Despejos de falha do Windows (não planejados nem suportados)
    • Logs de aplicativos (não planejados nem suportados)
    • Logs de origem de eventos do .NET (não planejados nem suportados)

Pré-requisitos

Você precisará de um recurso de computação existente (como máquina virtual ou conjunto de escala de máquina virtual. A máquina na qual o Agente do Azure Monitor é implantado deve ter a identidade gerenciada atribuída ao sistema habilitada ou uma identidade gerenciada atribuída pelo usuário associada a ela. É altamente recomendável usar a identidade gerenciada atribuída pelo usuário para melhor escalabilidade e desempenho. O Azure Monitor Agent deve ser configurado para usar essa identidade gerenciada para autenticação, conforme descrito nos pré-requisitos.

Você deve provisionar a(s) conta(s) de armazenamento e/ou Hubs de Eventos necessários nos quais deseja publicar dados por meio do Azure Monitor Agent. Além disso, a(s) função(ões) RBAC interna adequada deve ser atribuída à identidade gerenciada escolhida de acordo com o(s) destino(s) de dados desejado(s):

  • Tabela de armazenamento: Storage Table Data Contributor função
  • Blob de armazenamento: Storage Blob Data Contributor função
  • Hub de eventos: Azure Event Hubs Data Sender função

Criar uma regra de coleta de dados

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

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

    Captura de ecrã que mostra o portal do Azure com o modelo introduzido na caixa de pesquisa e Implementar um modelo personalizado realçado nos resultados da pesquisa.

  2. Selecione Crie o 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 exemplo de modelo do Azure Resource Manager para obter um exemplo.

    Hub de eventos

    valor Description
    dataSources Defina-o de acordo com as suas necessidades. Os tipos suportados para upload direto para Hubs de Eventos para Windows são performanceCounters e windowsEventLogs para Linux, eles 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.

    NOTA: Não é o ID do recurso de namespace do hub de eventos.
    dataFlows Em dataFlows, inclua o nome do destino.

    Tabela de armazenamento

    valor Description
    dataSources Defina-o de acordo com as suas necessidades. Os tipos suportados para upload direto para o armazenamento 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 Description
    dataSources Defina-o de acordo com as suas necessidades. Os tipos suportados para upload direto para o blob de armazenamento para Windows são performanceCounters, windowsEventLogs, iisLogs, logFiles e para Linux, eles são performanceCounters, syslog e logFiles.
    destinations Use storageBlobsDirect para upload direto para armazenamento de blob.
    storageAccountResourceId O 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 Guardar.

Criar associação DCR e implantar o Azure Monitor Agent

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

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

    Captura de ecrã que mostra o portal do Azure com o modelo introduzido na caixa de pesquisa e Implementar um modelo personalizado realçado nos resultados da pesquisa.

  2. Selecione Crie o 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": {
        "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 Guardar.

Resoluçã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 Storage Blob Data Contributor interna 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 da conta de armazenamento

  • Verifique se a função Storage Table Data Contributor interna 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 Azure Event Hubs Data Sender interna está atribuída com identidade gerenciada na instância do 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

Os dados de suporte do Agente de Monitoramento do Azure serão carregados no Application Insights?

Não, este apoio 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, este apoio não faz parte do roteiro. O Agente de Monitoramento do Azure destina-se a logs de telemetria e não a tipos de arquivo 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 aposentados em 31 de março de 2026. Além dos patches de segurança necessários e correções de bugs/regressões, não há melhorias nem desenvolvimento de recursos planejados para WAD/LAD. É altamente recomendável que você mude para o Azure Monitor Agent o mais rápido 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 em WAD e 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 incríveis recursos.

Consulte também