溫馨提示×

Linux Docker日志如何查看與分析

小樊
54
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配置其他驅動(如syslog、fluentd),實現集中管理。

三、最佳實踐

  • 生產環境:使用fluentdLogstash將日志發送至ELK,避免本地日志堆積。
  • 日志輪轉:通過--log-opt max-size=10m --log-opt max-file=3限制單個日志文件大小和數量。
  • 敏感信息處理:避免在日志中記錄密碼等敏感數據,可通過日志驅動過濾或脫敏。

參考來源

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女