点击进入“PHP开源社区”免费获取进阶面试、文档、视频资源
kubernetes日志收集方案有几种方案,都适用于什么场景?本文对k8s常用日志采集方案做了详细介绍。
关于容器日志
Docker的日志分为两类,一类是Docker引擎日志;另一类是容器日志。
引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,容器日志可以理解是运行在容器内部的应用输出的日志,默认情况下,dockerlogs显示当前运行的容器的日志信息,内容包含STOUT(标准输出)和STDERR(标准错误输出)。日志都会以json-file的格式存储于/var/lib/docker/containers/容器id/容器id-json.log,不过这种方式并不适合放到生产环境中。
默认方式下容器日志并不会限制日志文件的大小,容器会一直写日志,导致磁盘爆满,影响系统应用。(dockerlog-driver支持log文件的rotate)DockerDaemon收集容器的标准输出,当日志量过大时会导致DockerDaemon成为日志收集的瓶颈,日志的收集速度受限。日志文件量过大时,利用dockerlogs-f查看时会直接将DockerDaemon阻塞住,造成dockerps等命令也不响应。
Docker提供了loggingdrivers配置,用户可以根据自己的需求去配置不同的log-driver,可参考