linux

Linux Docker日志如何查看与分析

小樊
45
2025-09-04 11:47:13
栏目: 智能运维

一、查看Docker日志

  1. 基础命令

    • docker logs <容器ID/名称>:查看容器全部日志。
    • docker logs -f <容器ID>:实时查看日志(类似tail -f)。
    • docker logs --tail 100 <容器ID>:仅显示最后100行日志。
    • docker logs --since "2025-01-01" <容器ID>:查看指定时间后的日志。
    • docker logs -t <容器ID>:显示带时间戳的日志。
  2. 查看容器内文件日志

    • 进入容器:docker exec -it <容器ID> /bin/bash
    • 查看文件:cat /var/log/app.log(需提前将日志输出到文件)。

二、日志分析方法

  1. 命令行过滤

    • 结合grep筛选关键字:docker logs <容器ID> | grep "ERROR"
    • 使用awk提取特定字段(如时间戳)。
  2. 第三方工具

    • ELK Stack(推荐)
      • 组件:Elasticsearch(存储)、Logstash(收集/解析)、Kibana(可视化)。
      • 配置:通过Fluentd或Logstash将Docker日志(JSON格式)发送至Elasticsearch,用Kibana分析。
    • Fluentd
      • 轻量级日志收集器,支持多源日志聚合,可输出到Elasticsearch、Graylog等。
    • Prometheus + Grafana
      • 适合指标监控,需配合日志采集工具(如Fluentd)使用。
  3. 日志驱动配置

    • 默认使用json-file驱动,日志存储在/var/lib/docker/containers/<容器ID>/<容器ID>-json.log
    • 可通过/etc/docker/daemon.json配置其他驱动(如syslogfluentd),实现集中管理。

三、最佳实践

参考来源

0
看了该问题的人还看了