Jaeger与ElasticSearch一体化



我正在使用Jaeger C#客户端对Jaeger在ASP.NET Core(3.1(Web API中的使用进行原型设计,并使用了他们在入门文档中提到的All-in-One方法。这对于初始原型设计来说很好,但我也想通过存储到ElasticSearch的实例来进行测试。幸运的是,我发现了另一篇关于Stack Overflow的帖子,其中包含一个用于部署Elastic Search和所有Jaeger组件的docker-compose.yaml,在对稍微过时的docker-compose进行了一些调整后,我就开始工作了(详细信息请参阅我对该帖子的回答(。

然而,在浏览Jaeger文档时,我发现Jaeger的CLI Flags引用集中在一个发行版中,这似乎自相矛盾。首先,上面写着

Jaeger一体式分发,具有代理、收集器和查询功能。请谨慎使用此版本默认情况下仅在内存数据库中使用。

但它也继续说

jaeger一体机可以与这些存储后端一起使用:

,然后列出jager all in one distribution CLI Flag的详细信息:

  • 耶格尔与卡桑德拉合一
  • jaeger集弹性搜索于一体
  • 耶格尔与记忆融为一体
  • 杰格与獾合一
  • jaeger与grpc插件合一

因此,这意味着Jaeger All-in-One分发版可以与Elastic Search等一起使用。我猜关于一体式分发版仅支持内存数据库的最初评论适用于Jaeger All-in-One with memory选项,而不适用于其他选项,否则就没有意义了。

有耶格经验的人能澄清吗?

文档中并不清楚,但我通过提供SPAN_STORAGE_TYPE和相应的连接详细信息,使jaeger组件能够与运行在一体式容器外部的存储进行通信,从而使其正常工作。

例如,我在Mac上运行弹性搜索,所以我使用以下命令运行一体机:

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

最新更新