docker的日志采集,首先需要了解docker的日志驱动类型

    1.json-file 日志格式为json。默认的日志驱动

    2.none  不生产日志

    3.syslog  将日志写入到syslog中,该syslog守护程序必须在主机上运行

    4.local 日志自定义格式存储,实现最小开销

    5.journald  将日志写入journald中


 这几种日志驱动最常见吧,修改docker的驱动类型

1.直接修改docker的daemon.json文件

     vim  /etc/docker/daemon.json

        {

                    "log-driver": "日志驱动类型"

                    "log-opts":{

                                 "max-size": "10m",

                                  "max-file": "3",

                                  "labels": "xxxxxxx"                    }

        } 


 2.第二种,在容器启动的时候设定容器的日志驱动类型及标签信息

   本次实验就是采集第二种方式配置日志驱动类型:syslog,并使用filebeat采集

    命令操作

    docker run --rm -itd --hostname test --log-driver syslog  --log-opt syslog-address=udp://日志发送的目的ip:port  --log-opt tag=test(为日志打上标签)  nignx

           

    filebeat的配置文件:

        vim syslog.json

            filebeat.inputs:

            - type: udp

              host: "192.168.191.10:5144"

              tags: ["syslog"]

            

            output.file:

              path: "/root/syslog"

              filename: syslog.log

            #  rotate_every_kb: 1000

            #  number_of_files: 3

 

启动filebeat

    nohup  ./filebeat -e -c  syslog.json  &

    查看日志输出文件信息