【问题标题】:Mac OS X, Docker: Get container logs out of Docker for Mac VM into an ELK Stack in the same Docker for MacMac OS X、Docker:将容器日志从 Docker for Mac VM 获取到同一 Docker for Mac 中的 ELK 堆栈
【发布时间】:2020-04-28 14:42:46
【问题描述】:

问题:
- 在 Docker for Mac (2.2.0.5) 中运行的 ELK Stack (7.6.2)
- 从Docker container log file not found on Mac 得知,Mac 上的容器日志保存在 Docker for Mac VM 中。

问题:
如何将(部分)容器日志从 VM 中连续获取到运行在同一 Docker for Mac 上的 ELK Stack。

是的,我知道在 Linux 中这会容易得多。但目前我只有我的 Mac。
是的,我知道我可以将带有一些 Mac 魔法的文件从 VM 复制到普通的 Mac FS 中,然后将其放入 ELK 堆栈中。但如果可能的话,我想避免这个手动步骤。是的,我知道我可以做一个 cron 工作,它会自动完成,但我也想避免这种情况。

那么知道如何实现这一点吗?

谢谢, 亚历克斯

【问题讨论】:

    标签: macos docker elastic-stack


    【解决方案1】:

    好的,经过更多研究和一些尝试和错误,这是我的解决方案,它可能不是最好的,但它正在工作。

    步骤:
    1)创建网络:

    docker network create elastic  
    

    2) 运行es:

    docker run -d --name elasticsearch  --network elastic --restart unless-stopped -v /Data/elastic:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2  
    

    3) 运行 kibana:

    docker run -d --name kibana --network elastic --restart unless-stopped -p 5601:5601 kibana:7.6.2
    

    4) 创建一个logstash.conf:

    input {
      syslog {
        port => 9500
        type => "docker"
      }
    }
    
    filter {
      date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
      }
    }
    
    output {
      elasticsearch {
        hosts => ["elasticsearch:9200"]
        index => "docker_logs"
      }
    }
    

    5) 运行logstash:

    docker run -d --rm -v $PWD/config/syslog.conf:/usr/share/logstash/config/logstash.conf -p 9500:9500 --name logstash --network elastic logstash:7.6.2 bin/logstash -f /usr/share/logstash/config/logstash.conf
    

    6) 运行容器:

    docker run --log-driver syslog --log-opt syslog-address=tcp://1.2.3.4:9500 alpine echo hello world
    

    作为 1.2.3.4 的 docker 主机的 ip。

    7) 打开kibana:

    open http://1.2.3.4:5601
    

    8) 做我想学的 kibana 东西

    好的,这就是我的解决方案...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多