Transmita dados de monitoramento do Azure para um hub de eventos e um parceiro externo
Um método eficaz para transmitir dados do Azure Monitor para ferramentas externas é usar Hubs de Eventos do Azure. Esse artigo fornece uma descrição de como transmitir dados para os Hubs de Eventos e lista alguns dos parceiros que podem consumir esses dados do hub. Alguns parceiros integram-se ao Azure Monitor e têm serviços hospedados no Azure.
Criar um namespace de Hubs de Eventos
Antes de configurar o streaming para uma fonte de dados, você precisa criar um namespace e um hub de eventos do Hubs de Eventos. Esse namespace e hub de eventos é o destino para 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, assim como 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 dos hubs de eventos usados para transmitir por streaming dados de monitoramento:
- O número de unidades de taxa de transferência permite aumentar a escala de taxa de transferência para os hubs de eventos. Normalmente, é necessária apenas uma unidade de produtividade. Se for necessário escalar verticalmente conforme o uso de log aumenta, é possível aumentar manualmente o número de unidades de produtividade 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, poderá ou não dar suporte ao 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 serem definidas.
- Defina a retenção de mensagens no seu hub de eventos para pelo menos sete dias. Se 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 de até sete dias.
- 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, é possível escolher um hub de eventos existente ou 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 rede virtual que consome dados do hub de eventos.
Métodos de streaming
Os dados podem ser enviados para os Hubs de Eventos usando os seguintes métodos no Azure Monitor:
Regras de coleta 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 logs e Armazenamento do Microsoft Azure. Para obter informações sobre como configurar regras de coleta de dados, veja Regras de coleta de dados no Azure Monitor e Criar e editar regras de coleta de dados.Configurações de Diagnóstico
Use as configurações de diagnóstico para transmitir logs e métricas para Hubs de Eventos. Para obter informações sobre como configurar as configurações de diagnóstico, veja Criar configurações de diagnóstico.Transmitir manualmente usando o Aplicativos Lógicos
Para dados que não podem ser transmitidos diretamente para um hub de eventos, é possível gravar no Armazenamento do Microsoft Azure e, em seguida, você pode usar um aplicativo lógico disparado por tempo que extrai dados do Armazenamento de Blobs do Azure e enviá-los por push como uma mensagem para o hub de eventos. Para obter mais informações, veja Conectar-se a um hub de eventos a partir de fluxos de trabalho no 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 parceiro com integração do Azure Monitor
Rotear dados de monitoramento para um hub de eventos com o Azure Monitor permite integração fácil com ferramentas de monitoramento e SIEM externos. A tabela a seguir lista exemplos de ferramentas com integração do Azure Monitor.
Ferramenta | Hospedada no Azure | Descrição |
---|---|---|
IBM QRadar | Não | O Microsoft Azure DSM e protocolo de Hub de Eventos do Microsoft Azure estão disponíveis para download no site de suporte da IBM. |
Splunk | Não | O Complemento do Splunk para os Serviços de Nuvem da Microsoft é um projeto de software livre disponível no Splunkbase. Se você não conseguir instalar um complemento na sua instância do Splunk e estiver usando um proxy ou executando no Splunk Cloud, você pode encaminhar esses eventos para o Splunk HTTP Event Collector usando a Função do Azure para Splunk. Essa ferramenta é disparada 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 dos Hubs de Eventos para o aplicativo de auditoria do Azure. |
ArcSight | Não | O conector inteligente ArcSight de Hubs de Eventos do Azure está disponível como parte da coleção de conectores inteligentes ArcSight. |
Servidor syslog | Não | Caso deseje transmitir por streaming dados do Azure Monitor diretamente para um servidor Syslog, é possível usar uma solução baseada em uma função do Azure. |
LogRhythm | Não | As 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. |