Registro de diagnóstico en Azure Databricks

Azure Databricks proporciona registros de diagnóstico completos de un extremo a otro de las actividades que realizan los usuarios de Azure Databricks, lo que permite a la empresa supervisar los patrones de uso detallados de Azure Databricks.

Advertencia

El registro de auditoría está deshabilitado temporalmente para Databricks SQL.

Para obtener una lista de cada uno de estos tipos de eventos y los servicios asociados, consulte Eventos. Algunos de los eventos se emiten en los registros de auditoría solo si los registros de auditoría detallados están habilitados para el área de trabajo.

Configuración de registros de auditoría detallados

Además de los eventos predeterminados, puede configurar un área de trabajo para generar eventos adicionales mediante la habilitación de registros de auditoría detallados.

Acciones adicionales del cuaderno

Acciones adicionales en la categoría notebook del registro de auditoría:

  • Nombre de la acción runCommand, que se ha emitido después de que Azure Databricks ejecute un comando en un cuaderno. Un comando corresponde a una celda de un cuaderno.

    Parámetros de solicitud:

    • notebookId: id. de cuaderno
    • executionTime: duración del comando en segundos. Éste es un valor decimal, como 13.789.
    • status: estado del comando. Los valores posibles son finished (el comando finalizó), skipped (se omitió el comando), cancelled (se canceló el comando) o failed (error del comando).
    • commandId: id. único del comando.
    • commandText: texto del comando. En el caso de los comandos de varias líneas, las líneas están separadas por caracteres de nueva línea.

Acciones adicionales de Databricks SQL

Acciones adicionales en la categoría databrickssql del registro de auditoría:

  • Nombre de la acción commandSubmit, que se ejecuta cuando se envía un comando a Databricks SQL.

    Parámetros de solicitud:

    • commandText: instrucción SQL o comando especificados por el usuario.
    • warehouseId: Id. del almacén de SQL.
    • commandId: Id. del comando.
  • Nombre de la acción commandFinish, que se ejecuta cuando se completa o se cancela un comando.

    Parámetros de solicitud:

    • warehouseId: Id. del almacén de SQL.
    • commandId: Id. del comando.

    Compruebe el campo response para obtener información adicional relacionada con el resultado del comando:

    • statusCode: El código de respuesta HTTP. Este será el error 400 si se trata de un error general.

    • errorMessage: Mensaje de error.

      Nota:

      En algunos casos para determinados comandos de ejecución prolongada, es posible que el campo errorMessage no se rellene en caso de error.

    • result: Este campo está vacío.

Habilitación o deshabilitación de registros de auditoría detallados

  1. Como administrador, vaya a la consola de administración de Azure Databricks.
  2. Haga clic en Configuración del área de trabajo.
  3. Junto a Registros de auditoría detallados, habilite o deshabilite la característica.

Al habilitar o deshabilitar el registro detallado, se emite un evento auditable en la categoría workspace con la acción workspaceConfKeys. El parámetro de solicitud workspaceConfKeys es enableVerboseAuditLogs. El parámetro de solicitud workspaceConfValues es true (característica habilitada) o false (característica deshabilitada).

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

Nota

Los registros de diagnóstico requieren el plan Premium.

  1. Inicie sesión en Azure Portal como Propietario o Colaborador del área de trabajo de Azure Databricks y haga clic en el recurso Servicio de 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:

    Nombre

    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 y establezca las directivas de retención.

    La retención solo se aplica a las cuentas de almacenamiento. Si no quiere aplicar una directiva de retención y quiere conserva los datos de forma permanente, establezca Retención (días) en 0.

  6. Seleccione Guardar.

  7. Si recibe un error que indica que "No se pudo actualizar el diagnóstico de… La suscripción 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.

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
    

    Si aún no tiene instalado Azure PowerShell, use los siguientes comandos para instalar Azure PowerShell e importar el módulo de Azure RM.

    Install-Module -Name Az -AllowClobber
    Import-Module AzureRM
    
  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 registrará, 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 Set-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:

    Set-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
    
  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
    }
    ]'
    

API DE REST

Use la API LogSettings.

Solicitud

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
        }
      }
    ]
  }
}

Entrega de registro de diagnóstico

Una vez habilitado el registro para la cuenta, Azure Databricks inicia automáticamente el envío de los registros de diagnóstico a la ubicación de entrega. Los registros 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.

