Monitorando a referência de dados dos Hubs de Eventos do Azure

Consulte Monitoramento de Hubs de Eventos do Azure para obter detalhes sobre como coletar e analisar dados de monitoramento para Hubs de Eventos do Azure.

Nota

O Azure Monitor não inclui dimensões nos dados de métricas exportados, que são enviados para um destino como o Armazenamento do Azure, Hubs de Eventos do Azure, Análise de Log, etc.

Métricas

Esta seção lista todas as métricas de plataforma coletadas automaticamente para os Hubs de Eventos do Azure. O provedor de recursos para essas métricas é Microsoft.EventHub/clusters ou Microsoft.EventHub/namespaces.

Métricas de solicitação

Conta o número de solicitações de dados e operações de gerenciamento.

Nome da Métrica Exportável através de configurações de diagnóstico Unit Tipo de agregação Description Dimensões
Pedidos Recebidos Sim de palavras de palavras O número de solicitações feitas ao serviço Hubs de Eventos durante um período especificado. Essa métrica inclui todos os dados e operações do plano de gerenciamento. Nome da entidade
Pedidos Com Êxito Não de palavras de palavras O número de solicitações bem-sucedidas feitas ao serviço Hubs de Eventos durante um período especificado. Nome da entidade

Resultado da Operação
Solicitações limitadas Não de palavras de palavras O número de solicitações que foram limitadas porque o uso foi excedido. Nome da entidade

Resultado da Operação

Os dois tipos de erros a seguir são classificados como erros do usuário:

  1. Erros do lado do cliente (em HTTP seriam 400 erros).
  2. Erros que ocorrem durante o processamento de mensagens.

Métricas de mensagem

Nome da Métrica Exportável através de configurações de diagnóstico Unit Tipo de agregação Description Dimensões
Mensagens Recebidas Sim de palavras de palavras O número de eventos ou mensagens enviadas para Hubs de Eventos durante um período especificado. Nome da entidade
Mensagens Enviadas Sim de palavras de palavras O número de eventos ou mensagens recebidos de Hubs de Eventos durante um período especificado. Nome da entidade
Mensagens Capturadas Não de palavras de palavras O número de mensagens capturadas. Nome da entidade
Bytes de entrada Sim Bytes Count Bytes de entrada para um hub de eventos durante um período especificado. Nome da entidade
Bytes Enviados Sim Bytes Count Bytes de saída para um hub de eventos durante um período especificado. Nome da entidade
Tamanho Não Bytes Média Tamanho de um hub de eventos em bytes. Nome da entidade

Nota

  • Esses valores são valores point-in-time. As mensagens recebidas que foram consumidas imediatamente após esse point-in-time podem não ser refletidas nessas métricas.
  • A métrica Solicitações de entrada inclui todos os dados e operações do plano de gerenciamento. A métrica Mensagens de entrada fornece o número total de eventos enviados para o hub de eventos. Por exemplo, se você enviar um lote de 100 eventos para um hub de eventos, ele contará como 1 solicitação de entrada e 100 mensagens de entrada.

Métricas de captura

Nome da Métrica Exportável através de configurações de diagnóstico Unit Tipo de agregação Description Dimensões
Mensagens Capturadas Não de palavras de palavras O número de mensagens capturadas. Nome da entidade
Bytes Capturados Não Bytes Count Bytes capturados para um hub de eventos Nome da entidade
Registo de Tarefas Pendentes de Capturas Não de palavras de palavras Capturar lista de pendências para um hub de eventos Nome da entidade

Métricas de conexão

Nome da Métrica Exportável através de configurações de diagnóstico Unit Tipo de agregação Description Dimensões
Ligações Ativas Não Count Média O número de conexões ativas em um namespace e em uma entidade (hub de eventos) no namespace. O valor dessa métrica é um valor point-in-time. As conexões que estavam ativas imediatamente após esse point-in-time podem não ser refletidas na métrica. Nome da entidade
Conexões abertas Não Count Média O número de conexões abertas. Nome da entidade
Conexões fechadas Não Count Média O número de conexões fechadas. Nome da entidade

