为什么Logstash不消耗Gelf的日志?

时间:2019-04-10 13:24:27

标签: docker logging logstash elastic-stack gelf

我正在尝试在运行Docker容器的日志和Logstash之间建立交互。

我使用以下命令运行Docker容器:

docker run --log-driver gelf --log-opt gelf-address=udp://127.0.0.1:12201 nfrankel/simplelog:1

,Logstash config.json是:

input {
  gelf {}
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
  stdout {}
}

Logstash日志很好,我知道了

New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["http://localhost:9200"]}
Starting gelf listener (udp) ... {:address=>"0.0.0.0:12201"}
Successfully started Logstash API endpoint {:port=>9600}

但是,它不起作用。我没有在Logstash控制台中看到日志,也没有看到创建的Elasticsearch索引。

您能帮我解决我的问题吗?

值得一提的是,运行中的Docker容器会生成日志,而我在启动它的Cygwin中看到它们。

1 个答案:

答案 0 :(得分:0)

也许尝试将gelf输入配置为在端口12201上接受udp,例如

input {
   gelf {
      use_udp => true
      port_udp => 12201
   }
}