Nota

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

Esquema de los registros de diagnóstico

El esquema de los registros de diagnóstico es el siguiente:

Campo Descripción
operationversion Versión del esquema del formato del registro de diagnóstico.
time Marca de tiempo UTC de la acción.
properties.sourceIPAddress Dirección IP de la solicitud de origen.
properties.userAgent Cliente de API o explorador usado para realizar la solicitud.
properties.sessionId Identificador de sesión de la acción.
identities Información sobre el usuario que realiza las solicitudes:

* email: Dirección de correo electrónico del usuario.
category Servicio que registró la solicitud.
operationName La acción, como el inicio de sesión, el cierre de sesión, la lectura o la escritura. Con el formato Microsoft.Databricks/<category>/<actionName>, por ejemplo, Microsoft.Databricks/jobs/create.
properties.requestId Identificador de solicitud único.
properties.requestParams Pares clave-valor de los parámetros usados en el evento.

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.
properties.response Respuesta a la solicitud.

* errorMessage: Mensaje de error si ha habido un error.
* result: Resultado de la solicitud.
* statusCode: Código de estado HTTP que indica si la solicitud se completa correctamente o no.
properties.logId Identificador único de los mensajes del registro.

Eventos

Las propiedades category (el servicio Azure Databricks) y operationName identifican un evento en una entrada de registro. Azure Databricks proporciona registros de diagnóstico para las siguientes categorías (servicios):

accounts Eventos relacionados con cuentas, usuarios, grupos y listas de acceso IP.
clusters Eventos relacionados con clústeres.
dbfs Eventos relacionados con DBFS.
deltaPipelines Eventos relacionados con canalizaciones de Delta Live Table.
featureStore Eventos relacionados con el almacén de características de Databricks.
genie Eventos relacionados con el acceso al área de trabajo por parte del personal de soporte técnico.
gitCredentials Eventos relacionados con las credenciales de Git para los repositorios de Databricks. Vea también repos.
globalInitScripts Eventos relacionados con scripts de inicialización globales.
instancePools Eventos relacionados con grupos.
jobs Eventos relacionados con trabajos.
mlflowAcledArtifact Eventos relacionados con artefactos de ML Flow con listas ACL.
mlflowExperiment Eventos relacionados con experimentos de ML Flow.
modelRegistry Eventos relacionados con el registro de modelos.
notebook Eventos relacionados con cuadernos.
repos Eventos relacionados con Repos de Databricks. Vea también gitCredentials.
secrets Eventos relacionados con secretos.
ssh Eventos relacionados con el acceso SSH, que está deshabilitado de forma predeterminada.
unityCatalog Eventos relacionados con el catálogo de Unity, que está deshabilitado de forma predeterminada.
webTerminal Eventos relacionados con el terminal web.
workspace Eventos relacionados con áreas de trabajo.

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 properties.requestId.

A excepción de las operaciones relacionadas con el montaje, los registros de diagnóstico de Azure Databricks no incluyen operaciones relacionadas con DBFS.

Las acciones automatizadas las realiza el usuario System-User. Por ejemplo, cuando Azure Databricks cambia el tamaño de un clúster mediante la característica de escalado automático o inicia un trabajo debido a la programación de trabajos.

En la tabla siguiente se enumeran las acciones disponibles para cada categoría. La acción y la categoría ayudan a formar el campo operationName para cada entrada de registro. Ese campo tiene el formato Microsoft.Databricks/<category>/<actionName>, por ejemplo, Microsoft.Databricks/jobs/create.

