Transmitir dados de monitoramento do Azure para um hub de eventos e parceiro externo
Um método eficaz para transmitir dados do Azure Monitor para ferramentas externas é usar os Hubs de Eventos do Azure. Este artigo fornece uma descrição de como transmitir dados para Hubs de Eventos e lista alguns dos parceiros que podem consumir esses dados do hub. Alguns parceiros integram-se com o Azure Monitor e têm serviços alojados no Azure.
Criar um espaço de nomes dos Hubs de Eventos
Antes de configurar o streaming para uma fonte de dados, você precisa criar um namespace e um hub de eventos dos Hubs de Eventos. Esse namespace e hub de eventos é o destino de todos os seus dados de monitoramento. Um namespace de Hubs de Eventos é um agrupamento lógico de hubs de eventos que compartilham a mesma política de acesso, da mesma forma que uma conta de armazenamento tem contêineres individuais para blobs dentro da conta de armazenamento. Considere os seguintes detalhes sobre o namespace de Hubs de Eventos e os hubs de eventos que você usa para transmitir dados de monitoramento:
- O número de unidades de taxa de transferência permite aumentar a escala de taxa de transferência para seus hubs de eventos. Normalmente, apenas uma unidade de taxa de transferência é necessária. Se precisar aumentar a escala à medida que o uso do log aumenta, você pode aumentar manualmente o número de unidades de taxa de transferência para o namespace ou habilitar a inflação automática.
- O número de partições permite paralelizar o consumo em muitos consumidores. Uma única partição pode suportar até 20 MBps ou aproximadamente 20.000 mensagens por segundo. Dependendo da ferramenta que consome os dados, ela pode ou não suportar o consumo de várias partições. Quatro partições são razoáveis para começar se você não tiver certeza sobre o número de partições a definir.
- Defina a retenção de mensagens no hub de eventos para pelo menos sete dias. Se a sua ferramenta de consumo ficar inativa por mais de um dia, essa retenção garante que a ferramenta possa continuar de onde parou para eventos com até sete dias de idade.
- Use o grupo de consumidores padrão para seu hub de eventos. Não há necessidade de criar outros grupos de consumidores ou usar um grupo de consumidores separado, a menos que você planeje que duas ferramentas diferentes consumam os mesmos dados do mesmo hub de eventos.
- Para o log de atividades do Azure, quando você seleciona um namespace de Hubs de Eventos, o Azure Monitor cria um hub de eventos dentro desse namespace chamado
insights-logs-operational-logs
. Para outros tipos de log, você pode escolher um hub de eventos existente ou fazer com que o Azure Monitor crie um hub de eventos por categoria de log. - As portas de saída 5671 e 5672 devem ser abertas na máquina ou na rede virtual que consome dados do hub de eventos.
Métodos de streaming
Os dados podem ser enviados para Hubs de Eventos usando os seguintes métodos no Azure Monitor:
Regras de recolha de dados
As regras de coleta de dados são usadas para transmitir logs e métricas para Hubs de Eventos, espaços de trabalho de análise de log e Armazenamento do Azure. Para obter informações sobre como configurar regras de coleta de dados, consulte Regras de coleta de dados no Azure Monitor e Criar e editar regras de coleta de dados.Configurações de diagnóstico
Use a configuração de diagnóstico para transmitir logs e métricas para Hubs de Eventos. Para obter informações sobre como configurar configurações de diagnóstico, consulte Criar configurações de diagnóstico.Transmitir manualmente usando aplicativos lógicos
Para dados que você não pode transmitir diretamente para um hub de eventos, você pode gravar no Armazenamento do Azure e, em seguida, usar um aplicativo lógico acionado por tempo que extrai dados do Armazenamento de Blobs do Azure e os envia por push como uma mensagem para o hub de eventos. Para obter mais informações, consulte Conectar-se a um hub de eventos a partir de fluxos de trabalho nos Aplicativos Lógicos do Azure.
Formatos de dados
O JSON a seguir é um exemplo de dados de métricas enviados para um hub de eventos:
[
{
"records": [
{
"count": 2,
"total": 0.217,
"minimum": 0.042,
"maximum": 0.175,
"average": 0.1085,
"resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
"time": "2023-04-18T09:03:00.0000000Z",
"metricName": "CpuTime",
"timeGrain": "PT1M"
},
{
"count": 2,
"total": 0.284,
"minimum": 0.053,
"maximum": 0.231,
"average": 0.142,
"resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
"time": "2023-04-18T09:04:00.0000000Z",
"metricName": "CpuTime",
"timeGrain": "PT1M"
},
{
"count": 1,
"total": 1,
"minimum": 1,
"maximum": 1,
"average": 1,
"resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.WEB/SITES/SCALEABLEWEBAPP1",
"time": "2023-04-18T09:03:00.0000000Z",
"metricName": "Requests",
"timeGrain": "PT1M"
},
...
]
}
]
O JSON a seguir é um exemplo de dados de log enviados para um hub de eventos:
[
{
"records": [
{
"time": "2023-04-18T09:39:56.5027358Z",
"category": "AuditEvent",
"operationName": "VaultGet",
"resultType": "Success",
"correlationId": "cccc2222-dd33-4444-55ee-666666ffffff",
"callerIpAddress": "10.0.0.10",
"identity": {
"claim": {
"http://schemas.microsoft.com/identity/claims/objectidentifier": "dddddddd-3333-4444-5555-eeeeeeeeeeee",
"appid": "44445555-eeee-6666-ffff-7777aaaa8888"
}
},
"properties": {
"id": "https://mykeyvault.vault.azure.net/",
"clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
"requestUri": "https://northeurope.management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.KeyVault/vaults/mykeyvault?api-version=2023-02-01&MaskCMKEnabledProperties=true",
"httpStatusCode": 200,
"properties": {
"sku": {
"Family": "A",
"Name": "Standard",
"Capacity": null
},
"tenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff",
"networkAcls": null,
"enabledForDeployment": 0,
"enabledForDiskEncryption": 0,
"enabledForTemplateDeployment": 0,
"enableSoftDelete": 1,
"softDeleteRetentionInDays": 90,
"enableRbacAuthorization": 0,
"enablePurgeProtection": null
}
},
"resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/RG-001/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/mykeyvault",
"operationVersion": "2023-02-01",
"resultSignature": "OK",
"durationMs": "16"
}
],
"EventProcessedUtcTime": "2023-04-18T09:42:07.0944007Z",
"PartitionId": 1,
"EventEnqueuedUtcTime": "2023-04-18T09:41:14.9410000Z"
},
...
Ferramentas de parceria com integração do Azure Monitor
Rotear seus dados de monitoramento para um hub de eventos com o Azure Monitor permite que você se integre facilmente com ferramentas externas de SIEM e monitoramento. A tabela a seguir lista exemplos de ferramentas com integração do Azure Monitor.
Ferramenta | Hospedado no Azure | Description |
---|---|---|
IBM QRadar | Não | O Microsoft Azure DSM e o Microsoft Azure Event Hubs Protocol estão disponíveis para download no site de suporte da IBM. |
Splunk | Não | O Splunk Add-on for Microsoft Cloud Services é um projeto de código aberto disponível no Splunkbase. Se não for possível instalar um complemento em sua instância do Splunk e estiver usando um proxy ou executando no Splunk Cloud, você poderá encaminhar esses eventos para o Coletor de Eventos HTTP do Splunk usando o Azure Function for Splunk. Essa ferramenta é acionada por novas mensagens no hub de eventos. |
SumoLogic | Não | As instruções para configurar o SumoLogic para consumir dados de um hub de eventos estão disponíveis em Coletar Logs para o Aplicativo de Auditoria do Azure dos Hubs de Eventos. |
ArcSight | Não | O conector inteligente ArcSight Azure Event Hubs está disponível como parte da coleção de conectores inteligentes do ArcSight. |
Syslog server | Não | Se quiser transmitir dados do Azure Monitor diretamente para um servidor Syslog, você pode usar uma solução baseada em uma função do Azure. |
LogRitmo | Não | Instruções para configurar o LogRhythm para coletar logs de um hub de eventos estão disponíveis neste site do LogRhythm. |
Logz.io | Sim | Para obter mais informações, consulte Introdução ao monitoramento e registro em log usando o Logz.io para aplicativos Java em execução no Azure. |