Supervisión de la ingesta, los comandos, las consultas y las tablas de Azure Data Explorer con los registros de diagnóstico

Azure Data Explorer es un servicio de análisis de datos rápido y totalmente administrado para analizar en tiempo real grandes volúmenes de datos de que se transmiten desde aplicaciones, sitios web, dispositivos IoT, etc. Los registros de diagnóstico de Azure Monitor proporcionan datos sobre el funcionamiento de los recursos de Azure. Azure Data Explorer usa registros de diagnóstico para extraer conclusiones sobre la ingesta, los comandos, las consultas y las tablas. Puede exportar los registros de operaciones a Azure Storage, Event Hubs o Log Analytics para supervisar el estado de ingesta, los comandos y las consultas. Los registros de Azure Storage y Azure Event Hubs se pueden enrutar a una tabla del clúster de Azure Data Explorer para analizarlos mejor.

Importante

Los datos del registro de diagnóstico pueden contener datos confidenciales. Restrinja los permisos del destino de los registros según sus necesidades de supervisión.

Prerrequisitos

Configuración de registros de diagnóstico en un clúster de Azure Data Explorer

Los registros de diagnóstico se pueden usar para configurar la recopilación de los siguientes datos de registro:

Nota

Los registros de ingesta se admiten para la ingesta en cola en el punto de conexión mediante SDK, conexiones de datos y conectores.

Los registros de ingesta no se admiten para la ingesta de streaming, la ingesta directa en el motor, la ingesta de consultas o los comandos set o append.

Nota

Los registros de ingesta con errores solo se notifican en el estado final de una operación de ingesta, a diferencia de la métrica Resultado de la ingesta, que se emite para errores transitorios que se reintentan internamente.

  • Operaciones de ingesta correctas: Estos registros contienen información sobre las operaciones de ingesta completadas correctamente.
  • Operaciones de ingesta con error: Estos registros contienen información detallada sobre las operaciones de ingesta con error, incluidos los detalles del error.
  • Operaciones de procesamiento por lotes de ingesta: estos registros tienen estadísticas detalladas de lotes listos para la ingesta (duración, tamaño del lote, recuento de blobs y tipos de procesamiento por lotes).

Los datos se archivan en una cuenta de almacenamiento, se transmiten a un centro de eventos o se envían a Log Analytics, según sus especificaciones.

Habilitar registros de diagnóstico

Los registros de diagnóstico están inhabilitados de forma predeterminada. Para habilitarlos, haga lo siguiente:

  1. En Azure Portal, seleccione el recurso de clúster de Azure Data Explorer que quiere supervisar.

  2. En Supervisión, seleccione Configuración de diagnóstico.

    Add diagnostics logs.

  3. Seleccione Agregar configuración de diagnóstico.

  4. En la ventana Configuración de diagnóstico:

    Configure diagnostics settings.

    1. Escriba un Nombre de configuración de diagnóstico.
    2. Seleccione uno o varios destinos: un área de trabajo de Log Analytics, una cuenta de almacenamiento o un centro de eventos.
    3. Seleccione los registros que se van a recopilar: SucceededIngestion, FailedIngestion, IngestionBatching, Command, Query, TableUsageStatistics o TableDetails.
    4. Seleccione las métricas que se van a recopilar (opcional).
    5. Seleccione Guardar para guardar la nueva configuración y las métricas de los registros de diagnóstico.

La nueva configuración se establecerá en unos minutos. Los registros aparecen en el destino de archivo configurado (cuenta de almacenamiento, Event Hub o Log Analytics).

Nota

Si envía registros a Log Analytics, los registros SucceededIngestion, FailedIngestion, IngestionBatching, Command, Query, TableUsageStatistics y TableDetails se almacenarán en las tablas de Log Analytics llamadas: SucceededIngestion, FailedIngestion, ADXIngestionBatching, ADXCommand, ADXQuery, ADXTableUsageStatistics y ADXTableDetails, respectivamente.

Esquema de registros de diagnósticos

Todos los registros de diagnóstico de Azure Monitor comparten un esquema de nivel superior común. Azure Data Explorer tiene propiedades únicas para sus propios eventos. Todos los registros se almacenan en formato JSON.

Esquema de registros de ingesta

Las cadenas JSON de registro incluyen elementos enumerados en la tabla siguiente:

Nombre Descripción
time Hora del informe.
resourceId El identificador de recursos de Azure Resource Manager
operationName Nombre de la operación: 'MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION'
operationVersion Versión de esquema: "1.0"
category Categoría de la operación. SucceededIngestion, FailedIngestion o IngestionBatching. Las propiedades son diferentes para una operación correcta, una operación con errores o una operación de procesamiento por lotes.
properties Información detallada de la operación.

