Journalisation du script d’initialisation

Les événements de démarrage et de fin du script d’initialisation sont consignés dans les journaux d’événements du cluster. Les détails sont consignés dans les journaux du cluster. Les événements de création, de modification et de suppression dans un script init global sont également capturés dans les journaux de diagnostic au niveau du compte.

Événements du script d’initialisation

Les journaux d’événements du cluster consignent deux événements liés aux scripts d’initialisation : INIT_SCRIPTS_STARTED et INIT_SCRIPTS_FINISHED, indiquant quels scripts sont prévus pour être exécutés et lesquels se sont terminés avec succès. INIT_SCRIPTS_FINISHED capture également la durée d’exécution.

Les scripts d’initialisation globaux sont indiqués dans les détails de l’événement du journal par la clé "global", et les scripts d’initialisation propres à un cluster sont indiqués par la clé "cluster".

Note

Les journaux des événements de cluster ne consignent pas les événements de script init pour chaque nœud de cluster ; un seul nœud est sélectionné pour tous les représenter.

Où sont consignés les journaux des scripts d’initialisation ?

Si la remise des journaux de cluster est configurée pour un cluster, les journaux de scripts init sont écrits dans /<cluster-log-path>/<cluster-id>/init_scripts.

Les journaux de chaque conteneur du cluster sont enregistrés dans un sous-répertoire appelé init_scripts/<cluster-id>_<container-ip>.

Par exemple, si le chemin des logs est défini sur le volume /Volumes/<catalog>/<schema>/<volume>du catalogue Unity , le chemin vers les logs pour un conteneur spécifique serait : /Volumes/<catalog>/<schema>/<volume>/<cluster-id>/init_scripts/<cluster-id>_<container-ip>.

Vous pouvez consulter les journaux d'activité à l’aide de l’utilitaire de système de fichiers (dbutils.fs) ou du fsgroupe de commandes. Par exemple, pour afficher la liste des journaux du cluster 1001-234039-abcde739 envoyés vers le volume /Volumes/<catalog>/<schema>/<volume> :

databricks fs ls dbfs:/Volumes/<catalog>/<schema>/<volume>/1001-234039-abcde739/init_scripts
1001-234039-abcde739_10_97_225_166
1001-234039-abcde739_10_97_231_88
1001-234039-abcde739_10_97_244_199
databricks fs ls dbfs:/Volumes/<catalog>/<schema>/<volume>/1001-234039-abcde739/init_scripts/1001-234039-abcde739_10_97_225_166
<timestamp>_<log-id>_<init-script-name>.sh.stderr.log
<timestamp>_<log-id>_<init-script-name>.sh.stdout.log

Lorsque la distribution des journaux du cluster n’est pas configurée, les journaux sont consignés dans /databricks/init_scripts. Vous pouvez utiliser des commandes shell standard dans un notebook pour répertorier et afficher les journaux :

%sh
ls /databricks/init_scripts/
cat /databricks/init_scripts/<timestamp>_<log-id>_<init-script-name>.sh.stdout.log

Chaque fois qu’un cluster démarre, il écrit un journal dans le dossier des journaux du script d’initialisation.

Important

Tout utilisateur qui crée un cluster et active la livraison des journaux du cluster peut afficher la sortie stderr et stdout des scripts d’initialisation globaux. Vous devez vous assurer que vos scripts init globaux n’affichent pas d’informations sensibles en sortie.

Événements de script d'initialisation dans les journaux de diagnostic

Les journaux de diagnostic d’Azure Databricks consignent les événements de création, de modification et de suppression des scripts d’initialisation globaux sous le type d’événement globalInitScripts. Consultez les événements des scripts d’initialisation globaux.