- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 内蒙古版综合实践活动五年级下册第三课 今天我是小交警 课件.ppt
- 道德与法治四年级上册第一单元 与班级共成长 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 公安寄递物流业治安管理.pptx VIP
- 2024年苏科版九年级数学下册第六章《相似图形》课件.ppt VIP
- 故事——小羊过桥.ppt
- 自动售货机plc控制系统设计.doc
- 股先知周线指标公式通达信版(1).docx VIP
- 选择结构程序设计-C语言程序试验报告.pdf
- 以廉洁风险防控为核心的“三不腐”机制应用-来源:现代企业文化(第2020010期)-中国工人出版社.pdf VIP
- 疯狂星期二_13610597.pdf
文档评论(0)