Ativar registos de diagnóstico para recursos do Event Grid

Este artigo fornece instruções passo a passo para habilitar configurações de diagnóstico para recursos da Grade de Eventos. As definições de diagnóstico recolhem informações sobre falhas de publicação e entrega para que possa diagnosticar e resolver problemas com os seus recursos da Grade de Eventos. A tabela seguinte mostra as definições disponíveis para diferentes tipos de recursos do Event Grid: tópicos personalizados, tópicos do sistema e domínios.

Configuração de diagnóstico Tópicos do Event Grid Tópicos de sistema do Event Grid Domínios de eventos Espaços de nomes de parceiros do Event Grid
Falhas de entrega Sim Sim Sim No
FalhasDePublicação Sim No Sim Sim
DataPlaneRequests Sim No Sim Sim

Importante

Para esquemas de falhas de entrega, falhas de publicação e solicitações de plano de dados, consulte Logs de diagnóstico.

Pré-requisitos

  • Um recurso do Event Grid aprovisionado
  • Um destino configurado para capturar registos de diagnóstico:
    • área de trabalho do Log Analytics
    • Conta de armazenamento
    • Hubs de Eventos
    • Solução de parceiro

Ativar registos de diagnóstico para tópicos e domínios do Event Grid

Nota

O procedimento seguinte fornece instruções passo a passo para ativar os registos de diagnóstico para os tópicos. Os passos para ativar registos de diagnóstico para um domínio são semelhantes. Na etapa 2, navegue até o domínio Grade de Eventos no portal do Azure.

  1. Inicie sessão no portal do Azure.

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

    1. Na barra de pesquisa na parte superior, pesquise por Event Grid topics.

      Captura de ecrã que mostra o portal do Azure com tópicos da Grelha de Eventos na caixa de pesquisa.

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

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

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

    Captura de ecrã que mostra a página de definições de diagnóstico de um tópico personalizado.

  5. Introduza um nome para a definição de diagnóstico.

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

    Captura de ecrã que mostra a página de Configuração de diagnóstico com Todos os registos selecionados.

  7. Ative um ou mais dos destinos de captura para os registos e depois configure-os selecionando um recurso de captura previamente criado.

    • Se você selecionar Enviar para o Log Analytics, selecione o espaço de trabalho do Log Analytics.

      Captura de tela que mostra a página Configurações de diagnóstico com a opção Enviar para o Log Analytics selecionada.

    • Se selecionar Arquivar para uma conta de armazenamento, selecione Conta de armazenamento - Configurar e, em seguida, selecione a conta de armazenamento na sua subscrição do Azure.

      Captura de ecrã que mostra a página Definições de diagnóstico com Arquivar para 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, em seguida, selecione o namespace Hubs de Eventos, o hub de eventos e a política de acesso.

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

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

  9. De volta à página de Definições de Diagnóstico , confirme que vê uma nova entrada na tabela de Definições de Diagnóstico .

    Captura de ecrã que mostra a página de Definições de Diagnóstico com uma nova entrada destacada na tabela de Definições de Diagnóstico.

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

Ativar registos de diagnóstico para tópicos de sistema do Event Grid

  1. Inicie sessão no portal do Azure.

  2. Vai ao tópico do sistema onde queres ativar as definições do registo de diagnóstico.

    1. Na barra de pesquisa no topo, pesquise por tópicos de sistema do Event Grid.

      Captura de ecrã que mostra o portal do Azure com tópicos do sistema Event Grid na caixa de pesquisa.

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

      Captura de ecrã que mostra a lista de tópicos do sistema Event Grid.

  3. Selecione Configurações de diagnóstico em Monitoramento no menu à esquerda e, em seguida, selecione Adicionar configuração de diagnóstico.

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

  4. Introduza um nome para a definição de diagnóstico.

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

    Captura de ecrã que mostra a página de definições de diagnóstico de um tópico do sistema com Todos os registos selecionados.

  6. Ative um ou mais dos destinos de captura para os registos e depois configure-os selecionando um recurso de captura previamente criado.

    • Se você selecionar Enviar para o Log Analytics, selecione o espaço de trabalho do Log Analytics.

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

    • Se selecionar Arquivar para uma conta de armazenamento, selecione Conta de armazenamento - Configurar e, em seguida, selecione a conta de armazenamento na sua subscrição do Azure.

      Captura de ecrã que mostra a página de definições de diagnóstico de um tópico do sistema com Archive para uma conta de armazenamento selecionada.

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

      Captura de ecrã que mostra a página Definições de diagnóstico de um tópico do sistema, com a opção Transmitir em fluxo para um hub de eventos selecionada.

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

  8. De volta à página de Definições de Diagnóstico , confirme que vê uma nova entrada na tabela de Definições de Diagnóstico .

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

Também pode ativar a recolha de todas as métricas para o tema do sistema.

Captura de ecrã que mostra a página de definiçõ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 ativa uma conta de armazenamento como destino de captura, a Grade de Eventos começa a emitir registos de diagnóstico. Verá novos contentores com os nomes insights-logs-deliveryfailures e insights-logs-publishfailures na conta de armazenamento.

    Captura de ecrã que mostra os contentores da conta de armazenamento para registos de diagnóstico.

  2. Ao navegar por um dos contentores, encontra-se 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 da Grade de Eventos e a data/hora (ao nível do minuto) em que a Grelha de Eventos emitiu as entradas de registo. O ficheiro blob/JSON, que pode descarregar, segue o esquema descrito na secção seguinte.

    Captura de ecrã que mostra um ficheiro blob JSON na conta de armazenamento.

  3. Vê conteúdo no ficheiro 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:"
    }
    

Utilizar o modelo do Azure Resource Manager

Aqui está um exemplo de modelo do Azure Resource Manager para habilitar configurações de diagnóstico para um tópico de Grade de Eventos. Quando implementa este 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 espaço de trabalho 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
                    }
                ]
            }
        }
    ]
}

Ativar registos de diagnóstico para rastreios de auditoria

O Event Grid pode publicar registos de auditoria para operações no plano de dados. Para habilitar o recurso, selecione auditoria na seção Grupos de categorias ou selecione DataPlaneRequests na seção Categorias .

Utilize o rastreamento de auditoria para garantir que o acesso aos dados é permitido apenas para fins autorizados. Recolhe informações sobre controlos 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 definição de diagnóstico, consulte Ativar registos de diagnóstico para tópicos e domínios da Grelha de Eventos.

Captura de ecrã que mostra a página de definições de diagnóstico com Audit selecionada.

Importante

Para obter mais informações sobre o esquema DataPlaneRequests, consulte registos de diagnóstico.

Próximos passos

Para obter o esquema dos registos e outras informações conceptuais sobre registos de diagnóstico para tópicos ou domínios, consulte Registos de diagnóstico.