【发布时间】:2019-08-23 06:04:18
【问题描述】:
无法在 Linux 上使用 ElasticSearch 映射 logstash
我只是运行下面的命令,它显示了 docker 上所有正在运行的图像
sudo docker ps
输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e14ace6bd419 a962b6541416 "/bin/bash /usr/loca…" 23 hours ago Up 22 hours 0.0.0.0:5601->5601/tcp trusting_chatterjee
00e6822bb991 28259852697e "/usr/local/bin/dock…" 23 hours ago Up 23 hours 9200/tcp, 9300/tcp friendly_roentgen
我只想将logstash链接到弹性搜索并尝试运行以下命令
命令:
sudo docker run -d --rm -it -v /home/sabharanikumar/logstash.conf e95781358676
输出:
989e2a8f4d9fd972c4f2102d726a68877c989b546800899abbb8c382fb62f04c
logstash.conf:
input
{
stdin{}
}
output
{
elasticsearch{ hosts => ["localhost:9200"] }
}
Logstash 日志:
[2019-08-23T09:40:53,833][警告][logstash.outputs.elasticsearch] 尝试恢复与死掉的 ES 实例的连接,但得到了一个 错误。 {:url=>"http://logstash_system:xxxxxx@elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch 无法访问: [http://logstash_system:xxxxxx@elasticsearch:9200/][Manticore::ResolutionFailure] elasticsearch:名称或服务未知”}
我运行了 sudo docker ps,但正在列出 logstash。
有什么我错过的吗?有什么地方需要更改主机值吗?
【问题讨论】:
-
您需要运行
sudo docker ps -a,然后您将看到您的容器处于退出状态。运行docker logs <container_name>并发布结果,如果您仍然需要帮助来解决问题,但很可能日志会告诉您确切的问题所在。 -
“localhost:9200”看起来也不对。此配置在容器内读取。对于该容器,本地主机是容器本身。我想你想指向
friendly_roentgen。关于容器名称,我建议您在启动它们时给它们命名,而不是让 docker 每次启动容器时选择另一个随机名称。 -
更新了最新发现。我刚刚更新了命令并观察到logstash 现在正在启动并运行。但它仍然会引发一些错误。
标签: docker elasticsearch logstash kibana