Compartilhar via


Monitoramento de referência de dados dos Hubs de Eventos do Azure

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

Observação

O Azure Monitor não inclui dimensões nos dados de métrica exportados enviados a um destino (como Armazenamento do Azure, Hubs de Eventos do Azure, Log Analytics etc).

Métricas

Esta seção lista todas as métricas da plataforma coletadas automaticamente dos 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 gerenciamento de dados e de operações.

Nome da métrica Exportável por meio das configurações de diagnóstico Unidade Tipo de agregação Descrição Dimensões
Solicitações de entrada Sim Contagem Contagem O número de solicitações feitas ao serviço de Hubs de Eventos durante um período específico. Essa métrica inclui todas as operações de plano de gerenciamento e dados. Nome da entidade
Solicitações bem sucedidas Não Contagem Contagem O número de solicitações bem sucedidas feitas ao serviço de Hubs de Eventos durante um período específico. Nome da entidade

Resultado da Operação
Solicitações Limitadas Não Contagem Contagem O número de solicitações que foram restringidas 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 os erros 400).
  2. Erros que ocorrem ao processar mensagens.

Métricas de mensagens

Nome da métrica Exportável por meio das configurações de diagnóstico Unidade Tipo de agregação Descrição Dimensões
Mensagens de entrada Sim Contagem Contagem O número de eventos ou mensagens enviadas para os Hubs de Eventos durante um período específico. Nome da entidade
Mensagens de saída Sim Contagem Contagem O número de eventos ou mensagens recebidas dos Hubs de Eventos durante um período específico. Nome da entidade
Mensagens capturadas Não Contagem Contagem O número de mensagens capturadas. Nome da entidade
Bytes de Entrada Yes Bytes Contagem Bytes de entrada para um hub de eventos em um período especificado. Nome da entidade
Bytes de saída Yes Bytes Contagem Bytes de saída para um hub de eventos em um período especificado. Nome da entidade
Tamanho Não Bytes Média Tamanho de um hub de eventos em bytes. Nome da entidade

Observação

  • Esses valores são valores de ponto no tempo. As mensagens de entrada consumidas imediatamente após esse ponto podem não estar refletidas nas métricas.
  • A métrica de solicitações de entrada inclui todas as operações de plano de gerenciamento e dados. 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.

Capturar métricas

Nome da métrica Exportável por meio das configurações de diagnóstico Unidade Tipo de agregação Descrição Dimensões
Mensagens capturadas Não Contagem Contagem O número de mensagens capturadas. Nome da entidade
Bytes capturados Não Bytes Contagem Bytes capturados para hubs de eventos Nome da entidade
Lista de pendências de captura Não Contagem Contagem Captura lista de pendências para hubs de eventos Nome da entidade

Métricas de conexão

Nome da métrica Exportável por meio das configurações de diagnóstico Unidade Tipo de agregação Descrição Dimensões
Conexões ativas Não Contagem Média O número de conexões ativas em um namespace, bem como em uma entidade (hub de eventos) no namespace. O valor dessa métrica é um valor pontual. As conexões que estavam ativas imediatamente após esse ponto podem não ser refletidas na métrica. Nome da entidade
Conexões Abertas Não Contagem Média O número de conexões abertas. Nome da entidade
Conexões Fechadas Não Contagem Média O número de conexões fechadas. Nome da entidade

Métricas de erro

Nome da métrica Exportável por meio das configurações de diagnóstico Unidade Tipo de agregação Descrição Dimensões
Erros do Servidor Não Contagem Contagem O número de solicitações não processadas devido a um erro no serviço de Hubs de Eventos durante um período específico. Nome da entidade

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

Resultado da Operação
Cota de Erros Excedida Não Contagem Contagem O número de erros causados por exceder cotas em um período especificado. Nome da entidade

Resultado da Operação

Observação

Os Aplicativos Lógicos criam receptores de época, e os receptores podem ser movidos de um nó para outro dependendo da carga do serviço. Durante essas movimentações, exceções ReceiverDisconnection podem. Elas são contadas como erros do usuário no lado do serviço dos Hubs de Eventos. Os Aplicativos Lógicos podem coletar falhas de clientes dos Hubs de Eventos para que você possa vê-las nos logs do usuário.

Dimensões de métrica

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

Nome da dimensão Descrição
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 eventos. Representa as solicitações feitas no nível do namespace. Os exemplos incluem um pedido para listar todos os centros de eventos no espaço de nomes ou pedidos a entidades que falharam na autenticação ou autorização.

Logs de recursos

Os Hubs de Eventos do Azure agora têm a capacidade de expedir logs para qualquer uma das duas tabelas de destino: tabelas específicas ao Diagnósticos do Azure ou ao Resource no Log Analytics. Você poderia usar o botão de alternância disponível no portal do Azure para escolher as tabelas de destino.

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

