1

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

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

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

Logstashconfig.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 中看到了它们。

4

1 回答 1

1

也许尝试配置 gelf 输入以接受端口 12201 上的 udp,例如

input {
   gelf {
      use_udp => true
      port_udp => 12201
   }
}
于 2019-04-10T13:54:28.437 回答