Métricas de erro

Nome da Métrica Exportável através de configurações de diagnóstico Unit Tipo de agregação Description Dimensões
Erros do servidor Não de palavras de palavras O número de solicitações não processadas devido a um erro no serviço Hubs de Eventos durante um período especificado. Nome da entidade

Resultado da Operação
Erros do usuário Não de palavras de palavras O número de solicitações não processadas devido a erros do usuário durante um período especificado. Nome da entidade

Resultado da Operação
Erros de quota excedida Não de palavras de palavras O número de erros causados pela superação das quotas durante um período especificado. Nome da entidade

Resultado da Operação

Nota

O Logic Apps cria recetores de época e os recetores podem ser movidos de um nó para outro, dependendo da carga de serviço. Durante esses movimentos, ReceiverDisconnection podem ocorrer exceções. Eles são contados como erros do usuário no lado do serviço Hubs de Eventos. Os Aplicativos Lógicos podem coletar falhas de clientes de Hubs de Eventos para que você possa visualizá-las em logs de usuário.

Dimensões métricas

Os Hubs de Eventos do Azure dão suporte às seguintes dimensões para métricas no Azure Monitor. Adicionar dimensões às suas métricas é opcional. Se você não adicionar dimensões, as métricas serão especificadas no nível do namespace.

Nome da dimensão Description
Nome da Entidade Nome do hub de eventos. Com a métrica 'Solicitações de entrada', a dimensão Nome da entidade tem um valor de '-NamespaceOnlyMetric-', além de todos os seus hubs de evento. Ele representa as solicitações que foram feitas no nível do namespace. Os exemplos incluem uma solicitação para listar todos os hubs de eventos no namespace ou solicitações para entidades que falharam na autenticação ou autorização.

Registos do recurso

Os Hubs de Eventos do Azure agora têm a capacidade de despachar logs para qualquer uma das duas tabelas de destino - Diagnóstico do Azure ou tabelas específicas de Recursos no Log Analytics. Você pode usar a alternância disponível no portal do Azure para escolher tabelas de destino.

Captura de ecrã da caixa de diálogo para definir a tabela de destino.

Os Hubs de Eventos capturam logs de diagnóstico para as seguintes categorias:

Categoria Description
Arquivar Logs Captura informações sobre Hubs de Eventos Capture operações, especificamente, logs relacionados a erros de captura.
Logs operacionais Capture todas as operações de gerenciamento executadas no namespace Hubs de Eventos do Azure. As operações de dados não são capturadas devido ao grande volume de operações de dados realizadas nos Hubs de Eventos do Azure.
Dimensionamento automático de logs Captura operações de autoinflação feitas em um namespace de Hubs de Eventos.
Logs do coordenador Kafka Captura as operações do coordenador Kafka relacionadas aos Hubs de Eventos.
Logs de erro do usuário Kafka Captura informações sobre APIs Kafka chamadas em Hubs de Eventos.
Evento de conexão de rede virtual dos Hubs de Eventos Captura informações sobre endereços IP e redes virtuais que enviam tráfego para Hubs de Eventos.
Logs de usuários-chave gerenciados pelo cliente Captura operações relacionadas à chave gerenciada pelo cliente.
Logs de auditoria de tempo de execução Capture informações de diagnóstico agregadas para todas as operações de acesso ao plano de dados (como enviar ou receber eventos) em Hubs de Eventos.
Logs de métricas de aplicativos Capture as informações agregadas em determinadas métricas relacionadas às operações do plano de dados.

Todos os logs são armazenados no formato JSON (JavaScript Object Notation). Cada entrada tem campos de cadeia de caracteres que usam o formato descrito nas seções a seguir.

Esquema de registros de arquivamento

