我正在尝试在运行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中看到它们。
答案 0 :(得分:0)
也许尝试将gelf输入配置为在端口12201上接受udp,例如
input {
gelf {
use_udp => true
port_udp => 12201
}
}