Docker和Kubernetes集群的日志和日志管理.doc

Docker和Kubernetes集群的日志和日志管理.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文的测试环境为CentOS 7.3,Kubernetes集群为1.11.2 日志对于我们管理Kubernetes集群及其上的应用具有非常重要的作用,特别是在出现故障或者Bug的时候。如果你能回答下面几个问题,那么可以不用再看本文了,如果不能回答,本文可能正好适合你。 Docker都会产生哪些日志? Docker产生的日志都放在哪里? Docker的日志的分割、清理策略默认为什么? 如何配置Docker日志的分割、清理策略? Kubernetes都会产生哪些日志? Kubernetes产生的日志都存放在那里? 如何集中管理Kubernetes产生的日志? 1. Docker的日志处理方案 Docker产生的日志有两类: 一类是Docker引擎日志。Docker引擎日志在不同的操作系统下管理方式不一样,在Centos中是通过journalctl来进行管理。 一类是容器日志。容器中的应用产生的日志默认都输出到stdout和stderr中,可以通过docker logs来访问。Docker为容器日志提供了多种实现机制称为logging driver。通过docker info可以查看本机使用的logging driver,默认为json-file形式,这种形式下每个容器的日志默认以json格式存储在/var/lib/docker/containers/容器id/容器id-json.log下。下面两种情况使用docker logs看不到什么有用的信息: 容器内的应用不是交互式应用,而是实现了自己的日志输出,例如对于Apache、Nginx等Web服务,通常会将访问日志和错误日志记录到不同的文件,而不是打到标准输出和错误输出。 使用不同的 logging driver将日志送到了文件、外部服务器、数据库等集中的日志后台。 Docker目前支持的logging driver类型: none json-file syslog journald gelf fluentd awslogs splunk etwlogs gcplogs logentries 1.1 配置logging driver 运行容器时,可以通过命令行参数指定logging driver的类型。 bogon:log rousseau$ docker run -it --log-driver none alpine sh / # ls #切换一个终端 bogon:log rousseau$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8ec61e8feb61 alpine sh 13 seconds ago Up 12 seconds xenodochial_ptolemy bogon:log rousseau$ docker logs 8ec61e8feb61 Error response from daemon: configured logging driver does not support reading bogon:log rousseau$ docker inspect -f {{.HostConfig.LogConfig.Type}} 8ec61e8feb61 none 对于日志输出到文件的应用,可以通过软连接的方式将日志输出到标准输出和标准错误输出。例如:The official nginx image creates a symbolic link from /var/log/nginx/access.log to /dev/stdout, and creates another symbolic link from /var/log/nginx/error.log to /dev/stderr, overwriting the log files and causing logs to be sent to the relevant special device instead. 对于多行格式的日志信息,有一点需要特别关注。The Docker json logging driver treats each line as a separate message. When using the Docker logging driver, there is no direct support for

文档评论(0)

yyons2019 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档