Compartir a través de


Configuración de la entrega del registro de diagnóstico

Note

Databricks recomienda usar la tabla del sistema de registro de auditoría (system.access.audit) para acceder a los registros de auditoría de la cuenta. Consulte la referencia de la tabla del sistema de registro de auditoría .

En este artículo se describe cómo habilitar la entrega de registros de diagnóstico para las áreas de trabajo de Azure Databricks.

Note

Los registros de diagnóstico requieren el plan Premium.

  1. Inicie sesión en Azure Portal como propietario, colaborador o como usuario con un rol personalizado con el permiso Microsoft.Databricks/workspaces/assignWorkspaceAdmin/action para el área de trabajo de Azure Databricks. A continuación, haga clic en el recurso del servicio Azure Databricks.

  2. En la sección Supervisión de la barra lateral, haga clic en la pestaña Configuración de diagnóstico.

  3. Haga clic en Activar diagnóstico.

    Diagnósticos activados de Azure Databricks

  4. En la página Configuración de diagnóstico, proporcione la siguiente configuración:

    Name

    Escriba un nombre para los registros que quiere crear.

    Archivar en una cuenta de almacenamiento

    Para usar esta opción, necesita una cuenta de almacenamiento existente a la cual conectarse. Para crear una nueva cuenta de almacenamiento en el portal, consulte Crear una cuenta de almacenamiento y siga las instrucciones para crear una cuenta de uso general de Azure Resource Manager. Luego, vuelva a esta página en el portal para seleccionar la cuenta de almacenamiento. Las cuentas de almacenamiento recién creadas pueden tardar unos minutos en aparecer en el menú desplegable. Para obtener información sobre los costos adicionales en los que se incurre al escribir en una cuenta de almacenamiento, consulte Precios de Azure Storage.

    Transmisión a un centro de eventos

    Para usar esta opción, necesita un espacio de nombres de Azure Event Hubs y un centro de eventos al que conectarse. Para crear un espacio de nombres de Event Hubs, consulte Creación de un espacio de nombres de Event Hubs y un centro de eventos con Azure Portal. Luego, vuelva a esta página en el portal para seleccionar el espacio de nombres de Event Hubs y el nombre de la directiva. Para obtener información sobre los costos adicionales en los que se incurre al escribir en un centro de eventos, consulte Precios de Azure Event Hubs.

    Enviar a Log Analytics

    Para usar esta opción, utilice un área de trabajo existente de Log Analytics o cree una nueva siguiendo los pasos necesarios para crear un área de trabajo en el portal. Para obtener información sobre los costos adicionales en los que se incurre mediante el envío de registros a Log Analytics, consulte Precios de Azure Monitor.

    Configuración de diagnóstico de Azure Databricks

  5. Elija los servicios para los que quiere obtener registros de diagnóstico.

  6. Haga clic en Guardar.

  7. Si recibe un error que indica que "No se pudo actualizar el diagnóstico de <workspace name>. La suscripción <subscription id> no está registrada para usar microsoft.insights", siga las instrucciones de solución de problemas de Azure Diagnostics para registrar la cuenta y, después, vuelva a intentar este procedimiento.

  8. Si desea cambiar el modo en que se guardan los registros de diagnóstico en algún momento, vuelva a esta página para modificar la configuración de registro de diagnóstico de su cuenta.

Note

Si desea establecer directivas de retención de almacenamiento, configure una directiva de administración del ciclo de vida de Azure.

Habilitación del registro con PowerShell

  1. Inicie una sesión de PowerShell de Azure e inicie sesión en su cuenta de Azure con el siguiente comando:

     Connect-AzAccount
    

    Para iniciar sesión en su cuenta de Azure con una cuenta de usuario o una entidad de servicio, consulte Autenticación con Azure PowerShell.

    Si aún no tiene instalado Azure PowerShell, use los siguientes comandos para instalar Azure PowerShell.

     Install-Module -Name Az -AllowClobber
    
  2. En la ventana emergente del explorador, escriba el nombre de usuario y la contraseña de su cuenta de Azure. Azure PowerShell obtiene todas las suscripciones asociadas a esta cuenta y, de forma predeterminada, usa la primera.

    Si tiene más de una suscripción, es posible que deba especificar la suscripción específica que se usó para crear su almacén de claves de Azure. Para ver las suscripciones de su cuenta, escriba el siguiente comando:

    Get-AzSubscription
    

    Para especificar la suscripción asociada a la cuenta de Azure Databricks que está registrando, escriba el siguiente comando:

    Set-AzContext -SubscriptionId <subscription ID>
    
  3. Establezca el nombre del recurso de Log Analytics en una variable denominada logAnalytics, donde ResourceName es el nombre del área de trabajo de Log Analytics.

    $logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"
    
  4. Establezca el nombre del recurso del servicio de Azure Databricks en una variable denominada databricks, donde ResourceName es el nombre del servicio de Azure Databricks.

    $databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"
    
  5. Para habilitar el registro para Azure Databricks, use el cmdlet AzDiagnosticSetting con las variables para la nueva cuenta de almacenamiento, el servicio de Azure Databricks y la categoría para la que hay que habilitar el registro. Ejecute el siguiente comando y establezca la marca -Enabled en $true:

    New-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
    

