Journalisation des scripts d'initialisation
Les événements de start et de fin de script d’initialisation sont capturés dans les Logs d'événements du cluster. Les détails sont capturés dans les logs du cluster. Les événements de création, modification et suppression de scripts d'initialisation globaux sont également capturés dans les logs d'audit au niveau du compte.
Événements de script d'initialisation
Les Logs d’événements de clusters capturent deux événements de script d’initialisation : INIT_SCRIPTS_STARTED et INIT_SCRIPTS_FINISHED, indiquant quels scripts sont planifiés pour l’exécution et lesquels ont été exécuté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 des événements des Logs par la clé "global" et les scripts d'initialisation à l'échelle du clusters sont indiqués par la clé "cluster".
Les Logs d'événements de cluster n'enregistrent pas les événements de script d'initialisation pour chaque nœud de cluster ; seul un nœud est sélectionné pour les représenter tous.
Où les logs de script d'initialisation sont-ils écrits ?
Si la log delivery est configurée pour un cluster, les logs du script d'initialisation sont écrits dans /<cluster-log-path>/<cluster-id>/init_scripts.
Logs de chaque conteneur du cluster sont écrits 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 Unity Catalog /Volumes/<catalog>/<schema>/<volume>, le chemin des logs pour un conteneur spécifique serait le suivant : /Volumes/<catalog>/<schema>/<volume>/<cluster-id>/init_scripts/<cluster-id>_<container-ip>.
Vous pouvez consulter les logs à l'aide de l'utilitaire File system utility (dbutils.fs) ou du groupe de commandes fs command group. Par exemple, pour lister les logs du cluster 1001-234039-abcde739 transmis au 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 livraison des Logs de clusters n'est pas configurée, les Logs sont écrits dans /databricks/init_scripts. Vous pouvez utiliser des commandes Shell standard dans un Notebook pour lister et visualiser les Log :
%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 log dans le dossier des logs du script d'initialisation.
Tout utilisateur qui crée un cluster et active la livraison des Logs de clusters peut afficher la sortie stderr et stdout des scripts d'initialisation globaux. Vous devez vous assurer que vos scripts d'initialisation globaux ne génèrent aucune information sensible.
Événements de script d'initialisation dans les logs d'audit
Les Logs d'audit Databricks capturent les événements de création, de modification et de suppression de scripts d'initialisation globaux sous le type d'événement globalInitScripts. Voir les événements des scripts d'initialisation globaux.