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.
A extensão de diagnóstico do Azure é um agente no Azure Monitor que coleta os dados de monitoramento do sistema operacional convidado e das cargas de trabalho das máquinas virtuais do Azure e de outros recursos de computação. Este artigo descreve como enviar dados da extensão WAD (Diagnóstico do Microsoft Azure) para Hubs de Eventos do Azure, possibilitando seu encaminhamento para locais fora do Azure.
Importante
A extensão Diagnóstico do Azure foi descontinuada em 31 de março de 2026 e não é mais suportada. Novas implantações da extensão não são recomendadas. Para garantir o suporte contínuo e o acesso a novos recursos, migre para as soluções alternativas recomendadas aqui.
Tipos de dados compatíveis
Os dados coletados do sistema operacional convidado que podem ser enviados aos Hubs de Eventos incluem o seguinte. Outras fontes de dados coletadas pelo WAD, incluindo logs do Serviços de Informações da Internet (IIS) e despejos de memória em caso de falha, não podem ser enviadas para os Hubs de Eventos.
- Eventos de ETW (Rastreamento de Eventos para Windows)
- Contadores de desempenho
- Logs de eventos do Windows, incluindo logs de aplicativos no log de eventos do Windows
- logs de infraestrutura do Diagnóstico do Azure
Pré-requisitos
- Extensão de Diagnóstico do Windows na versão 1.6 ou superior. Consulte o esquema de configuração da extensão Diagnóstico do Azure e histórico de versões para obter um histórico de versões e visão geral da extensão Diagnóstico do Azure para os recursos suportados.
- O namespace do Hubs de Eventos sempre precisa ser provisionado. Consulte Introdução aos Hubs de Eventos para obter detalhes.
- O hub de eventos deve ser pelo menos a camada Standard. Não há suporte para a camada básica.
Esquema de configuração
Consulte Instalar e configurar Microsoft Azure extensão de diagnóstico (WAD) para obter opções diferentes para habilitar e configurar a extensão de diagnóstico. Consulte Diagnóstico do Azure esquema de configuração para obter uma referência do esquema de configuração. O restante deste artigo descreve como usar essa configuração para enviar dados para um hub de eventos.
Diagnóstico do Azure sempre envia logs e métricas para uma conta de Armazenamento do Azure. Você pode configurar um ou mais coletores de dados que enviam dados para outros locais. Cada coletor é definido no elemento SinksConfig da configuração pública com informações confidenciais na configuração privada. Essa configuração dos hubs de eventos usa os valores na tabela a seguir.
| Propriedade | Descrição |
|---|---|
| Nome | Nome descritivo para o coletor. Usado na configuração para especificar quais fontes de dados enviar ao coletor. |
| URL | URL do hub de eventos no formulário <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>. |
| NomeDaChaveDeAcessoCompartilhada | Nome de uma política de acesso compartilhado para o hub de eventos que tem pelo menos autoridade de envio . |
| Chave de Acesso Compartilhada | Chave primária ou secundária da política de acesso compartilhada para o hub de eventos. |
O exemplo a seguir mostra configurações públicas e privadas. É uma configuração mínima com um único contador de desempenho e log de eventos para ilustrar como configurar e usar o coletor de dados do hub de eventos. Consulte Diagnóstico do Azure esquema de configuração para obter um exemplo mais complexo.
Configuração pública
{
"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",
}
Configuração privada
{
"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}"
}
}
Opções de configuração
Para enviar dados para um coletor de dados, especifique o atributo sinks no nó da fonte de dados. Onde você coloca o atributo sinks determina o escopo da atribuição. No exemplo a seguir, o atributo sinks é definido para o nó PerformanceCounters. Isso faz com que todos os contadores de desempenho filhos sejam enviados para o hub de eventos.
"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"
}
]
}
No exemplo a seguir, o atributo sinks é aplicado diretamente a três contadores. Isso faz com que apenas esses contadores de desempenho sejam enviados para o hub de eventos.
"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"
}
]
}
Validação da configuração
Você pode usar vários métodos para validar que os dados estão sendo enviados para o hub de eventos. Um método simples é usar a captura de eventos por meio de Hubs de Eventos do Azure, conforme descrito em Capturar eventos por meio de Hubs de Eventos do Azure no Armazenamento de Blobs do Azure ou Azure Data Lake Storage.
Solucionar problemas dos coletores dos Hubs de Eventos
Examine a tabela Armazenamento do Azure WADDiagnosticInfrastructureLogsTable que contém logs e erros para Diagnóstico do Azure em si. Uma opção é usar uma ferramenta como Gerenciador de Armazenamento do Azure para se conectar a essa conta de armazenamento, exibir essa tabela e adicionar uma consulta para TimeStamp nas últimas 24 horas. Você pode usar a ferramenta para exportar um arquivo .csv e abri-lo em um aplicativo, como Microsoft Excel. O Excel facilita a pesquisa de cadeias de caracteres de cartão, como os EventHubs, para ver qual erro é relatado.
Verifique se o seu hub de eventos foi provisionado com êxito. Todas as informações de conexão na seção PrivateConfig da configuração devem corresponder aos valores do recurso, conforme visto no portal. Verifique se você tem uma política SAS definida (SendRule no exemplo) no portal e se a permissão Enviar é concedida.