DataHub容器、DataHub GMS(backend server)和DataHub前端(UI server)将日志文件写入本地容器文件系统。
要提取这些日志,需要从运行服务的容器中获取。
当DataHub某一个功能不可用时,就需要通过分析组件日志分析原因。
本文针对从DataHub容器中提取日志的方式进行总结。
如何从容器中提取日志
查看容器列表
docker container ls
查找日志文件
查看所有日志文件。
日志文件在容器中的文件目录如下:
- datahub-gms:
/tmp/datahub/logs/gms
- datahub-frontend:
/tmp/datahub/logs/datahub-frontend
日志有如下2种:
- Info Logs: 包括Info、warn、error日志。它们是容器运行时打印到标准输出的内容。
- Debug Logs: 这些日志文件的保留时间较短(1天),但包括更细粒度的调试信息【DataHub会忽略其依赖的外部库的调试日志】。
查看日志文件列表命令模板如下:
docker exec --privileged <container-id> <shell-command>
示代如下:
docker exec --privileged datahub-gms ls -la /tmp/datahub/logs/gms
将日志保存到本地
将容器日志文件的副本保存到本地文件系统中,以便进一步分析研究
docker exec --privileged datahub-gms cat /tmp/datahub/logs/gms/gms.debug.log > gms-debug.log
现在你应该能够在本地查看日志了。