Habilitación del registro mediante la CLI de Azure

  1. Abra PowerShell.

  2. Use el siguiente comando para conectarse a la cuenta de Azure:

    az login
    

    Para conectarse con una cuenta de usuario o una entidad de servicio, consulte Inicio de sesión con la CLI de Azure.

  3. Ejecute el siguiente comando de configuración de diagnóstico:

    az monitor diagnostic-settings create --name <diagnostic name>
    --resource-group <log analytics workspace resource group>
    --workspace <log analytics name or object ID>
    --resource <target resource object ID>
    --logs '[
    {
     \"category\": <category name>,
      \"enabled\": true
    }
    ]'
    

REST API

Use la API LogSettings.

Request

PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

Cuerpo de la solicitud

{
  "properties": {
    "workspaceId": "<log analytics resourceId>",
    "logs": [
      {
        "category": "<category name>",
        "enabled": true,
        "retentionPolicy": {
          "enabled": false,
          "days": 0
        }
      }
    ]
  }
}

Latencia de registro de diagnóstico

Una vez habilitado el registro para la cuenta, Azure Databricks envía automáticamente los registros de diagnóstico a la ubicación de entrega. Los registros normalmente están disponibles en un plazo de 15 minutos a partir de la activación. Los eventos auditables de Azure Databricks normalmente aparecen en los registros de diagnóstico en un plazo de 15 minutos en las regiones comerciales de Azure.

Los registros de inicio de sesión de SSH se entregan con alta latencia.

Note

Aunque se espera que la mayoría de los registros se entreguen en un plazo de 15 minutos, Azure Databricks no garantiza un plazo de entrega de registros.

Consideraciones sobre el esquema de registro de diagnóstico

  • Si las acciones llevan mucho tiempo, la solicitud y la respuesta se registran por separado, pero el par de solicitud y respuesta tiene el mismo valor de requestId.
  • El usuario System-User realiza las acciones automatizadas, como cambiar el tamaño de un clúster debido al escalado automático o iniciar un trabajo debido a la programación.
  • El campo requestParams está sujeto a truncamiento. Si el tamaño de su representación JSON supera los 100 KB, los valores se truncan y la cadena ... truncated se anexa a las entradas truncadas. En ocasiones excepcionales, cuando una asignación truncada sigue siendo mayor que 100 KB, en su lugar hay una sola clave TRUNCATED con un valor vacío.

Esquema de ejemplo de registro de diagnóstico

Los registros de auditoría generan eventos en JSON. Las propiedades serviceName y actionName identifican al evento. La convención de nomenclatura sigue la API de REST de Databricks.

El ejemplo JSON siguiente es un ejemplo de un evento registrado cuando un usuario creó un trabajo:

{
  "TenantId": "<your-tenant-id>",
  "SourceSystem": "|Databricks|",
  "TimeGenerated": "2019-05-01T00:18:58Z",
  "ResourceId": "/SUBSCRIPTIONS/SUBSCRIPTION_ID/RESOURCEGROUPS/RESOURCE_GROUP/PROVIDERS/MICROSOFT.DATABRICKS/WORKSPACES/PAID-VNET-ADB-PORTAL",
  "OperationName": "Microsoft.Databricks/jobs/create",
  "OperationVersion": "1.0.0",
  "Category": "jobs",
  "Identity": {
    "email": "mail@example.com",
    "subjectName": null
  },
  "SourceIPAddress": "131.0.0.0",
  "LogId": "201b6d83-396a-4f3c-9dee-65c971ddeb2b",
  "ServiceName": "jobs",
  "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36",
  "SessionId": "webapp-cons-webapp-01exaj6u94682b1an89u7g166c",
  "ActionName": "create",
  "RequestId": "ServiceMain-206b2474f0620002",
  "Response": {
    "statusCode": 200,
    "result": "{\"job_id\":1}"
  },
  "RequestParams": {
    "name": "Untitled",
    "new_cluster": "{\"node_type_id\":\"Standard_DS3_v2\",\"spark_version\":\"5.2.x-scala2.11\",\"num_workers\":8,\"spark_conf\":{\"spark.databricks.delta.preview.enabled\":\"true\"},\"cluster_creator\":\"JOB_LAUNCHER\",\"spark_env_vars\":{\"PYSPARK_PYTHON\":\"/databricks/python3/bin/python3\"},\"enable_elastic_disk\":true}"
  },
  "Type": "DatabricksJobs"
}