Registro de operaciones de ingesta correctas

Ejemplo:

{
    "time": "2019-05-27 07:55:05.3693628",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "SucceededIngestion",
    "properties":
    {
        "SucceededOn": "2019-05-27 07:55:05.3693628",
        "OperationId": "b446c48f-6e2f-4884-b723-92eb6dc99cc9",
        "Database": "Samples",
        "Table": "StormEvents",
        "IngestionSourceId": "66a2959e-80de-4952-975d-b65072fc571d",
        "IngestionSourcePath": "https://kustoingestionlogs.blob.core.windows.net/sampledata/events8347293.json",
        "RootActivityId": "d0bd5dd3-c564-4647-953e-05670e22a81d"
    }
}

Propiedades del registro de diagnóstico de una operación correcta

Nombre Descripción
SucceededOn Hora de finalización de la ingesta
OperationId Identificador de operación de ingesta de Azure Data Explorer
Base de datos Nombre de la base de datos de destino
Tabla Nombre de la tabla de destino.
IngestionSourceId Identificador del origen de datos de ingesta
IngestionSourcePath Ruta de acceso del URI del blob o del origen de datos de ingesta
RootActivityId Identificador de actividad

Registro de operaciones de ingesta con error

Ejemplo:

{
    "time": "2019-05-27 08:57:05.4273524",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "FailedIngestion",
    "properties":
    {
        "failedOn": "2019-05-27 08:57:05.4273524",
        "operationId": "5956515d-9a48-4544-a514-cf4656fe7f95",
        "database": "Samples",
        "table": "StormEvents",
        "ingestionSourceId": "eee56f8c-2211-4ea4-93a6-be556e853e5f",
        "ingestionSourcePath": "https://kustoingestionlogs.blob.core.windows.net/sampledata/events5725592.json",
        "rootActivityId": "52134905-947a-4231-afaf-13d9b7b184d5",
        "details": "Permanent failure downloading blob. URI: ..., permanentReason: Download_SourceNotFound, DownloadFailedException: 'Could not find file ...'",
        "errorCode": "Download_SourceNotFound",
        "failureStatus": "Permanent",
        "originatesFromUpdatePolicy": false,
        "shouldRetry": false
    }
}

Propiedades del registro de diagnóstico de una operación con error

Nombre Descripción
FailedOn Hora de finalización de la ingesta
OperationId Identificador de operación de ingesta de Azure Data Explorer
Base de datos Nombre de la base de datos de destino
Tabla Nombre de la tabla de destino.
IngestionSourceId Identificador del origen de datos de ingesta
IngestionSourcePath Ruta de acceso del URI del blob o del origen de datos de ingesta
RootActivityId Identificador de actividad
Detalles Descripción detallada del error y el mensaje de error
ErrorCode Código de error de ingesta
FailureStatus Permanent y RetryAttemptsExceeded indican que la operación ha superado el límite de reintentos o el límite del intervalo de tiempo después de un error transitorio periódico.
OriginatesFromUpdatePolicy True si el error se origina desde una directiva de actualización
ShouldRetry True si el reintento puede conseguirse

Registro de operaciones de procesamiento por lotes de ingesta

Ejemplo:

{
  "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
  "time": "2021-04-18T19:19:57.0211782Z",
  "operationVersion": "1.0",
  "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGESTIONBATCHING/ACTION",
  "category": "IngestionBatching",
  "correlationId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735",
  "properties": {
    "Timestamp": "2021-04-18T19:19:57.0211782Z",
    "Database": "Samples",
    "Table": "StormEvents",
    "BatchingType": "Time",
    "SourceCreationTime": "2021-04-18T19:14:53.9543732Z",
    "BatchTimeSeconds": 302.1449075,
    "BatchSizeBytes": 3988,
    "DataSourcesInBatch": 2,
    "RootActivityId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735"
  }
}

Propiedades de un registro de diagnóstico de operaciones de procesamiento por lotes de ingesta

Nombre Descripción
Timestamp La hora de los informes de procesamiento por lotes
Base de datos Nombre de la base de datos que contiene la tabla de destino
Tabla Nombre de la tabla de destino en la que se ingieren los datos
BatchingType Desencadenador para sellar un lote. Para obtener una lista completa de los tipos de procesamiento por lotes, consulte Tipos de procesamiento por lotes.
SourceCreationTime Hora mínima (UTC) en la que se crearon los blobs de este lote
BatchTimeSeconds Tiempo total de procesamiento por lotes de este lote (segundos)
BatchSizeBytes Tamaño total sin comprimir de los datos de este lote (bytes)
DataSourcesInBatch Número de orígenes de datos en este lote
RootActivityId Identificador de actividad de la operación

Pasos siguientes