docker 日志分析

日志分两类,一类是 Docker 引擎日志;另一类是 容器日志。

Docker 引擎日志 
Docker 引擎日志 一般是交给了 Upstart(Ubuntu 14.04) 或者 systemd (CentOS 7, Ubuntu 16.04)。前者一般位于 /var/log/upstart/docker.log 下,后者一般通过 jounarlctl -u docker 来读取。不同系统的位置都不一样,SO上有人总结了一份列表,我修正了一下,可以参考:

系统 日志位置
Ubuntu(14.04) /var/log/upstart/docker.log
Ubuntu(16.04) journalctl -u docker.service
CentOS 7/RHEL 7/Fedora journalctl -u docker.service
CoreOS journalctl -u docker.service
OpenSuSE journalctl -u docker.service
OSX ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/d‌?ocker.log
Debian GNU/Linux 7 /var/log/daemon.log
Debian GNU/Linux 8 journalctl -u docker.service
Boot2Docker /var/log/docker.log
容器日志 
容器的日志 则可以通过 docker logs 命令来访问,而且可以像 tail -f 一样,使用 docker logs -f 来实时查看。如果使用 Docker Compose,则可以通过 docker-compose logs <服务名> 来查看。

如果深究其日志位置,每个容器的日志默认都会以 json-file 的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>-json.log 下,不过并不建议去这里直接读取内容,因为 Docker 提供了更完善地日志收集方式 - Docker 日志收集驱动。

关于日志收集,Docker 内置了很多日志驱动,可以通过类似于 fluentd, syslog 这类服务收集日志。无论是 Docker 引擎,还是容器,都可以使用日志驱动。比如,如果打算用 fluentd 收集某个容器日志,可以这样启动容器:

$ docker run -d \
–log-driver=fluentd \
–log-opt fluentd-address=10.2.3.4:24224 \
–log-opt tag=”docker.{{.Name}}” \
nginx
其中 10.2.3.4:24224 是 fluentd 服务地址,实际环境中应该换成真实的地址。

dockerd 日志配置
要改变dockerd的日志为debug,可以重启dockerd,并提供启动参数-D或–debug,示例如下:

dockerd -D

dockerd的日志文件,默认为/var/log/messages,也可以重定向到其他日志文件,示例如下:

dockerd -D >> log_file 2>&1

方法二:
vi /etc/docker/daemon.json

{
"debug": true
}
重启docker daemon

systemctl stop docker
systemctl daemon-reload
systemctl start docker

dockerd的日志级别
dockerd支持的日志级别debug, info, warn, error, fatal,默认的日志级别为info。必要的情况下,还需要设置日志级别,这也可以通过配置文件,或者通过启动参数-l或–log-level。
方法一:配置文件/etc/docker/daemon.json

{
"log-level": "debug"
}

方法二:

dockerd --log-level debug
dockerd -l debug

查看日志
方法一:

tail -f /var/log/messages

方法二:

watch -d -n 1 cat /var/log/messages

-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可

转自:https://blog.csdn.net/warrior_0319/article/details/79713155

原文地址:https://www.cnblogs.com/wang-yaz/p/10437315.html

时间: 2024-11-01 12:09:03

docker 日志分析的相关文章

Docker 部署ELK 日志分析

Docker 部署ELK 日志分析 elk集成镜像包 名字是 sebp/elk 安装 docke.启动 yum install docke service docker start Docker至少得分配3GB的内存:不然得加参数 -e ES_MIN_MEM=128m  -e ES_MAX_MEM=1024m 加了-e参数限制使用最小内存及最大内存. Elasticsearch至少需要单独2G的内存: vm.max_map_count至少需要262144,修改vm.max_map_count 参

基于Docker容器部署ELK日志分析系统

部署ELK日志分析系统,比较消耗计算机硬件,如果使用虚拟机进行测试部署,建议分配较多的硬件资源,否则,当elk容器运行后,会使其无法正常运行.我这里将分配给docker主机5G内存,四个CPU. 一.环境准备 我这里使用一台docker主机(如需要部署docker服务,可以参考博文:Docker的安装详细配置),其IP地址为192.168.20.6,在其之上运行elk容器. 二.配置docker主机运行elk容器 [[email protected] ~]# echo "vm.max_map_c

docker:搭建ELK 开源日志分析系统

ELK 是由三部分组成的一套日志分析系统, Elasticsearch: 基于json分析搜索引擎,Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片, 索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash:动态数据收集管道,Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 Kibana:可视化视图,将elasticsearh所收集的data通过视图展现.kibana 是一个

浅谈ELK日志分析平台

作者:珂珂链接:https://zhuanlan.zhihu.com/p/22104361来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 小编的话 "技术干货"系列文章意在分享技术牛人的知识干货,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞! 2016年7月20日,本期品高云公开课由叶春草带来"可视化案发现场--浅谈ELK日志分析平台"的分享. 分享嘉宾 叶春草现就职于品高云软件技术支持工程师.就职

GoAccess日志分析

1.GoAccess日志分析 1.1简介 GoAccess是一个开源的实时网络日志分析器和交互式查看器,可在Linux终端或浏览器中运行. 1.2 软件功能  – 为系统管理员提供可视化的服务器报告 -为系统管理员提供快速且有价值的HTTP统计 1.3软件特性 – 快速.实时(由于基于C语言编写,可在毫秒或秒内完成更新) – 只依赖于ncurses – 兼容几乎所有的Web日志格式(Apache.Nginx.Amazon S3.Elastic Load Balancing.CloudFront等

性能优化分析Spring Cloud ELK+kafka日志分析平台

一.概述 在笔者的上一篇博客介绍了Spring Cloud ELK+kafka日志分析平台的搭建,http://xuyangyang.club/articles/2018/05/24/1527176074152.html,但是笔者在测试环境中发现,在logstash采用了grok插件去处理日志埋点和解析的时候发现了高资源占用,在阿里云8核16G的服务器部署后,测试环境大概每秒不超过几百条的日志的解析下竟然CPU占用高达95%左右,笔者分析了其中的原因,首先由于几个服务的日志格式相关配置还没有落地

分享10个网管必备的日志分析工具

为什么需要日志分析工具?连接到网络的每个设备或应用都会创建日志文件.网络管理员使用这些日志文件来查看性能数据.这些工具很有用,因为它们提供了对用户本来不具备的数据的访问权限.日志分析工具从设备的日志文件中收集数据,并将其转换为易于阅读的格式. 在日志分析工具中,以图形将性能的相关数据显示到仪表盘.以这种集中格式,读取性能数据要比尝试直接读取日志文件作为文本文件容易得多. SolarWinds Log & Event ManagerSolarWinds Log&Event Manager是W

linux系统web日志分析脚本

linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照互联网上图文教程也无从下手.对于此情况我编写了一个web日志分析脚本,功能比较简单,无需配置,有需要的朋友可以再尝试一下.  脚本地址: gbk版(一般ssh客户端不用调整直接可用: wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/weblogch

CentOS 7 使用ELK套件搭建日志分析和监控平台

1 概述 ELK套件(ELK stack)是指ElasticSearch.Logstash和Kibana三件套.这三个软件可以组成一套日志分析和监控工具. 由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/ 2 环境准备 2.1 软件要求 本文把ELK套件部署在一台CentOS单机上. 具体的版本要求如下: 操作系统版本:CentOS 6.4: JDK版本:1.