Os Hubs de Eventos capturam os logs de diagnóstico das seguintes categorias:

Categoria Descrição
Logs de arquivo Captura informações sobre operações de Captura de Hubs de Eventos, especificamente, logs relacionados a erros de captura.
Logs operacionais Captura todas as operações de gerenciamento executadas no namespace dos Hubs de Eventos do Azure. Operações de dados não são capturadas devido ao alto volume de operações de dados que são realizadas nos Hubs de Eventos do Azure.
Logs de dimensionamento automático Captura operações de autoinflar feitas em um namespace de Hubs de Eventos.
Logs do coordenador de Kafka Captura operações de coordenador de Kafka relacionadas aos Hubs de Eventos.
Logs de erros do usuário do Kafka Captura informações sobre APIs do 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 enviando tráfego para os Hubs de Eventos.
Logs de usuário de chave gerenciada pelo cliente Captura operações relacionadas à chave gerenciada pelo cliente.
Logs de auditoria de runtime Capturam informações de diagnóstico agregadas de todas as operações de acesso do plano de dados (como enviar ou receber eventos) em Hubs de Eventos.
Logs de Métrica do Aplicativo Capturam as informações agregadas em determinadas métricas relacionadas às operações de 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 dos logs de arquivo morto

As cadeias de caracteres JSON do log de arquivo morto incluem os elementos listados na seguinte tabela:

Nome Descrição Com suporte no Diagnóstico do Azure Com suporte no AZMSArchiveLogs (tabela específica do recurso)
TaskName Descrição da tarefa que falhou Sim Yes
ActivityId ID interna, usada para acompanhamento Sim Yes
trackingId ID interna, usada para acompanhamento Sim Yes
resourceId ID de recurso do Azure Resource Manager sim Yes
eventHub Nome completo do hub de eventos (inclui o nome do namespace) Sim Não
EventhubName Nome da entidade do hub de eventos Não Sim
partitionId Partição do hub de eventos sendo gravada Sim Yes
archiveStep valores possíveis: ArchiveFlushWriter, DestinationInit Sim Yes
startTime Hora de início de falha Sim Não
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
failures Número de vezes que a falha ocorreu Sim Yes
durationInSeconds Duração de falha Sim Yes
message Mensagem de erro Sim Yes
category Categoria do Log Sim Não
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 do log de arquivo morto:

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 ao 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 os elementos listados na seguinte tabela:

Nome Descrição Com suporte em AzureDiagnostics Com suporte em AZMSOperationalLogs (tabela específica ao recurso)
ActivityId ID interna, usada para acompanhamento Sim Yes
EventName Nome da operação. Para ver uma lista de valores para esse elemento, confira os Nomes de eventos Sim Yes
resourceId ID de recurso do Azure Resource Manager Sim Yes
SubscriptionId ID da assinatura Sim Yes
EventTimeString Tempo de operação Sim Não
Time Generated (UTC) Carimbo de data/hora da operação Não Sim
EventProperties Propriedades da operação. Esse elemento fornece mais informações sobre o evento, conforme mostrado no exemplo a seguir. Sim Yes
Status Status da operação. O valor pode ser Bem-sucedido ou Falha. Sim Yes
Caller Chamador da operação (portal do Azure ou cliente de gerenciamento) Sim Yes
Category Categoria do Log Sim Não
Provider Nome do serviço que emite os logs, por exemplo, Hubs de Eventos Não Sim
Type Tipos de log emitidos Não Sim

O código a seguir é um exemplo de uma cadeia de caracteres JSON do 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 ao 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 com base nas enumerações a seguir. Por exemplo, Create Queue, Retrieve Event Hub ou Delete Rule.

Tipo de operação Tipo de recurso
- Criar
- Atualizar
- Excluir
- Recuperar
- Desconhecido
- Namespace
- Fila
- Tópico
- Assinatura
- Hubs de Evento
- SharedAccessPolicy
- UsageCredit
- Regra
- ConsumerGroup

Esquema dos logs de dimensionamento automático

O JSON do log de dimensionamento automático incluem os elementos listados na seguinte tabela:

Nome Descrição Com suporte no Diagnóstico do Azure Com suporte no AZMSAutoscaleLogs (tabela específica do recurso)
TrackingId ID interna, que é usada para fins de rastreamento Sim Yes
ResourceId ID do Recurso do Azure Resource Manager. Sim Yes
Message Mensagem informativa, que fornece detalhes sobre a ação de inflar automaticamente. A mensagem contém o valor anterior e o atual da unidade de taxa de transferência para um namespace específico e o que disparou a inflação da TU. Sim Yes
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 Tipos de log emitidos Não Sim