As cadeias de caracteres JSON do log de arquivo incluem elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSArchiveLogs (tabela específica de recursos)
TaskName Descrição da tarefa que falhou Sim Sim
ActivityId ID interno, usado para rastreamento Sim Sim
trackingId ID interno, usado para rastreamento Sim Sim
resourceId Azure Resource Manager resource ID sim Sim
eventHub Nome completo do hub de eventos (inclui nome do namespace) Sim No
EventhubName Nome da entidade do hub de eventos Não Sim
partitionId Partição do hub de eventos sendo gravada em Sim Sim
archiveStep valores possíveis: ArchiveFlushWriter, DestinationInit Sim Sim
startTime Hora de início da falha Sim No
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
failures Número de vezes que a falha ocorreu Sim Sim
durationInSeconds Duração da falha Sim Sim
message Mensagem de erro Sim Sim
category Categoria de log Sim No
Provider Nome do serviço que emite os logs, por exemplo, Hubs de Eventos Não Sim
Type Tipo de log emitido Não Sim

O código a seguir é um exemplo de uma cadeia de caracteres JSON de log de arquivamento:

AzureDiagnostics:

{
   "TaskName": "EventHubArchiveUserError",
   "ActivityId": "000000000-0000-0000-0000-0000000000000",
   "trackingId": "0000000-0000-0000-0000-00000000000000000",
   "resourceId": "/SUBSCRIPTIONS/000000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs Namespace Name>",
   "eventHub": "<Event Hub full name>",
   "partitionId": "1",
   "archiveStep": "ArchiveFlushWriter",
   "startTime": "9/22/2016 5:11:21 AM",
   "failures": 3,
   "durationInSeconds": 360,
   "message": "Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (404) Not Found. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.\r\n   at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)\r\n   at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.<PutBlockImpl>b__3e(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)\r\n   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)\r\n   --- End of inner exception stack trace ---\r\n   at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()\r\n   at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.<CreateCallbackVoid>b__3(IAsyncResult ar)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.",
   "category": "ArchiveLogs"
}

Entrada de tabela específica do recurso:

{
   "TaskName": "EventHubArchiveUserError",
   "ActivityId": "000000000-0000-0000-0000-0000000000000",
   "trackingId": "0000000-0000-0000-0000-00000000000000000",
   "resourceId": "/SUBSCRIPTIONS/000000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs Namespace Name>",
   "EventHubName": "<Event Hub full name>",
   "partitionId": "1",
   "archiveStep": "ArchiveFlushWriter",
   "TimeGenerated(UTC)": "9/22/2016 5:11:21 AM",
   "failures": 3,
   "durationInSeconds": 360,
   "message": "Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (404) Not Found. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.\r\n   at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)\r\n   at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.<PutBlockImpl>b__3e(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)\r\n   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)\r\n   --- End of inner exception stack trace ---\r\n   at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()\r\n   at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.<CreateCallbackVoid>b__3(IAsyncResult ar)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.",
   "Provider":"EVENTHUB",
   "Type":"AZMSArchiveLogs"
}

Esquema de logs operacionais

As cadeias de caracteres JSON do log operacional incluem elementos listados na tabela a seguir:

Nome Descrição Suportado no AzureDiagnostics Suportado em AZMSOperationalLogs (tabela específica do recurso)
ActivityId ID interno, usado para fins de rastreamento Sim Sim
EventName nome da operação. Para obter uma lista de valores para esse elemento, consulte Nomes de eventos Sim Sim
resourceId Azure Resource Manager resource ID Sim Sim
SubscriptionId ID de Subscrição Sim Sim
EventTimeString Tempo de operação Sim No
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
EventProperties Propriedades para a operação. Este elemento fornece mais informações sobre o evento, conforme mostrado no exemplo a seguir. Sim Sim
Status Estado da operação. O valor pode ser Succeed ou Failed. Sim Sim
Caller Chamador de operação (portal do Azure ou cliente de gerenciamento) Sim Sim
Category Categoria de log Sim No
Provider Nome do serviço que emite os logs, por exemplo, Hubs de Eventos Não Sim
Type Tipo de logs emitidos Não Sim

O código a seguir é um exemplo de uma cadeia de caracteres JSON de log operacional:

AzureDiagnostics:

