Jaeger 与 ElasticSearch 合二为一

Jaeger all-in-one with ElasticSearch

我正在制作 Jaeger in an ASP.NET Core (3.1) Web API using the Jaeger C# Client and I got it working with the All in One approach they mention in their Getting Started documentation. This works fine for initial prototyping but I also wanted to test with storing to an instance of ElasticSearch. Luckily, I found and I got that working after a few tweaks to the slightly outdated docker-compose () 的原型。

然而,在挖掘 Jaeger 文档时,我发现 CLI Flags reference for the jaeger-all-in-one distribution 似乎自相矛盾。首先,它说

Jaeger all-in-one distribution with agent, collector and query. Use with caution this version by default uses only in-memory database.

但随后它还会继续说

jaeger-all-in-one can be used with these storage backends:

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

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

有 Jaeger 经验的人可以解释一下吗?

文档中并不清楚,但我设法通过提供 SPAN_STORAGE_TYPE 和相应的连接详细信息使 jaeger 组件能够与 运行ning 之外的存储对话一体化容器。

例如,我 运行 在我的 Mac 上使用 elasticsearch,所以我使用以下命令 运行 一体化:

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