Habilitar logs de diagnóstico para recursos da Grade de Eventos

Este artigo fornece instruções passo a passo a fim de habilitar as configurações de diagnóstico para recursos da Grade de Eventos. Essas configurações permitem capturar e exibir informações de diagnóstico para que você possa solucionar problemas relativos a falhas. A tabela a seguir mostra as configurações disponíveis para diferentes tipos de recursos da Grade de Eventos: tópicos personalizados, tópicos do sistema e domínios.

Configuração de diagnóstico Tópicos da Grade de Eventos Tópicos do sistema da Grade de Eventos Domínios de eventos Namespaces do parceiro da Grade de Eventos
DeliveryFailures Sim Sim Sim Não
PublishFailures Sim Não Sim Sim
DataPlaneRequests Sim Não Sim Sim

Importante

Confira Logs de diagnóstico para obter esquemas de falhas na entrega, falhas na publicação e solicitações de plano de dados.

Pré-requisitos

  • Um recurso da Grade de Eventos provisionado
  • Um destino provisionado para capturar logs de diagnóstico:
    • Espaço de trabalho do Log Analytics
    • Conta de armazenamento
    • Hubs de Eventos
    • Solução de parceiro

Habilitar logs de diagnóstico para tópicos e domínios da Grade de Eventos

Observação

O procedimento a seguir fornece instruções passo a passo a fim de habilitar os logs de diagnóstico para um tópico. As etapas para habilitar os logs de diagnóstico para um domínio são muito semelhantes. Na etapa 2, navegue até o domínio da Grade de Eventos no portal do Azure.

  1. Entre no portal do Azure.

  2. Navegue até o tópico da Grade de Eventos para o qual você deseja habilitar as configurações do log de diagnóstico.

    1. Na barra de pesquisa na parte superior, procure tópicos da Grade de Eventos.

      Screenshot that shows the Azure portal with Event Grid topics in the search box.

    2. Selecione o tópico da lista para o qual você deseja definir as configurações de diagnóstico.

  3. Selecione Configurações de diagnóstico em Monitoramento no menu da esquerda.

  4. Na página Configurações de diagnóstico, selecione Adicionar uma nova configuração de diagnóstico.

    Screenshots showing the Diagnostic settings page of a custom topic.

  5. Especifique um nome para a configuração de diagnóstico.

  6. Selecione a opção allLogs na seção Logs.

    Screenshot that shows the Diagnostic setting page with All logs selected.

  7. Habilite um ou mais dos destinos de captura para os logs e configure-os selecionando um recurso de captura criado anteriormente.

    • Se você selecionar Enviar para Log Analytics, selecione o workspace do Log Analytics.

      Screenshot that shows the Diagnostic settings page with Send to Log Analytics selected.

    • Se você selecionar Arquivar em uma conta de armazenamento, selecione Conta de armazenamento – Configurar e selecione a conta de armazenamento em sua assinatura do Azure.

      Screenshot that shows the Diagnostic settings page with Archive to an Azure storage account checked and a storage account selected.

    • Se você selecionar Transmitir para um hub de eventos, selecione Hub de eventos – Configurar e selecione o namespace do Hubs de Eventos, o hub de eventos e a política de acesso.

      Screenshot that shows the

  8. Selecione Salvar. Em seguida, selecione X no canto direito para fechar a página.

  9. Agora, novamente na página Configurações de diagnóstico, confirme se você vê uma nova entrada na tabela Configurações de diagnóstico.

    Screenshot that shows the

Você também pode habilitar a coleta de todas as métricas para o tópico.

Habilitar logs de diagnóstico para tópicos do sistema da Grade de Eventos

  1. Entre no portal do Azure.
  2. Navegue até o tópico do sistema para o qual você deseja habilitar as configurações do log de diagnóstico.
    1. Na barra de pesquisa na parte superior, procure tópicos do sistema de Grade de Eventos. Search for system topics
    2. Selecione o tópico do sistema para o qual você deseja definir as configurações de diagnóstico. Select system topic
  3. Selecione Configurações de diagnóstico em Monitoramento no painel esquerdo e selecione Adicionar configuração de diagnóstico. Add diagnostic settings - button
  4. Especifique um nome para a configuração de diagnóstico.
  5. Selecione a opção allLogs na seção Logs. Select delivery failures
  6. Habilite um ou mais dos destinos de captura para os logs e configure-os selecionando um recurso de captura criado anteriormente.
    • Se você selecionar Enviar para Log Analytics, selecione o workspace do Log Analytics. Send to Log Analytics
    • Se você selecionar Arquivar em uma conta de armazenamento, selecione Conta de armazenamento – Configurar e selecione a conta de armazenamento em sua assinatura do Azure. Archive to an Azure storage account
    • Se você selecionar Transmitir para um Hub de Eventos, selecione Hub de Eventos – Configurar e selecione o namespace do Hubs de Eventos, o hub de eventos e a política de acesso. Stream to an event hub
  7. Selecione Salvar. Em seguida, selecione X no canto direito para fechar a página.
  8. Agora, novamente na página Configurações de diagnóstico, confirme se você vê uma nova entrada na tabela Configurações de diagnóstico. Diagnostic setting in the list

Você também pode habilitar a coleta de todas as métricas para o tópico do sistema. System topic - enable all metrics