Example:
{
   "ActivityId": "00000000-0000-0000-0000-00000000000000",
   "EventName": "Create EventHub",
   "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace name>",
   "SubscriptionId": "000000000-0000-0000-0000-000000000000",
   "EventTimeString": "9/28/2016 8:40:06 PM +00:00",
   "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-000000000000\",\"Namespace\":\"<Namespace Name>\",\"Via\":\"https://<Namespace Name>.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
   "Status": "Succeeded",
   "Caller": "ServiceBus Client",
   "category": "OperationalLogs"
}

Entrada de tabela específica do recurso:

Example:
{
   "ActivityId": "00000000-0000-0000-0000-00000000000000",
   "EventName": "Create EventHub",
   "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-0000000000000/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace name>",
   "SubscriptionId": "000000000-0000-0000-0000-000000000000",
   "TimeGenerated (UTC)": "9/28/2016 8:40:06 PM +00:00",
   "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-000000000000\",\"Namespace\":\"<Namespace Name>\",\"Via\":\"https://<Namespace Name>.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
   "Status": "Succeeded",
   "Caller": "ServiceBus Client",
   "Provider": "EVENTHUB",
   "Type":"AZMSOperationalLogs"
}

Nomes de eventos

O nome do evento é preenchido como tipo de operação + tipo de recurso das enumerações a seguir. Por exemplo, Create Queue, Retrieve Event Hub, ou Delete Rule.

Tipo de operação Tipo de recurso
- Criar
- Atualização
- Eliminar
- Recuperar
- Desconhecido
- Espaço de nomes
- Fila
- Tópico
- Subscrição
- Hubs de Eventos
- SharedAccessPolicy
- UsageCredit
- Regra
- Grupo de Consumidores

Esquema de logs de dimensionamento automático

O JSON de log de dimensionamento automático inclui elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSAutoscaleLogs (tabela específica do recurso)
TrackingId ID interno, que é usado para fins de rastreamento Sim Sim
ResourceId ID de recurso do Azure Resource Manager. Sim Sim
Message Mensagem informativa, que fornece detalhes sobre a ação de autoinflação. A mensagem contém o valor anterior e atual da unidade de taxa de transferência para um determinado namespace e o que disparou a inflação da TU. Sim Sim
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
Provider Nome do serviço que emite os logs, por exemplo, Hubs de Eventos Não Sim
Type Tipo de logs emitidos Não Sim

Aqui está um exemplo de evento de escala automática:

AzureDiagnostics:

{
    "TrackingId": "fb1b3676-bb2d-4b17-85b7-be1c7aa1967e",
    "Message": "Scaled-up EventHub TUs (UpdateStartTimeUTC: 5/13/2021 7:48:36 AM, PreviousValue: 1, UpdatedThroughputUnitValue: 2, AutoScaleReason: 'IncomingMessagesPerSecond reached 2170')",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name"
}

Entrada de tabela específica do recurso:

{
    "TrackingId": "fb1b3676-bb2d-4b17-85b7-be1c7aa1967e",
    "Message": "Scaled-up EventHub TUs (UpdateStartTimeUTC: 5/13/2021 7:48:36 AM, PreviousValue: 1, UpdatedThroughputUnitValue: 2, AutoScaleReason: 'IncomingMessagesPerSecond reached 2170')",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
    "timeGenerated (UTC) : "9/28/2022 8:40:06 PM +00:00",
    "Provider" : "EVENTHUB",
    "Type" : "AZMSAutoscaleLogs"
}

Esquema de logs do coordenador Kafka

O JSON de log do coordenador Kafka inclui elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSKafkaCoordinatorLogs (tabela específica do recurso)
RequestId ID de solicitação, que é usado para fins de rastreamento Sim Sim
ResourceId Azure Resource Manager resource ID Sim Sim
Operation Nome da operação realizada durante a coordenação do grupo Sim Sim
ClientId ID de Cliente Sim Sim
NamespaceName Nome do espaço de nomes Sim Sim
SubscriptionId Id de subscrição do Azure Sim Sim
Message Mensagem informativa ou de aviso, que fornece detalhes sobre as ações realizadas durante a coordenação do grupo. Sim Sim
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
Provider Nome do serviço que emite os logs, por exemplo, ServiceBus Não Sim
Type Tipo de log emitido Não Sim

