Transmitir dados de monitoramento do Azure para um hub de eventos ou parceiro externo

Na maioria dos casos, o método mais eficaz para transmitir dados do Azure Monitor para ferramentas externas é usando os Hubs de Eventos do Azure. Este artigo fornece uma breve descrição sobre como transmitir dados e, em seguida, lista alguns dos parceiros para os quais pode enviá-los. Alguns parceiros têm integração especial com o Azure Monitor e podem estar hospedados no Azure.

Criar um espaço de nomes dos Hubs de Eventos

Antes de configurar o streaming para qualquer 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 blobs individuais nessa 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.
  • Você define 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.
  • Você deve usar 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, você escolhe um namespace de Hubs de Eventos e 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 normalmente devem ser abertas no computador ou na rede virtual consumindo dados do hub de eventos.

Dados de monitorização disponíveis

Fontes de dados de monitoramento para o Azure Monitor e seus métodos de coleta de dados descreve os diferentes tipos de dados coletados pelo Azure Monitor e os métodos usados para coletá-los. Consulte esse artigo para obter os dados que podem ser transmitidos para um hub de eventos e links para detalhes de configuração.

Transmitir dados 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

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/ABCDEF12-3456-78AB-CD12-34567890ABCD/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/ABCDEF12-3456-78AB-CD12-34567890ABCD/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/ABCDEF12-3456-78AB-CD12-34567890ABCD/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": "12345678-abc-4bc5-9f31-950eaf3bfcb4",
        "callerIpAddress": "10.0.0.10",
        "identity": {
          "claim": {
            "http://schemas.microsoft.com/identity/claims/objectidentifier": "123abc12-abcd-9876-cdef-123abc456def",
            "appid": "12345678-a1a1-b2b2-c3c3-9876543210ab"
          }
        },
        "properties": {
          "id": "https://mykeyvault.vault.azure.net/",
          "clientInfo": "AzureResourceGraph.IngestionWorkerService.global/1.23.1.224",
          "requestUri": "https://northeurope.management.azure.com/subscriptions/ABCDEF12-3456-78AB-CD12-34567890ABCD/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": "12345678-abcd-1234-abcd-1234567890ab",
            "networkAcls": null,
            "enabledForDeployment": 0,
            "enabledForDiskEncryption": 0,
            "enabledForTemplateDeployment": 0,
            "enableSoftDelete": 1,
            "softDeleteRetentionInDays": 90,
            "enableRbacAuthorization": 0,
            "enablePurgeProtection": null
          }
        },
        "resourceId": "/SUBSCRIPTIONS/ABCDEF12-3456-78AB-CD12-34567890ABCD/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"
  },
...

Streaming manual com um aplicativo lógico

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.

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, por exemplo, 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.

Próximos passos