如何获取通过使用Logstash容器运行应用程序生成的日志[数据]

时间:2018-10-21 19:29:33

标签: logstash dockerfile

我是Logstash和Docker的新手。

我正在使用logstash容器来检索由其他应用程序生成的日志。因为我能够成功运行容器,但是我的文件“ finalOuput.log ”中没有输出[[文件 finalOuput.log和pipeline.conf 都在容器]

1-> 我的Docker文件内容

FROM logstash

copy pipeline.conf /var/app/

copy finalOuput.log /var/app/

CMD ["-f", "/var/app/pipeline.conf"]

2-> 我的pipeline.config文件包含

input {
  file {

    path => "/predix/Documents/workspace-sts-3.8.1.RELEASE/sendRohit/9aug/application-logs/application-log.log"
  }
}

filter {
 grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }
}

output {

  file {
   path => "/finalOuput.log"
   codec => line { format => "custom format: %{message}"}
 }
}

1 个答案:

答案 0 :(得分:0)

现在我正在获取数据。需要将pipeline.conf放在容器的根目录中。

FROM logstash
run mkdir rvol
copy third-pipeline.conf /
copy outputdata.log /rvol/
copy inputData.log /rvol/
CMD ["-f", "/third-pipeline.conf"]

然后触发命令:下面的命令是单个命令

docker run -d --name = container_Name -v'/predix/Documents/rvol/inputData.log':'/rvol/inputData.log'-v'/predix/Documents/rvol/outputdata.log': '/rvol/outputdata.log'image_Name