【问题标题】:Jaeger all-in-one with ElasticSearchJaeger 与 ElasticSearch 合二为一
【发布时间】:2020-11-09 16:57:53
【问题描述】:

我正在使用 Jaeger C# Client 在 ASP.NET Core (3.1) Web API 中对 Jaeger 的使用进行原型设计,并使其与 All in One approach they mention in their Getting Started documentation 一起使用。这适用于初始原型设计,但我还想通过存储到 ElasticSearch 实例进行测试。幸运的是,我找到了another Stack Overflow post about this which contains a docker-compose.yaml for deploying Elastic Search and all the Jaeger components,并且在对稍微过时的 docker-compose (details in my answer for that post) 进行了一些调整后,我得到了它。

但是,在浏览 Jaeger 文档时,我发现 CLI Flags reference for the jaeger-all-in-one distribution 似乎自相矛盾。首先,它说

具有代理、收集器和查询的 Jaeger 一体化分发。谨慎使用此版本默认仅使用内存数据库。

但它也继续说

jaeger-all-in-one 可以与这些存储后端一起使用:

然后列出 jager-all-in-one 分发 CLI 标志详细信息:

所以这意味着 Jaeger All in One 发行版可以与 Elastic Search 等一起使用。我猜测关于仅支持内存数据库的一体化发行版的初始评论适用于 jaeger-all-in-one with memory 选项而不是其他人,否则它没有意义。

有 Jaeger 经验的人可以澄清一下吗?

【问题讨论】:

    标签: jaeger


    【解决方案1】:

    文档中并不清楚,但我设法通过提供SPAN_STORAGE_TYPE 和相应的连接详细信息使其工作,以允许 jaeger 组件与在一体机容器外运行的存储通信。

    例如,我在我的 Mac 上运行 elasticsearch,所以我使用以下命令来运行 all-in-one:

    docker run -d --name jaeger-es \
      -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
      -e SPAN_STORAGE_TYPE=elasticsearch \
      -e ES_SERVER_URLS=http://host.docker.internal:9200 \
      -p 5775:5775/udp \
      -p 6831:6831/udp \
      -p 6832:6832/udp \
      -p 5778:5778 \
      -p 16686:16686 \
      -p 14268:14268 \
      -p 14250:14250 \
      -p 9411:9411 \
      jaegertracing/all-in-one:1.20
    

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      相关资源
      最近更新 更多