Category Nombre de acción Parámetros de solicitud
accounts IpAccessDenied path, userId
aadBrowserLogin user
aadTokenLogin user
activateUser warehouse, targetUserId, targetUserName
add warehouse, targetUserId, targetUserName
addPrincipalToGroup warehouse, targetGroupId, targetGroupName, targetUserId, targetUserName
changeDatabricksSqlAcl aclPermissionSet, resourceId, shardName, targetUserId
changeDatabricksWorkspaceAcl aclPermissionSet, resourceId, shardName, targetUserId
changeDbTokenAcl aclPermissionSet, resourceId, shardName, targetUserId
createGroup warehouse, targetGroupId, targetGroupName
createIpAccessList ipAccessListId, userId
deactivateUser warehouse, targetUserId, targetUserName
delete warehouse, targetUserId, targetUserName
deleteIpAccessList ipAccessListId, userId
disableClusterAcls warehouse
disableTableAcls warehouse
disableWorkspaceAcls warehouse
enableClusterAcls warehouse
enableTableAcls warehouse
enableWorkspaceAcls warehouse
garbageCollectDbToken tokenClientId, tokenCreationTime, tokenExpirationTime, tokenFirstAccessed, userId
generateDbToken tokenCreatedBy, tokenExpirationTime, userId
ipAccessListQuotaExceeded userId
jwtLogin user
login user
logout user
privateLinkValidationFailed userId
reachMaxQuotaDbToken userId
removeAdmin warehouse, targetUserId, targetUserName
removeGroup warehouse, targetGroupId, targetGroupName
removePrincipalFromGroup warehouse, targetGroupId, targetGroupName, targetUserId, targetUserName
revokeDbToken userId
setAdmin warehouse, targetUserId, targetUserName
tokenLogin tokenId, user
updateIpAccessList ipAccessListId, userId
updateUser warehouse, targetUserId, targetUserName
databrickssql addDashboardWidget dashboardId, widgetId
cancelQueryExecution queryExecutionId
changeWarehouseAcls aclPermissionSet, resourceId, shardName, targetUserId
changePermissions granteeAndPermission, objectId, objectType
cloneDashboard dashboardId
commandSubmit (solo para los registros de auditoría detallados) [“orgId”, “sourceIpAddress”, “timestamp”, “userAgent”,”userIdentity”, “shardName” (ver detalles)]
commandFinish (solo para los registros de auditoría detallados) [“orgId”, “sourceIpAddress”, “timestamp”, “userAgent”,”userIdentity”, “shardName” (ver detalles)]
createAlertDestination alertDestinationId, alertDestinationType
createDashboard dashboardId
createDataPreviewDashboard dashboardId
createWarehouse auto_resume, auto_stop_mins, channel, cluster_size, conf_pairs, custom_cluster_confs, enable_databricks_compute, enable_photon, enable_serverless_compute, instance_profile_arn, max_num_clusters, min_num_clusters, name, size, spot_instance_policy, tags, test_overrides
createQuery queryId
createQueryDraft queryId
createQuerySnippet querySnippetId
createRefreshSchedule alertId, dashboardId, refreshScheduleId
createSampleDashboard sampleDashboardId
createSubscription dashboardId, refreshScheduleId, subscriptionId
createVisualization queryId, visualizationId
deleteAlert alertId
deleteAlertDestination alertDestinationId
deleteDashboard dashboardId
deleteDashboardWidget widgetId
deleteWarehouse id
deleteExternalDatasource dataSourceId
deleteQuery queryId
deleteQueryDraft queryId
deleteQuerySnippet querySnippetId
deleteRefreshSchedule alertId, dashboardId, refreshScheduleId
deleteSubscription subscriptionId
deleteVisualization visualizationId
downloadQueryResult fileType, queryId, queryResultId
editWarehouse auto_stop_mins, channel, cluster_size, confs, enable_photon, enable_serverless_compute, id, instance_profile_arn, max_num_clusters, min_num_clusters, name, spot_instance_policy, tags
executeAdhocQuery dataSourceId
executeSavedQuery queryId
executeWidgetQuery widgetId
favoriteDashboard dashboardId
favoriteQuery queryId
forkQuery originalQueryId, queryId
listQueries filter_by, include_metrics, max_results, page_token
moveDashboardToTrash dashboardId
moveQueryToTrash queryId
muteAlert alertId
publishBatch statuses
publishDashboardSnapshot dashboardId, hookId, subscriptionId
restoreDashboard dashboardId
restoreQuery queryId
setWarehouseConfig data_access_config, enable_serverless_compute, instance_profile_arn, security_policy, serverless_agreement, sql_configuration_parameters, try_create_databricks_managed_starter_warehouse
snapshotDashboard dashboardId
startWarehouse id
stopWarehouse id
subscribeAlert alertId, destinationId
transferObjectOwnership newOwner, objectId, objectType
unfavoriteDashboard dashboardId
unfavoriteQuery queryId
unmuteAlert alertId
unsubscribeAlert alertId, subscriberId
updateAlert alertId, queryId
updateAlertDestination alertDestinationId
updateDashboard dashboardId
updateDashboardWidget widgetId
updateOrganizationSetting has_configured_data_access, has_explored_sql_warehouses, has_granted_permissions
updateQuery queryId
updateQueryDraft queryId
updateQuerySnippet querySnippetId
updateRefreshSchedule alertId, dashboardId, refreshScheduleId
updateVisualization visualizationId
clusters changeClusterAcl aclPermissionSet, resourceId, shardName, targetUserId
changeClusterPolicyAcl aclPermissionSet, resourceId, shardName, targetUserId
create acl_path_prefix, apply_policy_default_values, autoscale, autotermination_minutes, azure_attributes, billing_info, cluster_creator, cluster_event_notification_info, cluster_log_conf, cluster_name, cluster_source, custom_tags, data_security_mode, disk_spec, docker_image, driver_instance_pool_id, driver_instance_source, driver_node_type_id, enable_elastic_disk, enable_jobs_autostart, enable_local_disk_encryption, idempotency_token, init_scripts, instance_pool_id, instance_source, no_driver_daemon, node_type_id, num_workers, organization_id, policy_id, single_user_name, spark_conf, spark_env_vars, spark_version, ssh_public_keys, start_cluster, user_id, validate_cluster_name_uniqueness
createResult clusterId, clusterName, clusterOwnerUserId, clusterState, clusterWorkers
delete cluster_id, termination_reason
deleteResult clusterId, clusterName, clusterOwnerUserId, clusterState, clusterWorkers
edit apply_policy_default_values, autoscale, autotermination_minutes, azure_attributes, cluster_id, cluster_log_conf, cluster_name, cluster_source, custom_tags, data_security_mode, disk_spec, docker_image, driver_instance_pool_id, driver_instance_source, driver_node_type_id, enable_elastic_disk, enable_local_disk_encryption, init_scripts, instance_pool_id, instance_source, no_driver_daemon, node_type_id, num_workers, policy_id, single_user_name, spark_conf, spark_env_vars, spark_version, ssh_public_keys, validate_cluster_name_uniqueness, workload_type
permanentDelete cluster_id
resize autoscale, avoid_containers, cause, cluster_id, next_attempt_time_ms, num_workers
resizeResult clusterId, clusterName, clusterOwnerUserId, clusterState, clusterWorkers
restart cluster_id
restartResult clusterId, clusterName, clusterOwnerUserId, clusterState, clusterWorkers
start cluster_id
startResult clusterId, clusterName, clusterOwnerUserId, clusterState, clusterWorkers
dbfs addBlock data_length, handle
close handle
create bufferSize, overwrite, path
delete path, recursive
getSessionCredentials mountPoint
mkdirs path
mount mountPoint, owner
move destination_path, dst, source_path, src
put overwrite, path
unmount mountPoint
updateMount mountPoint, owner
deltaPipelines create allow_duplicate_names, clusters, configuration, continuous, development, dry_run, id, libraries, name, storage, target, channel, edition, photon, dbr_version (interno, no usar), email_notifications (interno, no usar), filters (en desuso),
delete pipeline_id
edit allow_duplicate_names, clusters, configuration, continuous, dbr_version (interno, no usar), development, email_notifications (interno, no usar), expected_last_modified, filters (en desuso), id, libraries, name, pipeline_id, storage, target, channel, edition, photon
startUpdate cause, full_refresh, job_task, pipeline_id
stop pipeline_id
featureStore addConsumer features, job_run, notebook
addDataSources feature_table, paths, tables
addProducer feature_table, job_run, notebook
changeFeatureTableAcl aclPermissionSet, resourceId, shardName, targetUserId
createFeatureTable description, name, partition_keys, primary_keys, timestamp_keys
createFeatures feature_table, features
deleteFeatureTable name
deleteTags feature_table_id, keys
getConsumers feature_table
getFeatureTable name
getFeatureTablesById ids
getFeatures feature_table, max_results
getModelServingMetadata feature_table_features
getOnlineStore cloud, feature_table, online_table, store_type
getTags feature_table_id
publishFeatureTable cloud, feature_table, host, online_table, port, read_secret_prefix, store_type, write_secret_prefix
searchFeatureTables max_results, page_token, text
setTags feature_table_id, tags
updateFeatureTable description, name
genie databricksAccess approver, authType, duration, isCriticalUser, reason, user
gitCredentials getGitCredential id
listGitCredentials Ninguna
deleteGitCredential id
updateGitCredential id, git_provider, git_username
createGitCredential git_provider, git_username]
globalInitScripts batch-reorder script_ids
create enabled, name, position, script-SHA256
delete script_id
update enabled, name, position, script-SHA256, script_id
instancePools changeInstancePoolAcl aclPermissionSet, resourceId, shardName, targetUserId
create azure_attributes, custom_tags, disk_spec, enable_elastic_disk, idle_instance_autotermination_minutes, instance_pool_name, max_capacity, min_idle_instances, node_type_id, preloaded_docker_images, preloaded_spark_versions
delete instance_pool_id
edit azure_attributes, custom_tags, disk_spec, enable_elastic_disk, idle_instance_autotermination_minutes, instance_pool_id, instance_pool_name, max_capacity, min_idle_instances, node_type_id, preloaded_spark_versions
jobs cancel run_id
cancelAllRuns job_id
changeJobAcl aclPermissionSet, resourceId, shardName, targetUserId
create access_control_list, dbt_task, email_notifications, existing_cluster_id, format, git_source, is_from_dlt, job_clusters, job_type, libraries, max_concurrent_runs, max_retries, min_retry_interval_millis, name, new_cluster, notebook_task, pipeline_task, python_wheel_task, retry_on_timeout, schedule, shell_command_task, spark_jar_task, spark_python_task, spark_submit_task, tasks, timeout_seconds
delete job_id
deleteRun run_id
repairRun latest_repair_id, rerun_tasks, run_id
reset is_from_dlt, job_id, new_settings
resetJobAcl grants, job_id
runFailed clusterId, idInJob, jobClusterType, jobId, jobTaskType, jobTerminalState, jobTriggerType, orgId, runId
runNow jar_params, job_id, notebook_params, python_params, spark_submit_params, workflow_context
runStart clusterId, idInJob, jobClusterType, jobId, jobTaskType, jobTerminalState, jobTriggerType, orgId, runId
runSucceeded clusterId, idInJob, jobClusterType, jobId, jobTaskType, jobTerminalState, jobTriggerType, orgId, runId
setTaskValue key, run_id
submitRun access_control_list, existing_cluster_id, idempotency_token, job_cluster_key, job_clusters, libraries, new_cluster, notebook_task, run_name, shell_command_task, spark_jar_task, spark_python_task, spark_submit_task, tasks, timeout_seconds, workflow_context
update fields_to_remove, job_id, new_settings
mlflowAcledArtifact readArtifact artifactLocation, experimentId, runId
writeArtifact artifactLocation, experimentId, runId
mlflowExperiment deleteMlflowExperiment experimentId, experimentName, path
moveMlflowExperiment experimentId, newPath, oldPath
renameMlflowExperimentEvent experimentId, newName, oldName, parentPath
restoreMlflowExperiment experimentId, experimentName, path
modelRegistry approveTransitionRequest archive_existing_versions, comment, name, stage, version
changeRegisteredModelAcl aclPermissionSet, resourceId, shardName, targetUserId
createComment comment, name, version
createModelVersion description, name, run_id, run_link, source, tags
createRegisteredModel description, name, tags
createRegistryWebhook description, events, http_url_spec, job_spec, model_name, status
createTransitionRequest comment, name, stage, version
deleteModelVersion name, version
deleteModelVersionTag key, name, version
deleteRegisteredModel name
deleteRegisteredModelTag key, name
deleteRegistryWebhook id
deleteTransitionRequest comment, creator, name, stage, version
finishCreateModelVersionAsync name, version
generateBatchInferenceNotebook input_data, name, output_path, stage, version
getModelVersionDownloadUri name, version
getModelVersionSignedDownloadUri name, path, version
listModelArtifacts name, path, version
listRegistryWebhooks max_results, model_name
rejectTransitionRequest comment, name, stage, version
renameRegisteredModel name, new_name
setEmailSubscriptionStatus model_name, subscription_type
setModelVersionTag key, name, value, version
setRegisteredModelTag key, name, value
setUserLevelEmailSubscriptionStatus subscription_type
testRegistryWebhook id
transitionModelVersionStage archive_existing_versions, comment, name, stage, version
updateRegistryWebhook description, events, http_url_spec, id, status
notebook attachNotebook clusterId, notebookId, path
cloneNotebook notebookId, path
createNotebook notebookId, path
deleteFolder path
deleteNotebook notebookId, notebookName, path
detachNotebook clusterId, notebookId, path
downloadLargeResults notebookFullPath, notebookId
downloadPreviewResults notebookFullPath, notebookId
importNotebook path, workspaceExportFormat
moveNotebook newPath, notebookId, oldPath
renameNotebook newName, notebookId, oldName, parentPath
restoreFolder path
restoreNotebook notebookId, notebookName, path
runCommand (solo para los registros de auditoría detallados) notebookId, executionTime, status, commandId, commandText (ver detalles)
takeNotebookSnapshot path
repos checkoutBranch branch, id
commitAndPush checkSensitiveToken, files, id, message
createRepo git_provider, git_url, path, provider, url
deleteRepo id
discard file_paths, id
getRepo id
listRepos next_page_token, path_prefix
pull id
updateRepo branch, git_provider, git_url, id, path, tag, workspace_filesystem_enabled
secrets createScope backend_azure_keyvault, initial_manage_principal, is_databricks_managed, scope, scope_backend_type
deleteAcl principal, scope
deleteScope scope
deleteSecret key, scope
getAcl principal, scope
getSecret key, scope
listAcls scope
listSecrets scope
putAcl permission, principal, scope
putSecret key, scope, string_value
sqlPermissions changeSecurableOwner principal, securable
createSecurable securable
denyPermission permission
grantPermission permission
removeAllPermissions securable
renameSecurable after, before
requestPermissions denied, permitted, requests, truncated
revokePermission permission
showPermissions principal, securable
ssh login containerId, instanceId, port, publicKey, userName
logout containerId, instanceId, userName
unityCatalog createCatalog comment, metastore_id, name, workspace_id
createDataAccessConfiguration metastore_id, name, workspace_id
createExternalLocation comment, credential_name, metastore_id, name, url, workspace_id
createMetastore metastore_id, name, storage_root, workspace_id
createMetastoreAssignment default_catalog_name, metastore_id, workspace_id
createRecipient comment, metastore_id, name, workspace_id
createSchema catalog_name, comment, metastore_id, name, workspace_id
createShare comment, metastore_id, name, workspace_id
createStagingTable catalog_name, metastore_id, name, schema_name, workspace_id
createStorageCredential azure_service_principal, comment, metastore_id, name, workspace_id
createTable catalog_name, columns, data_source_format, metastore_id, name, schema_name, storage_location, table_type, view_definition, workspace_id
deleteRecipient metastore_id, name, workspace_id
deleteSchema full_name_arg, metastore_id, workspace_id
deleteShare metastore_id, name, workspace_id
deleteTable full_name_arg, metastore_id, workspace_id
deltaSharingGetTableMetadata metastore_id, name, recipient_name, schema, share, user_agent, workspace_id
deltaSharingListAllTables metastore_id, options, recipient_name, share, user_agent, workspace_id
deltaSharingListSchemas metastore_id, options, recipient_name, share, user_agent, workspace_id
deltaSharingListShares metastore_id, options, recipient_name, user_agent, workspace_id
deltaSharingListTables metastore_id, options, recipient_name, schema, share, user_agent, workspace_id
deltaSharingQueriedTable metastore_id, recipient_name
deltaSharingQueryTable limitHint, metastore_id, name, recipient_name, schema, share, user_agent, workspace_id
generateTemporaryPathCredential credential_id, credential_type, ensure_url_exists, metastore_id, operation, url, workspace_id
generateTemporaryTableCredential credential_id, credential_type, is_permissions_enforcing_client, metastore_id, operation, table_full_name, table_id, workspace_id
getActivationUrlInfo metastore_id, recipient_name, workspace_id
getCatalog metastore_id, name_arg, workspace_id
getDataAccessConfiguration id, metastore_id, workspace_id
getExternalLocation metastore_id, name_arg, workspace_id
getMetastore id, metastore_id, workspace_id
getMetastoreSummary metastore_id, workspace_id
getPermissions metastore_id, principal, securable_full_name, securable_type, workspace_id
getRecipient metastore_id, name, workspace_id
getRecipientSharePermissions metastore_id, name, workspace_id
getSchema full_name_arg, metastore_id, workspace_id
getShare include_shared_data, metastore_id, name, workspace_id
getSharePermissions metastore_id, name, workspace_id
getStorageCredential metastore_id, name_arg, workspace_id
getTable full_name_arg, metastore_id, workspace_id
listCatalogs metastore_id, workspace_id
listDataAccessConfigurations metastore_id, workspace_id
listExternalLocations credential_name, metastore_id, url, workspace_id
listMetastores workspace_id
listRecipients metastore_id, workspace_id
listSchemas catalog_name, metastore_id, workspace_id
listShares metastore_id, workspace_id
listStorageCredentials metastore_id, workspace_id
listTableSummaries catalog_name, metastore_id, schema_name_pattern, table_name_pattern, workspace_id
listTables catalog_name, metastore_id, schema_name, workspace_id
metadataAndPermissionsSnapshot metastore_id, securables, workspace_id
metadataSnapshot metastore_id, securables, workspace_id
privilegedGetAllPermissions metastore_id, securables, workspace_id
privilegedGetTable full_name_arg, metastore_id, workspace_id
retrieveRecipientToken metastore_id, recipient_name, workspace_id
updateMetastore default_data_access_config_id, delta_sharing_enabled, delta_sharing_recipient_token_lifetime_in_seconds, id, metastore_id, name, owner, storage_root_credential_id, workspace_id
updateMetastoreAssignment default_catalog_name, metastore_id, workspace_id
updatePermissions changes, metastore_id, securable_full_name, securable_type, workspace_id
updateSchema full_name_arg, metastore_id, owner, workspace_id
updateShare metastore_id, name, updates, workspace_id
updateSharePermissions changes, metastore_id, name, workspace_id
updateTables columns, data_source_format, full_name_arg, metastore_id, storage_location, table_type, workspace_id
webTerminal startSession socketGUID, clusterId, serverPort, ProxyTargetURI
closeSession socketGUID, clusterId, serverPort, ProxyTargetURI
workspace changeWorkspaceAcl aclPermissionSet, resourceId, shardName, targetUserId
fileCreate path
fileDelete path
purgeClusterLogs logFilePath
purgeRevisionHistoryBefore property, propertyValue, treestoreId
purgeWorkspaceNodes treestoreId
workspaceConfEdit (cambios en la configuración del nivel de área de trabajo) workspaceConfKeys (por ejemplo, los registros de auditoría detallados usan el valor enableVerboseAuditLogs), workspaceConfValues (por ejemplo, para los registros de auditoría detallados, es true o false)
workspaceExport notebookFullPath, workspaceExportDirectDownload, workspaceExportFormat