Exemplo

AzureDiagnostics:

{
    "RequestId": "FE01001A89E30B020000000304620E2A_KafkaExampleConsumer#0",
    "Operation": "Join.Start",
    "ClientId": "KafkaExampleConsumer#0",
    "Message": "Start join group for new member namespace-name:c:$default:I:KafkaExampleConsumer#0-cc40856f7f3c4607915a571efe994e82, current group size: 0, API version: 2, session timeout: 10000ms, rebalance timeout: 300000ms.",
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
    "Category": "KafkaCoordinatorLogs"
}

Entrada de tabela específica do recurso:

{
    "RequestId": "FE01001A89E30B020000000304620E2A_KafkaExampleConsumer#0",
    "Operation": "Join.Start",
    "ClientId": "KafkaExampleConsumer#0",
    "Message": "Start join group for new member namespace-name:c:$default:I:KafkaExampleConsumer#0-cc40856f7f3c4607915a571efe994e82, current group size: 0, API version: 2, session timeout: 10000ms, rebalance timeout: 300000ms.",
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
    "Time Generated (UTC) ": "9/28/2022 8:40:06 PM +00:00", 
    "Provider" : "EVENTHUB",
    "Type" : "AZMSKafkaCoordinatorLogs"
}

Esquema de logs de erro do usuário Kafka

O JSON do log de erros do usuário Kafka inclui elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSKafkaUserErrorLogs (tabela específica do recurso)
TrackingId ID de rastreamento, que é usado para fins de rastreamento. Sim Sim
NamespaceName Nome do espaço de nomes Sim Sim
Eventhub Nome do hub de eventos Sim Sim
PartitionId ID da Partição Sim Sim
GroupId ID do Grupo Sim Sim
ClientId ID de Cliente Sim Sim
ResourceId ID de recurso do Azure Resource Manager. Sim Sim
Message Mensagem informativa, que fornece detalhes sobre um erro Sim Sim
TimeGenerated (UTC) Carimbo de data/hora para operação executada Não Sim
Provider Nome do serviço que emite os logs, por exemplo, Hubs de Eventos Não Sim
Type Tipo de log emitido Não Sim

Esquema de eventos de conexão de rede virtual de Hubs de Eventos

O evento JSON de conexão de rede virtual (rede virtual) dos Hubs de Eventos inclui elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSVNetConnectionevents (tabela específica do recurso)
SubscriptionId Id de subscrição do Azure Sim Sim
NamespaceName Nome do espaço de nomes Sim Sim
IPAddress Endereço IP de um cliente que se conecta ao serviço Hubs de Eventos Sim Sim
Action Ação realizada pelo serviço Hubs de Eventos ao avaliar solicitações de conexão. As ações suportadas são Aceitar Conexão e Negar Conexão. Sim Sim
Reason Fornece uma razão pela qual a ação foi feita Sim No
Message Fornece uma razão pela qual a ação foi feita Não Sim
Count Número de ocorrências para a ação em questão Sim Sim
ResourceId ID de recurso do Azure Resource Manager. Sim Sim
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
Provider Nome do serviço que emite os logs, por exemplo, ServiceBus Não Sim
Type AZMSVNetConnectionevents Não Sim

Os logs de rede virtual são gerados somente se o namespace permitir acesso de redes selecionadas ou de endereços IP específicos (regras de filtro IP). Se você não quiser restringir o acesso ao seu namespace usando esses recursos e ainda quiser obter logs de rede virtual para rastrear endereços IP de clientes que se conectam ao namespace Hubs de Eventos, você pode usar a seguinte solução alternativa. Habilite a filtragem de IP e adicione o intervalo IPv4 endereçável total (0.0.0.0/1 - 128.0.0.0/1) e o intervalo IPv6 (::/1 - 8000::/1). A filtragem IP dos Hubs de Eventos não suporta intervalos IPv6. Você pode ver endereços de ponto de extremidade privados no formato IPv6 no log.

