Habilitación de los registros de diagnóstico de recursos de Event Grid

En este artículo se proporcionan instrucciones paso a paso sobre cómo habilitar la configuración de diagnóstico para los recursos de Event Grid. Esta configuración le permite capturar y ver información de diagnóstico para que pueda solucionar los errores. En la tabla siguiente se muestra la configuración disponible para los distintos tipos de Event Grid recursos: temas personalizados, temas del sistema y dominios.

Configuración de diagnóstico Temas de Event Grid Temas del sistema de Event Grid Dominios de eventos Espacios de nombres de asociado de Event Grid
DeliveryFailures No
PublishFailures No
DataPlaneRequests No

Importante

Para obtener esquemas de errores de entrega, errores de publicación y solicitudes de plano de datos, consulte Registros de diagnóstico.

Prerrequisitos

  • Recurso de Event Grid aprovisionado
  • Destino aprovisionado para capturar registros de diagnóstico:
    • Área de trabajo de Log Analytics
    • Cuenta de almacenamiento
    • Event Hubs
    • Solución de asociado

Habilitación de registros de diagnóstico para Event Grid temas y dominios

Nota

El siguiente procedimiento proporciona instrucciones paso a paso para habilitar los registros de diagnóstico para los temas. Los pasos para habilitar los registros de diagnóstico para un dominio son muy similares. En el paso 2, vaya al dominio de Event Grid en Azure Portal.

  1. Inicie sesión en Azure Portal.

  2. Vaya al tema de Event Grid para el que desee habilitar la configuración del registro de diagnóstico.

    1. En la barra de búsqueda de la parte superior, busque Temas de Event Grid.

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

    2. Seleccione el tema de la lista para el que desea configurar las opciones de diagnóstico.

  3. Seleccione Configuración de diagnóstico en Supervisión, en el menú de la izquierda.

  4. En la página Configuración de diagnóstico, seleccione Add New Diagnostic Setting (Agregar nueva configuración de diagnóstico).

    Screenshots showing the Diagnostic settings page of a custom topic.

  5. Especifique un nombre para la configuración de diagnóstico.

  6. Seleccione la opción allLogs en la sección Registros.

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

  7. Habilite uno o varios destinos de captura para los registros y, a continuación, configúrelos; para ello, seleccione un recurso de captura creado anteriormente.

    • Si selecciona Send to Log Analytics (Enviar a Log Analytics), seleccione un área de trabajo de Log Analytics.

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

    • Si selecciona Archive to a storage account (Archivar en una cuenta de almacenamiento), seleccione Cuenta de almacenamiento: configurar y, a continuación, seleccione la cuenta de almacenamiento en la suscripción de Azure.

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

    • Si selecciona Stream to an event hub (Transmitir a un centro de eventos), seleccione Centro de eventos: Configurar y, a continuación, seleccione el espacio de nombres de Event Hubs, el centro de eventos y la directiva de acceso.

      Screenshot that shows the

  8. Seleccione Guardar. Después, Seleccione X en la esquina derecha para cerrar la página.

  9. Ahora, vuelva a la página Configuración de diagnóstico, confirme que ve una nueva entrada en la tabla Configuración de diagnóstico.

    Screenshot that shows the

También puede habilitar la recopilación de todas las métricas del tema.

Habilitación de los registros de diagnóstico de los temas de sistema de Event Grid

  1. Inicie sesión en Azure Portal.
  2. Vaya al tema del sistema para el que desee habilitar la configuración del registro de diagnóstico.
    1. En la barra de búsqueda de la parte superior, busque Event Grid system topics (Temas del sistema de Event Grid). Search for system topics
    2. Seleccione el tema del sistema para el que desea configurar las opciones de diagnóstico. Select system topic
  3. Seleccione Configuración de diagnóstico en Supervisión en el menú izquierdo y, luego, elija Agregar configuración de diagnóstico. Add diagnostic settings - button
  4. Especifique un nombre para la configuración de diagnóstico.
  5. Seleccione la opción allLogs en la sección Registros. Select delivery failures
  6. Habilite uno o varios destinos de captura para los registros y, a continuación, configúrelos; para ello, seleccione un recurso de captura creado anteriormente.
    • Si selecciona Send to Log Analytics (Enviar a Log Analytics), seleccione un área de trabajo de Log Analytics. Send to Log Analytics
    • Si selecciona Archive to a storage account (Archivar en una cuenta de almacenamiento), seleccione Cuenta de almacenamiento: configurar y, a continuación, seleccione la cuenta de almacenamiento en la suscripción de Azure. Archive to an Azure storage account
    • Si selecciona Transmitir a un centro de eventos, seleccione Event Hub - Configure (Centro de eventos: Configurar) y, a continuación, seleccione el espacio de nombres de Event Hubs, el centro de eventos y la directiva de acceso. Stream to an event hub
  7. Seleccione Guardar. Después, Seleccione X en la esquina derecha para cerrar la página.
  8. Ahora, vuelva a la página Configuración de diagnóstico, confirme que ve una nueva entrada en la tabla Configuración de diagnóstico. Diagnostic setting in the list

También puede habilitar la recopilación de todas las métricas del tema del sistema. System topic - enable all metrics

Visualización de registros de diagnóstico en Azure Storage

  1. Una vez que se ha habilitado una cuenta de almacenamiento como destino de captura, Event Grid comienza a emitir registros de diagnóstico. Debería ver dos nuevos contenedores, insights-logs-deliveryfailures e insights-logs-publishfailures, en la cuenta de almacenamiento.

    Storage - containers for diagnostic logs

  2. Cuando se desplace por uno de los contenedores, terminará en un blob en formato JSON. El archivo contiene entradas de registro para un error de entrega o un error de publicación. La ruta de navegación representa el ResourceId del tema de Event Grid y la marca de tiempo (nivel de minuto) como cuando se emitieron las entradas de registro. El archivo blob/JSON, que se puede descargar, al final se adhiere al esquema descrito en la sección siguiente.

    JSON file in the storage

  3. Debería ver el contenido en el archivo JSON similar al ejemplo siguiente:

    {
        "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 plantillas de Azure Resource Manager

Esta es una plantilla de ejemplo de Azure Resource Manager para habilitar la configuración de diagnóstico de un tema de Event Grid. Cuando implemente esta plantilla, se crearán estos recursos:

  • Un tema de Event Grid
  • Un área de trabajo de Log Analytics

A continuación, crea una configuración de diagnóstico en el tema para enviar información de diagnóstico al área de trabajo de 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
                    }
                ]
            }
        }
    ]
}

Habilitación de los registros de diagnóstico para seguimientos de auditoría

Event Grid puede publicar seguimientos de auditoría para las operaciones del plano de datos. Para habilitar la característica, seleccione auditar en la sección Grupos de categorías o seleccione DataPlaneRequests en la sección Categorías.

El seguimiento de auditoría se puede usar para asegurarse de que el acceso a los datos solo se permite con fines autorizados. Recopila información sobre el control de seguridad, como el nombre del recurso, el tipo de operación, el acceso a la red, el nivel, la región, etc. Para obtener más información sobre cómo habilitar la configuración de diagnóstico, consulte el documento sobre registros de diagnóstico para dominios de eventos y temas de Event Grid. Screenshot that shows the Diagnostic settings page with Audit selected.

Importante

Para obtener más información sobre el esquema DataPlaneRequests, consulte Registros de diagnóstico.

Pasos siguientes

Para obtener el esquema de registro y otra información conceptual sobre los registros de diagnóstico de temas o dominios, consulte Registros de diagnóstico.