Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Coletar dados do cliente de máquina virtual com o Azure Monitor descreve como coletar dados de máquinas virtuais (VMs) com o Azure Monitor. Este artigo descreve como enviar os dados descritos para o Armazenamento do Azure e hubs de eventos. Esse recurso está atualmente em versão prévia pública.
Dica
Como alternativa ao armazenamento, você deve criar uma tabela com o Plano auxiliar no seu workspace do Log Analytics para um log econômico.
A tabela a seguir lista as fontes de dados compatíveis com esse recurso.
Tipos de dados com suporte
Os tipos de dados na tabela a seguir são compatíveis com esse recurso. Cada um tem um link para um artigo que descreve os detalhes dessa origem.
| Fonte de dados | Sistemas Operacionais | Destinos com suporte |
|---|---|---|
| Logs de eventos do Windows | Windows | Eventhub Armazenamento |
| Syslog | Linux | Eventhub Armazenamento |
| Contadores de desempenho | Windows Linux |
Eventhub Armazenamento |
| Logs do IIS | Windows Linux |
Blob de Armazenamento |
| Logs de texto | Windows Linux |
Eventhub (somente Linux) Blob de Armazenamento |
Não há suporte para os seguintes logs:
- Logs do ETW. Isso está planejado para lançamento futuro.
- Despejos de falhas do Windows. O Agente de Monitoramento do Azure destina-se a logs de telemetria e não a tipos de arquivos grandes.
- Logs de aplicação. Eles são coletados pelo Application Insights, que não usa DCRs.
- Registros de eventos de origem do .NET
Observação
Esse recurso só tem suporte para VMs do Azure. Não há suporte para VMs habilitadas para Arc.
Permissões
A VM do agente deve ter a identidade gerenciada atribuída pelo sistema habilitada ou uma identidade gerenciada atribuída pelo usuário associada a ela. A identidade gerenciada atribuída pelo usuário é recomendada para melhor escalabilidade e desempenho. O agente deve ser configurado para usar a identidade gerenciada para autenticação, conforme descrito nos requisitos do agente do Azure Monitor.
As seguintes funções RBAC devem ser atribuídas à identidade gerenciada, dependendo dos destinos de dados que você está usando.
| Destino | função RBAC |
|---|---|
| Tabela de armazenamento | Storage Table Data Contributor |
| Armazenamento de blobs | Storage Blob Data Contributor |
| Hub de eventos | Azure Event Hubs Data Sender |
Criar uma regra de coleta de dados
Dica
Agora há um recurso de visualização para criar uma DCR (regra de coleta de dados) que envia dados para Hubs de Eventos ou armazenamento usando o portal do Azure. Consulte Criar uma regra de coleta de dados.
Atualmente, não há uma experiência de interface do usuário para criar uma DCR (regra de coleta de dados) que envia dados para Hubs de Eventos ou armazenamento. O processo a seguir descreve as etapas para criar um DCR usando um modelo do ARM no portal do Azure. Como alternativa, você pode usar o DCR de exemplo aqui para criar um novo DCR usando outros métodos.
Aviso
Não edite um DCR existente que você criou usando Coletar dados do cliente de máquina virtual com o Azure Monitor para adicionar Hubs de Eventos ou armazenamento. Esses destinos exigem uma DCR com uma kind de AgentDirectToStore. Em vez disso, crie vários DCRs usando as mesmas fontes de dados que enviam para destinos diferentes.
Na caixa de pesquisa do portal do Azure, digite modelo e selecione Implantar um modelo personalizado. Selecione Criar seu próprio modelo no editor.
Cole a seguinte definição de modelo 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" ] } ] } } ] }Edite o template de acordo com seus requisitos, utilizando os detalhes das seções de DCR na tabela a seguir. O modelo usa parâmetros para aceitar os nomes da conta de armazenamento e do hub de eventos, para que você possa fornecê-los quando salvar o modelo ou em um arquivo de parâmetro, dependendo de como implantar o modelo. Consulte Estrutura de uma DCR (regra de coleta de dados) no Azure Monitor para obter mais detalhes sobre a estrutura do DCR.
Valor Descrição dataSourcesRegistro de cada fonte de dados coletada pelo DCR. O modelo de exemplo inclui definições para logs e contadores de desempenho. Consulte exemplos de DCR (regra de coleta de dados) no Azure Monitor para obter detalhes sobre como configurar essas fontes de dados e outras que você pode adicionar ao modelo. destinationsEntrada única para cada destino.
Hubs de Eventos
UseeventHubsDirectpara upload direto para o hub de eventos.eventHubResourceIdinclui a ID de recurso da instância do hub de eventos.
Blob de armazenamento
UsestorageBlobsDirectpara upload direto para o armazenamento de blobs.storageAccountResourceIdinclui a ID de recurso da conta de armazenamento.containerNameinclui o nome do contêiner.
Tabela de armazenamento
UsestorageTablesDirectpara upload direto para o armazenamento de tabelas.storageAccountResourceIdinclui a ID de recurso da conta de armazenamento.tableNameinclui um nome opcional da tabela.dataFlowsUm dataflowpara associar cada fluxo de entrada a pelo menos um destino. Os dados dessa fonte são enviados para cada destino no fluxo de dados.Selecione Salvar e forneça valores para os parâmetros necessários.
Criar uma associação DCR e implantar o agente do Azure Monitor
Para usar o DCR, ele deve ter uma DCRA (associação de regra de coleta de dados) com uma ou mais máquinas virtuais com o AMA (agente do Azure Monitor) instalado. Consulte Instalar e gerenciar o Agente do Azure Monitor para obter opções diferentes para instalar o agente e gerenciar associações de regras de coleta de dados no Azure Monitor para obter opções diferentes para criar o DCRA.
O modelo arm a seguir pode ser usado para implantar o Agente do Azure Monitor para criar o DCRA para uma VM específica. O modelo usa uma UAI (identidade gerenciada) atribuída pelo usuário para autenticação. A UAI deve ser criada antes de implantar o modelo. Você também pode usar uma identidade gerenciada atribuída pelo sistema, mas isso não é recomendado para cargas de trabalho de produção.
Use o processo acima ou qualquer outro método válido para implantar esse modelo. Ele inclui parâmetros para valores necessários para identificar a VM e o DCR, portanto, você não precisa modificar o modelo em si.
{
"$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'))]"
}
}
}
}
}
]
}
Migração das Extensões de Diagnóstico do Azure para Linux e Windows (LAD/WAD)
A extensão de Diagnóstico do Azure atualmente envia dados para Os Hubs de Eventos e armazenamento, mas será preterida 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. Somente patches de segurança estão sendo fornecidos. O AMA (Agente do Azure Monitor) fornece uma maneira mais eficiente e flexível de coletar dados do cliente de VMs.
- 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.
Solucionar problemas
Se os dados não estiverem sendo enviados para Hubs de Eventos ou armazenamento, verifique o seguinte:
- A função interna apropriada listada em Permissões é atribuída com a identidade gerenciada na conta de armazenamento ou no hub de eventos.
- A identidade gerenciada é atribuída à VM.
- As configurações de AMA têm parâmetro de identidade gerenciada.
Consulte também
- Para obter mais informações sobre como criar uma regra de coleta de dados, consulte Coleta de dados de máquinas virtuais usando o Agente do Azure Monitor.