Salida del registro de ejemplo

La muestra JSON siguiente es un ejemplo de la salida del registro de Azure Databricks:

{
    "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@contoso.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"
}

Análisis de registros de diagnóstico

Si ha seleccionado la opción Enviar a Log Analytics al activar el registro de diagnóstico, los datos correspondientes del contenedor se reenvían habitualmente a los registros de Azure Monitor en 15 minutos.

Antes de ver los registros, compruebe si se ha actualizado el área de trabajo de Log Analytics para utilizar el nuevo lenguaje de consulta Kusto. Para comprobarlo, abra Azure Portal y seleccione Log Analytics en el extremo izquierdo. Luego, seleccione el área de trabajo de Log Analytics. Si recibe un mensaje para actualizar, consulte Actualización del área de trabajo de Azure Log Analytics a la nueva búsqueda de registros.

Para ver los datos de diagnóstico en los registros de Azure Monitor, abra la página Búsqueda de registros desde el menú de la izquierda o el área Administración de la página. A continuación, escriba la consulta en el cuadro Búsqueda de registros.

Azure Log Analytics

Consultas

Estas son algunas consultas adicionales que puede escribir en el cuadro Búsqueda de registros. Estas consultas están escritas en el lenguaje de consulta Kusto.

  • Para consultar todos los usuarios que han accedido al área de trabajo de Azure Databricks y su ubicación:

    DatabricksAccounts
    | where ActionName contains "login"
    | extend d=parse_json(Identity)
    | project UserEmail=d.email, SourceIPAddress
    
  • Para comprobar las versiones de Spark usadas:

    DatabricksClusters
    | where ActionName == "create"
    | extend d=parse_json(RequestParams)
    | extend SparkVersion= d.spark_version
    | summarize Count=count() by tostring(SparkVersion)