Veja um exemplo de evento de dimensionamento automático:

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 ao 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 de Kafka

O JSON do log do coordenador de Kafka inclui os elementos listados na seguinte tabela:

Nome Descrição Com suporte no Diagnóstico do Azure Com suporte no AZMSKafkaCoordinatorLogs (tabela específica do recurso)
RequestId ID de solicitação, que é usada para fins de rastreamento Sim Yes
ResourceId ID de recurso do Azure Resource Manager Sim Yes
Operation Nome da operação realizada durante a coordenação do grupo Sim Yes
ClientId ID do Cliente Sim Yes
NamespaceName Nome do namespace Sim Yes
SubscriptionId ID de assinatura do Azure Sim Yes
Message Mensagem informativa ou de aviso, que fornece detalhes sobre as ações feitas durante a coordenação do grupo. Sim Yes
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 ao 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 erros do usuário do Kafka

O JSON do log de erro do usuário do Kafka inclui os elementos listados na seguinte tabela:

Nome Descrição Com suporte no Diagnóstico do Azure Com suporte no AZMSKafkaUserErrorLogs (tabela específica do recurso)
TrackingId ID de rastreamento, que é usada para fins de rastreamento. Sim Yes
NamespaceName Nome do namespace Sim Yes
Eventhub Nome do Hub de Eventos Sim Yes
PartitionId ID da Partição Sim Yes
GroupId ID do grupo Sim Yes
ClientId ID do Cliente Sim Yes
ResourceId ID do Recurso do Azure Resource Manager. Sim Yes
Message Mensagem informativa, que fornece detalhes sobre um erro Sim Yes
TimeGenerated (UTC) Carimbo de data/hora para a 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 evento de conexão de rede virtual de Hubs de Eventos

O evento de conexão JSON 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 Com suporte no AZMSVnetConnectionEvents (tabela específica ao recurso)
SubscriptionId ID de assinatura do Azure Sim Yes
NamespaceName Nome do namespace Sim Yes
IPAddress Endereço IP de um cliente que se conecta ao serviço de Hubs de Eventos Sim Yes
Action Ação feita pelo serviço de Hubs de Eventos ao avaliar solicitações de conexão. As ações com suporte são Aceitar conexão e Negar conexão. Sim Yes
Reason Fornece um motivo pelo qual a ação foi feita Sim Não
Message Fornece um motivo pelo qual a ação foi feita Não Sim
Count Número de ocorrências para a ação especificada Sim Yes
ResourceId ID do Recurso do Azure Resource Manager. Sim Yes
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

Logs de rede virtual são gerados apenas quando o namespace permite o acesso de redes selecionadas ou de endereços IP específicos (regras de filtro de IP). Se não quiser restringir o acesso ao seu namespace usando esses recursos e ainda quiser obter logs de rede virtual para rastrear os endereços IP de clientes que se conectam ao namespace dos Hubs de Eventos, você pode usar a solução alternativa a seguir. 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 de IP dos Hubs de Eventos não dá suporte a 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 ao 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 de chave gerenciada pelo cliente

O JSON do log de usuário gerenciada pelo cliente inclui os elementos listados na seguinte tabela:

Nome Descrição Com suporte no Diagnóstico do Azure Com suporte no AZMSCustomerManagedKeyUserLogs (tabela específica do recurso)
Category Tipo de categoria para uma mensagem. É um dos seguintes valores: erro e informações. Por exemplo, se a chave do cofre de chaves estiver sendo desabilitada, será uma categoria de informações ou, se uma chave não puder ser desencapsulada, poderá apresentar erro. Sim Yes
ResourceId ID de recurso interno, que inclui a ID da assinatura do Azure e o nome do namespace Sim Yes
KeyVault Nome do recurso do Key Vault Sim Yes
Key O nome da chave do Key Vault que é usada para criptografar o namespace dos Hubs de Eventos. Sim Yes
Version Versão da chave do Key Vault. Sim Yes
Operation A operação executada na chave em seu cofre de chaves. Por exemplo, desabilitar/habilitar a chave, encapsular ou cancelar quebra de linha. Sim Yes
Code O código associado à operação. Exemplo: código de erro 404 significa que a chave não foi encontrada. Sim Yes
Message Mensagem, que fornece detalhes sobre um erro ou mensagem informativa Sim Yes
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 para 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 ao 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"
  
}

Veja a seguir quais códigos de erros comuns devem ser procurados quando a criptografia BYOK está habilitada.