Exemplo

AzureDiagnostics:

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "IPAddress": "1.2.3.4",
    "Action": "Deny Connection",
    "Reason": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
    "Count": "65",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
    "Category": "EventHubVNetConnectionEvent"
}

Entrada de tabela específica do recurso:

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "IPAddress": "1.2.3.4",
    "Action": "Deny Connection",
    "Message": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
    "Count": "65",
    "ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
    "Provider": "EVENTHUB",
    "Time Generated (UTC) ": "9/28/2022 8:40:06 PM +00:00",
    "Type" : "AZMSKafkauserErrorlogs"
     
}

Esquema de logs de usuário chave gerenciados pelo cliente

O JSON de log de usuário de chave gerenciado pelo cliente inclui elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSCustomerManagedKeyUserLogs (tabela específica de recursos)
Category Tipo de categoria para uma mensagem. É um dos seguintes valores: erro e informação. Por exemplo, se a chave do seu cofre de chaves estiver sendo desativada, ela será uma categoria de informações ou se uma chave não puder ser desempacotada, ela poderá cair em erro. Sim Sim
ResourceId ID de recurso interno, que inclui a ID de assinatura do Azure e o nome do namespace Sim Sim
KeyVault Nome do recurso Cofre da Chave Sim Sim
Key Nome da chave do Cofre da Chave usada para criptografar o namespace Hubs de Eventos. Sim Sim
Version Versão da chave do Cofre da Chave. Sim Sim
Operation A operação executada na chave do cofre de chaves. Por exemplo, desative/ative a chave, encapsular ou desembrulhar. Sim Sim
Code O código associado à operação. Exemplo: Código de erro, 404 significa que a chave não foi encontrada. Sim Sim
Message Mensagem, que fornece detalhes sobre uma mensagem de erro ou informativa Sim Sim
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
Provider Nome do serviço que emite os logs, por exemplo, ServiceBus Não Sim
Type Tipo de log emitido Não Sim

Aqui está um exemplo do log de uma chave gerenciada pelo cliente:

AzureDiagnostics:

{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111-1111-1111-1111-111111111111",
   "category": "error"
   "resourceId": "/SUBSCRIPTIONS/11111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "1111111111111111111111111111111",
   "operation": "wrapKey",
   "code": "404",
   "message": "Key not found: ehbyok0/111111111111111111111111111111"
}
{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111111111-1111-1111-1111111111111",
   "category": "info"
   "resourceId": "/SUBSCRIPTIONS/111111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "111111111111111111111111111111",
   "operation": "disable | restore",
   "code": "",
   "message": ""
}

Entrada de tabela específica do recurso:

{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111-1111-1111-1111-111111111111",
   "category": "error"
   "resourceId": "/SUBSCRIPTIONS/11111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "1111111111111111111111111111111",
   "operation": "wrapKey",
   "code": "404",
   "message": "Key not found: ehbyok0/111111111111111111111111111111",
   "Provider": "EVENTHUB",
   "Time Generated (UTC) ": "9/28/2022 8:40:06 PM +00:00",
   "Type" : "AZMSCustomerManagedKeyUserLogs"
}
{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111111111-1111-1111-1111111111111",
   "category": "info"
   "resourceId": "/SUBSCRIPTIONS/111111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "111111111111111111111111111111",
   "operation": "disable | restore",
   "code": "",
   "message": "",
   "Provider": "EVENTHUB",
   "Time Generated (UTC) ": "9/28/2022 8:40:06 PM +00:00",
   "Type" : "AZMSCustomerManagedKeyUserLogs"
  
}

A seguir estão os códigos de erros comuns a serem procurados quando a criptografia BYOK está ativada.

