【问题标题】:grafana elasticsearch datasource configurationgrafana elasticsearch 数据源配置
【发布时间】:2021-02-14 15:10:06
【问题描述】:

我正在尝试为 Grafana 配置 ElasticSearch 数据源。我让它们都在本地的 Docker 中运行,都有 7.2.0 版本。对于 Grafana,我提供 ES URL http://localhost:9200、索引名称、时间字段和 ES 版本。所有其他参数保持默认值。 通过保存我的配置,我可以在 Grafana 日志中看到下一个:

t=2021-02-14T14:55:58+0000 lvl=eror msg="Data proxy error" logger=data-proxy-log userId=1 orgId=1 uname=admin path=/api/datasources/proxy/1/<index>/_mapping remote_addr=172.17.0.1 referer="http://localhost:3000/datasources/edit/1/?utm_source=grafana_gettingstarted" error="http: proxy error: dial tcp 127.0.0.1:9200: connect: connection refused"

t=2021-02-14T14:55:58+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/datasources/proxy/1/<index>/_mapping status=502 remote_addr=172.17.0.1 time_ms=1 size=0 referer="http://localhost:3000/datasources/edit/1/?utm_source=grafana_gettingstarted"

我不明白为什么 Grafana 会尝试从某个未知 IP 获取映射。以及如何配置它。 顺便说一句,对http://localhost:9200/&lt;index&gt;/_mapping 的请求会返回正确的映射。

【问题讨论】:

  • grafana 和 elasticsearch 是否在同一个容器中运行?
  • 我为此使用了一个 docker-compose 文件,但每个应用程序都在自己的容器中运行。
  • 这就是问题所在,如果你在你的grafana配置中使用http://localhost:9200,它会尝试连接到本地的elasticsearch实例,但是你的elasticsearch没有在同一个容器中运行,localhost表示本地,在同一台机器或容器中运行。您需要输入您的elasticsearch容器的地址。
  • 使用 docker-compose 服务名称实际上解决了我的问题:http://elasticsearch:9200。谢谢!
  • 遇到了同样的问题。我使用了 docker 网络提供的容器 IP 并且也可以工作。谢谢

标签: elasticsearch grafana


【解决方案1】:

根据Grafana Documentation关于配置:

“需要从 Grafana 后端/服务器访问 URL”,因此,请尝试将“http://localhost:9200”替换为“http://elasticsearch:9200”。我以前遇到过同样的问题,用这种方式替换它对我很有用:)

另外:“elasticsearch”是 Elasticsearch 容器的默认名称(如果您使用 Docker 运行),这就是名称的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2020-11-30
    相关资源
    最近更新 更多