Ação Código do erro Estado dos dados resultante
Remover a permissão de encapsulamento/desencapsulamento de um cofre de chaves 403 Inaccessible
Remover a associação de função Microsoft Entra ID de uma entidade de segurança do Microsoft Entra que concedeu a permissão wrap/unwrap 403 Inaccessible
Excluir uma chave de criptografia do cofre de chaves 404 Inaccessible
Excluir o cofre de chaves 404 Inacessível (pressupõe que a exclusão reversível esteja habilitada, o que é uma configuração necessária.)
Alterar o período de validade na chave de criptografia de modo que já tenha expirado 403 Inaccessible
Alterar o NBF (não antes de) de modo que a chave de criptografia de chave não esteja ativa 403 Inaccessible
Selecionar a opção Permitir serviços MSFT para o firewall do cofre de chaves ou bloqueio do acesso à rede do cofre de chaves que tem a chave de criptografia 403 Inaccessible
Mover o cofre de chaves para um locatário diferente 404 Inaccessible
Problema de rede intermitente ou interrupção de DNS/AAD/MSI Acessível com uma chave de criptografia de dados em cache

Logs de auditoria de runtime

Os logs de auditoria de runtime capturam informações de diagnóstico agregadas de todas as operações de acesso do plano de dados (como enviar ou receber eventos) em Hubs de Eventos.

Observação

Os logs de auditoria de runtime estão disponíveis apenas nas camadas Premium e dedicado(a).

Os logs de auditoria de runtime incluem os elementos listados na tabela abaixo:

Name Descrição Com suporte no Diagnóstico do Azure Com suporte na tabela Específica do Recurso
ActivityId Uma UUID gerada aleatoriamente que garante a exclusividade da atividade de auditoria. Sim Yes
ActivityName Nome da operação de runtime. Sim Yes
ResourceId Recursos associados à atividade. Sim Yes
Timestamp Tempo de agregação. Sim Não
TimeGenerated [UTC] Hora da operação executada (em UTC) Não Sim
Status Status da atividade (êxito ou falha). Sim Yes
Protocol Tipo de protocolo associado à operação. Sim Yes
AuthType Tipo de autenticação (Azure Active Directory ou Política SAS). Sim Yes
AuthKey ID do aplicativo do Azure Active Directory ou nome da política SAS usado para autenticar um recurso. Sim Yes
NetworkType Tipo de acesso à rede: Public ou Private. Sim Yes
ClientIP Endereço IP do aplicativo cliente. Sim Yes
Count Número total de operações realizadas durante o período agregado de um minuto. Sim Yes
Properties Metadados específicos para a operação do plano de dados. Sim Yes
Category Categoria do log Sim Não
Provider Nome do serviço emitindo os logs, por exemplo, Eventhub Não Sim
Type Tipos de log emitidos Não Sim

Veja um exemplo de uma entrada de log de auditoria de runtime:

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 ao 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 do aplicativo

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

Observação

Os logs de métricas do aplicativo estão disponíveis apenas nas camadas premium e dedicado(a).

Nome Descrição
ConsumerLag Indique o atraso 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 executar de Hubs de Eventos.
GetPartitionRuntimeInfo Obtenha as informações aproximadas de tempo de execução 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 Publicador 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 erros de diagnóstico capturam mensagens de erro para qualquer lado do cliente, limitação e erros excedidos de cota. Eles fornecem diagnósticos detalhados para 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 Com suporte em AZMSDiagnosticErrorLogs (tabela específica do recurso)
ActivityId Uma UUID gerada aleatoriamente que garante a exclusividade da atividade de auditoria. Sim Yes
ActivityName Nome da operação Sim Yes
NamespaceName Nome do namespace Sim sim
EntityType Tipo de Entidade Sim Yes
EntityName Nome da Entidade Sim Yes
OperationResult Tipo de erro na Operação (Clienterror ou Serverbusy ou quotaexceed) Sim Yes
ErrorCount Contagem de erros idênticos durante o período de agregação de 1 minuto. Sim Yes
ErrorMessage Mensagem de erro detalhada Sim Yes
ResourceProvider Nome do Serviço que emite os logs. Valores possíveis: Microsoft.Eventhub e Microsoft.Servicebus Sim Yes
Time Generated (UTC) Tempo de operação Não Sim
EventTimestamp Hora da operação Sim Não
Category Categoria do log Sim Não
Type Tipos de Log 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 ao 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

O Hubs de Eventos do Azure usa as tabelas Kusto dos logs do Azure Monitor. Você pode consultar essas tabelas com o Log Analytics. Para ver uma lista de tabelas Kusto que o serviço usa, confira a referência de tabela dos logs do Azure Monitor.

Você pode exibir nossas consultas de exemplo para começar a usar diferentes categorias de log.

Importante

As dimensões não são exportadas para um workspace do Log Analytics.

Próximas etapas