Ação Código de erro Estado resultante dos dados
Remover a permissão de encapsular/desembrulhar de um cofre de chaves 403 Inacessível
Remover a associação à função ID do Microsoft Entra de uma entidade de segurança do Microsoft Entra que concedeu a permissão wrap/unwrap 403 Inacessível
Excluir uma chave de criptografia do cofre de chaves 404 Inacessível
Excluir o cofre de chaves 404 Inacessível (pressupõe que a exclusão suave está habilitada, o que é uma configuração necessária.)
Alterar o período de expiração na chave de encriptação de forma a que já tenha expirado 403 Inacessível
Alterar o NBF (não antes) de modo que a chave de criptografia de chave não esteja ativa 403 Inacessível
Selecionar a opção Permitir Serviços MSFT para o firewall do cofre de chaves ou bloquear o acesso da rede ao cofre de chaves que tem a chave de criptografia 403 Inacessível
Mover o cofre de chaves para um inquilino diferente 404 Inacessível
Problema intermitente de rede ou interrupção DNS/AAD/MSI Acessível usando a chave de criptografia de dados em cache

Logs de auditoria de tempo de execução

Os logs de auditoria de tempo de execução capturam informações de diagnóstico agregadas para todas as operações de acesso ao plano de dados (como enviar ou receber eventos) em Hubs de Eventos.

Nota

Os logs de auditoria de tempo de execução estão disponíveis apenas em camadas premium e dedicada .

Os logs de auditoria de tempo de execução incluem os elementos listados na tabela a seguir:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado na tabela Resource Specific
ActivityId Um UUID gerado aleatoriamente que garante exclusividade para a atividade de auditoria. Sim Sim
ActivityName Nome da operação de tempo de execução. Sim Sim
ResourceId Recurso associado à atividade. Sim Sim
Timestamp Tempo de agregação. Sim No
TimeGenerated [UTC] Hora da operação executada (em UTC) Não Sim
Status Estado da atividade (sucesso ou insucesso). Sim Sim
Protocol Tipo de protocolo associado à operação. Sim Sim
AuthType Tipo de autenticação (Azure Ative Directory ou Política SAS). Sim Sim
AuthKey ID do aplicativo Azure Ative Directory ou nome da política SAS usado para autenticar um recurso. Sim Sim
NetworkType Tipo de acesso à rede: Public ou Private. Sim Sim
ClientIP Endereço IP do aplicativo cliente. Sim Sim
Count Número total de operações realizadas durante o período agregado de 1 minuto. Sim Sim
Properties Metadados específicos da operação do plano de dados. Sim Sim
Category Categoria do registo Sim Não
Provider Nome do serviço que emite os logs, por exemplo, Eventhub Não Sim
Type Tipo de logs emitidos Não Sim

Aqui está um exemplo de uma entrada de log de auditoria de tempo de execução:

AzureDiagnostics :

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace>/eventhubs/<event hub name>",
    "Time": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | KAFKA | HTTP | Web Sockets", 
    "AuthType": "SAS | Azure Active Directory", 
    "AuthId": "<AAD application name | SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1,
    "Category": "RuntimeAuditLogs"
 }

Entrada de tabela específica do recurso:

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event Hubs namespace>/eventhubs/<event hub name>",
    "TimeGenerated (UTC)": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | KAFKA | HTTP | Web Sockets", 
    "AuthType": "SAS | Azure Active Directory", 
    "AuthId": "<AAD application name | SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1,
    "Type": "AZMSRuntimeAUditLogs",
    "Provider":"EVENTHUB"
 }

Logs de métricas de aplicativos

Os logs de métricas de aplicativos capturam as informações agregadas em determinadas métricas relacionadas às operações do plano de dados. As informações capturadas incluem as seguintes métricas de tempo de execução.

Nota

Os logs de métricas de aplicativos estão disponíveis apenas em níveis premium e dedicado .

