我有一个运行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
用于测试目的如下:
<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"}
但是,除此之外,我看不到任何日志。当我登录http://localhost:9200
时,我只看到Elasticsearch欢迎消息。
我知道日志正在到达Fluentd容器,因为当我将fluent.conf
更改为重定向到文件时,我会按预期看到所有日志。在我的Elasticsearch设置中我做错了什么?如何才能在我的浏览器/ Kibana中正确看到所有索引?
答案 0 :(得分:1)
您似乎正走在正确的轨道上。只需检查在elasticsearch中创建的索引,如下所示:
curl 'localhost:9200/_cat/indices?v'
文档: https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_list_all_indexes.html
在那里你可以看到每个索引名称。所以选择一个并在其中搜索:
curl 'localhost:9200/INDEXNAME/_search'
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
然而我建议您使用kibana以获得更好的人类体验。只需启动它,默认情况下它会在localhost中搜索弹性。在界面的配置中输入您现在知道的索引名称,并开始使用它。