首页 > 解决方案 > 如何获取使用 Logstash Container 运行应用程序生成的日志[数据]

问题描述

我是 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}"}
 }
}

标签: logstashdockerfile

解决方案


现在我正在获取数据。需要将 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


推荐阅读