Nome Descrição
ConsumerLag Indique o desfasamento entre consumidores e produtores.
NamespaceActiveConnections Detalhes das conexões ativas estabelecidas de um cliente para o hub de eventos.
GetRuntimeInfo Obtenha informações de tempo de execução dos Hubs de Eventos.
GetPartitionRuntimeInfo Obtenha as informações de tempo de execução aproximadas para uma partição lógica de um hub de eventos.
IncomingMessages Detalhes do número de mensagens publicadas nos Hubs de Eventos.
IncomingBytes Detalhes da taxa de transferência do Publisher enviada aos Hubs de Eventos
OutgoinMessages Detalhes do número de mensagens consumidas dos Hubs de Eventos.
OutgoingBytes Detalhes da taxa de transferência do consumidor dos Hubs de Eventos.
OffsetCommit Número de chamadas de confirmação de deslocamento feitas para o hub de eventos
OffsetFetch Número de chamadas de busca de deslocamento feitas para o hub de eventos.

Logs de erros de diagnóstico

Os logs de erro de diagnóstico capturam mensagens de erro para qualquer lado do cliente, limitação e erros de cota excedida. Eles fornecem diagnósticos detalhados para a identificação de erros.

Os Logs de Erros de Diagnóstico incluem elementos listados na tabela abaixo:

Nome Descrição Com suporte no Diagnóstico do Azure Suportado em AZMSDiagnosticErrorLogs (tabela específica do recurso)
ActivityId Um UUID gerado aleatoriamente que garante exclusividade para a atividade de auditoria. Sim Sim
ActivityName Nome da operação Sim Sim
NamespaceName Nome do namespace Sim sim
EntityType Tipo de Entidade Sim Sim
EntityName Nome da entidade Sim Sim
OperationResult Tipo de erro na operação (Clienterror ou Serverbusy ou quotaexceeded) Sim Sim
ErrorCount Contagem de erros idênticos durante o período de agregação de 1 minuto. Sim Sim
ErrorMessage Mensagem de erro detalhada Sim Sim
ResourceProvider Nome do Serviço que emite os logs. Valores possíveis: Microsoft.Eventhub e Microsoft.Servicebus Sim Sim
Time Generated (UTC) Tempo de operação Não Sim
EventTimestamp Tempo de Operação Sim No
Category Categoria do registo Sim No
Type Tipo de Logs emitidos Não Sim

Aqui está um exemplo de entrada de log de erro de diagnóstico:

{
    "ActivityId": "0000000000-0000-0000-0000-00000000000000",
    "SubscriptionId": "<Azure Subscription Id",
    "NamespaceName": "Name of Event Hubs Namespace",
    "EntityType": "EventHub",
    "EntityName": "Name of Event Hub",
    "ActivityName": "SendMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event hub namespace name>",,
    "OperationResult": "ServerBusy",
    "ErrorCount": 1,
    "EventTimestamp": "3/27/2024 1:02:29.126 PM +00:00",
    "ErrorMessage": "the request was terminated because the entity is being throttled by the application group with application group name <application group name> and policy name <throttling policy name>.error code: 50013.",
    "category": "DiagnosticErrorLogs"
 }

Entrada de tabela específica do recurso:

{
    "ActivityId": "0000000000-0000-0000-0000-00000000000000",
    "NamespaceName": "Name of Event Hubs Namespace",
    "EntityType": "Event Hub",
    "EntityName": "Name of Event Hub",
    "ActivityName": "SendMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Event hub namespace name>",,
    "OperationResult": "ServerBusy",
    "ErrorCount": 1,
    "TimeGenerated [UTC]": "1/27/2024 4:02:29.126 PM +00:00",
    "ErrorMessage": "The request was terminated because the entity is being throttled by the application group with application group name <application group name> and policy name <throttling policy name>.error code: 50013.",
    "Type": "AZMSDiagnosticErrorLogs"
 }

Tabelas de Logs do Azure Monitor

Os Hubs de Eventos do Azure usam tabelas Kusto dos Logs do Azure Monitor. Você pode consultar essas tabelas com o Log Analytics. Para obter uma lista de tabelas Kusto que o serviço usa, consulte Referência da tabela Azure Monitor Logs.

Você pode visualizar nossas consultas de exemplo para começar com diferentes categorias de log.

Importante

As dimensões não são exportadas para um espaço de trabalho do Log Analytics.

Próximos passos