I am prototyping the use of 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 another Stack Overflow post about this which contains a docker-compose.yaml for deploying Elastic Search and all the Jaeger components and I got that working after a few tweaks to the slightly outdated docker-compose (details in my answer for that post).
However, while digging through the Jaeger documentation, I found the CLI Flags reference for the jaeger-all-in-one distribution that seems to contradict itself. First, it says
Jaeger all-in-one distribution with agent, collector and query. Use with caution this version by default uses only in-memory database.
But then it also proceeds to say
jaeger-all-in-one can be used with these storage backends:
and then lists jager-all-in-one distribution CLI Flag details for:
- jaeger-all-in-one with cassandra
- jaeger-all-in-one with elasticsearch
- jaeger-all-in-one with memory
- jaeger-all-in-one with badger
- jaeger-all-in-one with grpc-plugin
So this implies that the Jaeger All in One distribution can be used with Elastic Search, etc. I am guessing the initial comment about the all-in-one distribution only supporting an in-memory database applies to the jaeger-all-in-one with memory option and not the others as otherwise it doesn't make sense.
Can someone with Jaeger experience clarify?