Docker是一個開源的應用容器化平臺,它利用了操作系統層面的虛擬化技術,將應用程序和它所依賴的庫、環境等一切事物打包成一個容器,方便移植、分發、部署。
在 Docker 容器內運行的應用程序產生的日志信息也是非常重要的,它對于故障排查、性能優化和安全分析等方面都起到了至關重要的作用。Docker 容器默認生成了 JSON 格式的日志信息,存儲在 var/lib/docker/containers/[CONTAINER ID]/[CONTAINER ID]-json.log 文件中。JSON 格式具有結構化、易讀性好等優點,但是對于普通用戶來說,它不太友好。
因此,Docker提供了一個方便的命令,可以將 JSON 格式的日志轉換成非常友好的中文格式,使用如下命令:
docker logs --timestamps --tail 100 [CONTAINER NAME/ID] | awk '{ gsub(/T|Z/, " "); print $0 }' | sed 's/{/{\
/&/g'| sed 's/\}/{\\<\/br\>/g'| sed 's/\(",\|"\),/\1\
/g' | sed 's/","/,\
/g' | sed 's/^\[/\\上面的命令中,--timestamps 選項可以輸出時間戳,--tail 選項可以只輸出最后 N 條日志信息。其他的一些 AWK 和 SED 命令可以將 JSON 格式的日志轉換成更友好的 HTML 格式,其中包括換行、縮進等,讓日志易于閱讀和解析。
當然,也可以使用第三方工具,比如 elasticsearch+logstash+kibana(ELK)工具鏈,將 Docker 容器產生的日志集中管理,從而實現日志的統一檢索、分析和可視化展示。
總的來說,Docker 中文日志對于 Docker 用戶來說是非常方便的,它讓 Docker 日志更加易于閱讀和解析,對用戶排錯、調優等方面提供了很多幫助。
上一篇hive插入json數據
下一篇c json 轉義字符