Journaux persistants vers un emplacement de stockage central du journal (version 9.0.0.3 ou ultérieure)
En conservant les fichiers journaux dans un emplacement central à l'extérieur des conteneurs Docker, vous pouvez effectuer des diagnostics et identifier et résoudre des incidents, même si le conteneur n'est pas accessible ou est détruit.
A compter d'HCL Commerce version 9.0.0.3, à l'intérieur de chaque conteneur Docker, les fichiers journaux sont rassemblés sous un nom de dossier unique dérivé de

containerType et containerId. Par exemple, en supposant que vous avez deux Search server Docker containers, les fichiers journaux se trouvent dans les répertoires suivants.- Conteneur de recherche 1 : /opt/WebSphere/Liberty/usr/servers/default/logs/container/search_<containerId1>
- Conteneur de recherche 2 : /opt/WebSphere/Liberty/usr/servers/default/logs/container/search_<containerId2>
Remarque : Si vous souhaitez définir le dossier de journal dans un autre répertoire à l'intérieur du conteneur, vous pouvez utiliser la commande Run Engine suivante.
Vous pouvez conserver tous les fichiers journaux de conteneurs en créant un point de montage de volume vers la machine hôte Docker ou le serveur de journaux central. Puisque chaque conteneur dispose de son propre dossier de journal unique (run set-trace-log-directory <new_log_path> Pour en savoir plus sur la façon dont le processus de démarrage définit le dossier du journal, voir le script /SETUP/bin/entrypoint.sh.containerType_containerId), vous pouvez simplement monter tous les répertoires de journal de conteneur (*/logs/) sur le même chemin sur votre machine hôte.
Pourquoi et quand exécuter cette tâche
Procédure
-
Créez un dossier sur l'ordinateur hôte Docker pour stocker les fichiers journaux.
Par exemple, créez un répertoire
/logspour stocker des fichiers à partir des serveurs de transactions, de magasin, de recherche, personnalisés et Web.Le conteneur du serveur d'utilitaire ne suit pas la convention
containerType_containerId, puisque vous n'avez pas besoin de déployer plusieurs conteneurs d'utilitaires. Créez un répertoire distinct tel que/logs/utils. -
Configurez vos conteneurs Docker pour commencer par un montage de volume dans le répertoire correspondant que vous venez de créer sur la machine hôte Docker.
Par exemple, si vous utilisez Docker Composer, modifiez le fichier Composer pour ajouter l'indicateur sur les volumes.
Les exemples suivants indiquent les chemins qui mènent à l'endroit où les journaux sont générés dans chaque conteneur.volumes: -"<log_folder_on_machine>":"<log_folder_in_container>"- Pour Transaction server Docker container,
volumes: -"/logs:/opt/WebSphere/AppServer/profiles/default/logs/container" - Pour Web server Docker container,
volumes: - "/logs:/opt/WebSphere/HTTPServer/logs" - Pour Search server Docker container,
Le répertoire /opt/WebSphere/Liberty/usr/servers/default/logs/container est également lié au répertoire /profile/logs du conteneur.volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container" - Pour Store server Docker container,
Le répertoire /opt/WebSphere/Liberty/usr/servers/default/logs/container est également lié au répertoire /profile/logs du conteneur.volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container" - Pour Customization server Docker container,
volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container" - Pour Utility server Docker container
volumes: -"/logs/utils:/opt/WebSphere/CommerceServer90/logs" -"/logs/utils:/opt/WebSphere/CommerceServer90/instances/demo/logs"
- Pour Transaction server Docker container,
- Déployez des conteneurs à l'aide du fichier Docker Compose mis à jour.
Résultats
- /logs/search_<containerId>
- /logs/store_<containerId>
- /logs/ts_<containerId>
- /logs/web_<containerId>
- /logs/xc_<containerId>
- /logs/utils