Persistencia de registros en una ubicación de almacenamiento de registro central (versión 9.0.0.3 o más reciente)
Al persistir los archivos de registro en una ubicación central fuera de los contenedores de Docker, puede realizar diagnósticos y resolver problemas incluso si el contenedor no es accesible o se ha destruido.
A partir de la versión 9.0.0.3 de HCL Commerce, dentro de cada contenedor de Docker, los archivos de registro se recopilan en un nombre de carpeta único que se deriva del
![Imagen de los contenedores que alimentan el almacenamiento del registro central](../images/loggingdesign.gif)
containerType
y del containerId
. Por ejemplo, suponiendo que tiene dos Search server Docker container, los archivos de registro se encuentran en los directorios siguientes.- Contenedor de búsqueda 1: /opt/WebSphere/Liberty/usr/servers/default/logs/container/search_<containerId1>
- Contenedor de búsqueda 2: /opt/WebSphere/Liberty/usr/servers/default/logs/container/search_<containerId2>
Nota: Si desea establecer la carpeta de registro en un directorio diferente dentro del contenedor, puede utilizar el siguiente mandato de Ejecutar motor.
Puede persistir todos los archivos de registro de contenedor mediante la creación de un punto de montaje de volumen en la máquina de host del Docker o en el servidor de registro central. Puesto que cada contenedor tiene su propia carpeta de registro exclusivo (run set-trace-log-directory <new_log_path>
Para obtener más información sobre cómo el proceso de inicio establece la carpeta de registro, consulte el script /SETUP/bin/entrypoint.sh.containerType
_containerId
), puede simplemente montar todos los directorios de registro del contenedor (*/logs/) en la misma vía de acceso de la máquina host.![Imagen de los contenedores que alimentan el almacenamiento del registro central](../images/loggingdesign.gif)
Por qué y cuándo se efectúa esta tarea
Procedimiento
-
Cree una carpeta en la máquina host del Docker para almacenar los archivos de registro.
Por ejemplo, cree un directorio
/logs
para almacenar los archivos de los servidores de transacción, tienda, búsqueda, XC y Web.El contenedor del servidor de programa de utilidad no sigue el convenio
containerType
_containerId
puesto que no es necesario desplegar varios contenedores de programa de utilidad. Cree un directorio independiente como/logs/utils
. -
Configure los contenedores de Docker para que empiecen con un montaje de volumen en el directorio correspondiente que acaba de crear en la máquina host del Docker.
Por ejemplo, si utiliza el Docker Compose, edite el archivo de Compose para añadir el distintivo de volúmenes.
En los siguientes ejemplos se indican las vías de acceso al lugar donde se generan los registros en cada contenedor.volumes: -"<log_folder_on_machine>":"<log_folder_in_container>"
- Para Transaction server Docker container,
volumes: -"/logs:/opt/WebSphere/AppServer/profiles/default/logs/container"
- Para Web server Docker container,
volumes: - "/logs:/opt/WebSphere/HTTPServer/logs"
- Para Search server Docker container,
El directorio /opt/WebSphere/Liberty/usr/servers/default/logs/container también enlaza al directorio /profile/logs en el contenedor.volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container"
- Para Store server Docker container,
El directorio /opt/WebSphere/Liberty/usr/servers/default/logs/container también enlaza al directorio /profile/logs en el contenedor.volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container"
- Para Customization server Docker container,
volumes: -"/logs:/opt/WebSphere/Liberty/usr/servers/default/logs/container"
- Para el Utility server Docker container
volumes: -"/logs/utils:/opt/WebSphere/CommerceServer90/logs" -"/logs/utils:/opt/WebSphere/CommerceServer90/instances/demo/logs"
- Para Transaction server Docker container,
- Despliegue los contenedores mediante el archivo de Docker Compose actualizado.
Resultados
- /logs/search_<containerId>
- /logs/store_<containerId>
- /logs/ts_<containerId>
- /logs/web_<containerId>
- /logs/xc_<containerId>
- /logs/utils