日志没有通过Fluentd刷新到Elasticsearch容器

我有一个本地设置运行2个conainers –

一个用于Elasticsearch(设置开发详细在这里 – https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html )。 我按照这篇文章的指示运行 – docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.4.1

另一个作为Fluentd聚合器(使用这个基础图像 – https://hub.docker.com/r/fluent/fluentd/ )。 我的fluent.conf用于testing目的如下:

 <source> @type forward port 24224 </source> <match **> @type elasticsearch host 172.17.0.2 # Verified internal IP address of the ES container port 9200 user elastic password changeme index_name fluentd buffer_type memory flush_interval 60 retry_limit 17 retry_wait 1.0 include_tag_key true tag_key docker.test reconnect_on_error true </match> 

这我开始与命令 – docker run -p 24224:24224 -v /data:/fluentd/log vg/fluentd:latest

当我运行我的进程(生成日志),并运行这两个容器,我看到以下趋势结束的Fluentd容器的stdout

2017-06-15 12:16:33 +0000 [info]: Connection opened to Elasticsearch cluster => {:host=>"172.17.0.2", :port=>9200, :scheme=>"http", :user=>"elastic", :password=>"obfuscated"}

但是,除此之外,我看不到任何日志。 当我login到http://localhost:9200我只能看到Elasticsearch的欢迎消息。

我知道日志到达Fluentd容器,因为当我更改fluent.confredirect到一个文件,我看到所有日志按预期。 我在设置Elasticsearch时做了什么错误? 我怎样才能看到我的浏览器/通过Kibana正确布置的所有指标?

看来你是在正确的轨道上。 只需检查在elasticsearch中创build的索引,如下所示:

 curl 'localhost:9200/_cat/indices?v' 

文档: https : //www.elastic.co/guide/en/elasticsearch/reference/1.4/_list_all_indexes.html

在那里你可以看到每个索引名称。 所以select一个并在其中search:

 curl 'localhost:9200/INDEXNAME/_search' 

文档: https : //www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html

不过我build议你使用kibana来获得更好的人体感受。 只需启动它,默认情况下它会在localhost中search弹性。 在界面的configuration中放上你现在知道的索引名称,然后开始播放。