'错误无法联系 Elasticsearchhttp://本地主机:9200。请确保您的系统可以访问 Elasticsearch。'
目前我正在关注http://packetbeat.com/getstarted
我安装了
- elastic search - 在 localhost:9200 上运行 - 返回 json,2.packetbeat - 正在运行,
- Kibana 位于端口 8000
现在,我更改我的 kibana/config.js 文件 - 输入,
elasticsearch: "http://"localhost":9200",
{{dashboard.current.title}}
在 elasticsearch 下。我得到了一个顶部带有的纯白色页面。
如果我注释掉elasticsearch: "http://"localhost":9200",
我明白了Error Could not contact Elasticsearch at http://localhost:9200. Please ensure that Elasticsearch is reachable from your system.
如果我也将其输入为elasticsearch: "http://localhost:9200",
,我会收到相同的错误,即无法联系 elasticsearch。
所以,我认为它elasticsearch: "http://"localhost":9200",
是正确的,但它应该渲染一些东西。也许是一个 UI
答案1
您需要确保已elaticsearch_url
在您的 kibana 配置中设置。
vim /opt/kibana/config/kibana.yml
elasticsearch_url: "http://localhost:9200"
然后重新启动:
sudo service kibana restart
来源:日志
答案2
在 /etc/elasticsearch/elasticsearch.yml 中检查您的 elasticsearch 监听
检查 elasticsearch 是否启动:) (ps -ef |grep elasticsearch)
如果没有,请重新启动。
并检查您是否没有对 9200 端口设置防火墙。因为 kibana 需要连接到 elasticsearch。
所有 kibana 作业都是通过对端口 9200 上的 elasticsearch 数据库的请求完成的。
答案3
就我而言,问题是由设置了 HTTP_PROXY 环境变量并且代理服务器关闭引起的。
这不是最明显的原因,并且从错误消息中也没有明显的方法来查找原因。
答案4
对于本地开发,您可能需要通过编辑 Elasticsearch YAML 文件来启用 CORS:
例如:
http.cors.enabled: true
http.cors.allow-origin: "*"
(对于生产工作量,你应该加强它)。