Exibir logs de diagnóstico no Armazenamento do Azure

  1. Depois de habilitar uma conta de armazenamento como destino de captura, a Grade de Eventos começará a emitir logs de diagnóstico. Você deve ver novos contêineres chamados insights-logs-deliveryfailures e insights-logs-publishfailures na conta de armazenamento.

    Storage - containers for diagnostic logs

  2. Ao navegar por um dos contêineres, você terminará em um blob no formato JSON. O arquivo contém entradas de log para uma falha de entrega ou uma falha de publicação. O caminho de navegação representa a ResourceId do tópico da Grade de Eventos e o carimbo de data/hora (nível de minuto) de quando as entradas de log foram emitidas. O arquivo blob/JSON, que pode ser baixado, no final, adere ao esquema descrito na próxima seção.

    JSON file in the storage

  3. Você verá o conteúdo no arquivo JSON semelhante ao seguinte exemplo:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCTIPTION-ID /RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME ",
        "eventSubscriptionName": "SAMPLEDESTINATION",
        "category": "DeliveryFailures",
        "operationName": "Deliver",
        "message": "Message:outcome=NotFound, latencyInMs=2635, id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, systemId=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, state=FilteredFailingDelivery, deliveryTime=11/1/2019 12:17:10 AM, deliveryCount=0, probationCount=0, deliverySchema=EventGridEvent, eventSubscriptionDeliverySchema=EventGridEvent, fields=InputEvent, EventSubscriptionId, DeliveryTime, State, Id, DeliverySchema, LastDeliveryAttemptTime, SystemId, fieldCount=, requestExpiration=1/1/0001 12:00:00 AM, delivered=False publishTime=11/1/2019 12:17:10 AM, eventTime=11/1/2019 12:17:09 AM, eventType=Type, deliveryTime=11/1/2019 12:17:10 AM, filteringState=FilteredWithRpc, inputSchema=EventGridEvent, publisher=DIAGNOSTICLOGSTEST-EASTUS.EASTUS-1.EVENTGRID.AZURE.NET, size=363, fields=Id, PublishTime, SerializedBody, EventType, Topic, Subject, FilteringHashCode, SystemId, Publisher, FilteringTopic, TopicCategory, DataVersion, MetadataVersion, InputSchema, EventTime, fieldCount=15, url=sb://diagnosticlogstesting-eastus.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://diagnosticlogstesting-eastus.servicebus.windows.net/eh-diagnosticlogstest' could not be found. TrackingId:c98c5af6-11f0-400b-8f56-c605662fb849_G14, SystemTracker:diagnosticlogstesting-eastus.servicebus.windows.net:eh-diagnosticlogstest, Timestamp:2019-11-01T00:17:13, referenceId: ac141738a9a54451b12b4cc31a10dedc_G14:"
    }
    

Usar o modelo do Azure Resource Manager

Veja um exemplo de modelo do Azure Resource Manager para habilitar as configurações de diagnóstico para um tópico da Grade de Eventos. Quando você implanta esse exemplo de modelo, os recursos a seguir são criados.

  • Um tópico da Grade de Eventos
  • Um workspace do Log Analytics

Em seguida, ele cria uma configuração de diagnóstico no tópico para enviar informações de diagnóstico para o workspace do Log Analytics.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "topic_name": {
            "defaultValue": "spegrid0917topic",
            "type": "String"
        },
        "log_analytics_workspace_name": {
            "defaultValue": "splogaw0625",
            "type": "String"
        },
        "location": {
            "defaultValue": "eastus",
            "type": "String"
        },
        "sku": {
            "defaultValue": "Free",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventGrid/topics",
            "apiVersion": "2020-10-15-preview",
            "name": "[parameters('topic_name')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "Basic"
            },
            "kind": "Azure",
            "identity": {
                "type": "None"
            },
            "properties": {
                "inputSchema": "EventGridSchema",
                "publicNetworkAccess": "Enabled"
            }
        },
        {
            "apiVersion": "2017-03-15-preview",
            "name": "[parameters('log_analytics_workspace_name')]",
            "location": "[parameters('location')]",
            "type": "Microsoft.OperationalInsights/workspaces",
            "properties": {
                "sku": {
                    "name": "[parameters('sku')]"
                }
            }
        },
        {
            "type": "Microsoft.EventGrid/topics/providers/diagnosticSettings",
            "apiVersion": "2017-05-01-preview",
            "name": "[concat(parameters('topic_name'), '/', 'Microsoft.Insights/', parameters('log_analytics_workspace_name'))]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[resourceId('Microsoft.EventGrid/topics', parameters('topic_name'))]",
                "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]"
            ],
            "properties": {
                "workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]",
                "metrics": [
                    {
                        "category": "AllMetrics",
                        "enabled": true
                    }
                ],
                "logs": [
                    {
                        "category": "DeliveryFailures",
                        "enabled": true
                    },
                    {
                        "category": "PublishFailures",
                        "enabled": true
                    }
                ]
            }
        }
    ]
}

Habilitar logs de diagnóstico para rastreamentos de auditoria

A Grade de Eventos pode publicar rastreamentos de auditoria para operações do plano de dados. Para habilitar o recurso, selecione auditoria na seção Grupos de categoria ou selecione DataPlaneRequests na seção Categorias.

O rastreamento de auditoria pode ser usado para garantir que o acesso a dados seja permitido somente para fins autorizados. Ele coleta informações sobre o controle de segurança, como nome do recurso, tipo de operação, acesso à rede, nível, região e muito mais. Para saber mais sobre como habilitar a configuração de diagnóstico, confira Logs de diagnóstico em tópicos da Grade de Eventos e domínios de Eventos. Screenshot that shows the Diagnostic settings page with Audit selected.

Importante

Para saber mais sobre o esquema DataPlaneRequests, confira Logs de diagnóstico.

Próximas etapas

Confira o esquema de log e outras informações conceituais sobre os logs de diagnóstico para tópicos ou domínios em Logs de diagnóstico.