Habilite logs de diagnóstico para recursos do Event Grid

Este artigo fornece instruções passo a passo a fim de habilitar as configurações de diagnóstico para recursos da Grade de Eventos. As configurações de diagnóstico capturam informações sobre falhas de publicação e entrega para que você possa diagnosticar e solucionar problemas com seus recursos da Grade de Eventos. 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 do Event Grid Tópicos do sistema do Event Grid Domínios de eventos Namespaces de parceiro do Event Grid
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 do Event Grid 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 do Event Grid

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. Os passos para habilitar logs de diagnóstico para um domínio são 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.

      Captura de tela que mostra o portal do Azure com tópicos da Grade de Eventos na caixa de pesquisa.

    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 configuração de diagnóstico.

    Captura de tela que mostra a página de configurações de diagnóstico de um tópico personalizado.

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

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

    Captura de tela que mostra a página de configuração de diagnóstico com Todos os logs selecionados.

  7. Ative um ou mais dos destinos de captura para os logs e então configure-os selecionando um recurso de captura previamente criado.

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

      Captura de tela que mostra a página de configurações de diagnóstico com Enviar para Log Analytics selecionado.

    • 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.

      Captura de tela que mostra a página Configurações de diagnóstico com Arquivar em uma conta de armazenamento do Azure marcada e uma conta de armazenamento selecionada.

    • 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.

      Captura de tela que mostra a página de configurações de diagnóstico com Transmitir para um hub de eventos selecionado.

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

  9. De volta à página de configurações de diagnóstico , confirme que você viu uma nova entrada na tabela de configurações de diagnóstico .

    Captura de tela que mostra a página de configurações de diagnóstico com uma nova entrada destacada na tabela de configurações de diagnóstico.

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. Vá para o tópico do sistema onde você quer ativar as configurações de log de diagnóstico.

    1. Na barra de pesquisa superior, procure por tópicos do sistema do Event Grid.

      Captura de tela que mostra o portal do Azure com tópicos do sistema Grade de Eventos na caixa de busca.

    2. Selecione o tópico do sistema onde você quer configurar as configurações de diagnóstico.

      Captura de tela que mostra a lista de tópicos do sistema Grade de Eventos.

  3. Selecione Configurações de diagnóstico em Monitoramento no painel esquerdo e selecione Adicionar configuração de diagnóstico.

    Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com o botão Adicionar configuração de diagnóstico.

  4. Digite um nome para a configuração de diagnóstico.

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

    Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com a opção Todos os logs selecionada.

  6. Ative um ou mais dos destinos de captura para os logs e então configure-os selecionando um recurso de captura previamente criado.

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

      Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com Enviar para Log Analytics selecionado.

    • 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.

      Captura de tela que mostra a página Configurações de diagnóstico de um tópico do sistema com a opção Arquivar em uma conta de armazenamento selecionada.

    • 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.

      Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com Transmitir para um hub de eventos selecionado.

  7. Selecione Salvar. Depois, selecione X no canto superior direito para fechar a página.

  8. De volta à página de configurações de diagnóstico , confirme que você viu uma nova entrada na tabela de configurações de diagnóstico .

    Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com uma nova entrada na tabela.

Você também pode ativar a coleta de todas as métricas para o tema do sistema.

Captura de tela que mostra a página de configurações de diagnóstico de um tópico do sistema com todas as métricas selecionadas.

Exibir logs de diagnóstico no Armazenamento do Azure

  1. Quando você ativa uma conta de armazenamento como destino de captura, a Grade de Eventos começa a emitir logs de diagnóstico. Você vê novos contêineres chamados insights-logs-deliveryfailures e insights-logs-publishfailures na conta de armazenamento.

    Captura de tela que mostra os contêineres da conta de armazenamento para logs de diagnóstico.

  2. Ao navegar por um dos contêineres, você encontra uma mancha em 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 o ResourceId do tópico do Event Grid e o registro de data e hora (com precisão de minuto) em que o Event Grid emitiu as entradas de log. O arquivo blob/JSON, que você pode baixar, segue o esquema descrito na próxima seção.

    Captura de tela que mostra um arquivo blob JSON na conta de armazenamento.

  3. Você vê conteúdo no arquivo JSON semelhante ao seguinte exemplo:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-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=SAMPLE-TOPIC-NAME.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://sample-namespace.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://sample-namespace.servicebus.windows.net/sample-eventhub' could not be found. TrackingId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_G14, SystemTracker:sample-namespace.servicebus.windows.net:sample-eventhub, Timestamp:2019-11-01T00:17:13, referenceId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_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 modelo de exemplo, ele cria os seguintes recursos:

  • Um tópico do Event Grid
  • Um espaço de trabalho 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 registros de diagnóstico para rastros de auditoria

O Event Grid pode publicar trilhas 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.

Use o rastreamento de auditoria para garantir que o acesso aos dados seja permitido apenas para fins autorizados. Ele coleta informações sobre controles de segurança, como nome do recurso, tipo de operação, acesso à rede, nível e região. Para mais informações sobre como ativar a configuração de diagnóstico, consulte Habilitar os logs de diagnóstico para tópicos e domínios da Grade de Eventos.

Captura de tela que mostra a página de configurações de diagnóstico com Audit selecionada.

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.