All in one Docker image¶
This image, designed for quick local testing, launches the Jaeger UI, collector, query, and agent, with an in memory storage component.
The simplest way to start the all in one docker image is to use the pre-built image published to DockerHub (a single command line).
docker run -d -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp \ -p5778:5778 -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest
You can then navigate to
http://localhost:16686 to access the Jaeger UI.
The container exposes the following ports:
|5775||UDP||agent||accept zipkin.thrift over compact thrift protocol|
|6831||UDP||agent||accept jaeger.thrift over compact thrift protocol|
|6832||UDP||agent||accept jaeger.thrift over binary thrift protocol|
|14268||HTTP||collector||accept zipkin.thrift from zipkin senders|
Kubernetes and OpenShift¶
Kubernetes and OpenShift templates can be found in Jaegertracing organization on Github.
HotROD (Rides on Demand)¶
This is a demo application that consists of several microservices and illustrates the use of the OpenTracing API. A tutorial / walkthough is available in the blog post: Take OpenTracing for a HotROD ride.
It can be run standalone, but requires Jaeger backend to view the traces.
go get github.com/uber/jaeger cd $GOPATH/src/github.com/uber/jaeger make install_examples cd examples/hotrod go run ./main.go all
Then navigate to
- Discover architecture of the whole system via data-driven dependency diagram.
- View request time line & errors, understand how the app works.
- Find sources of latency, lack of concurrency.
- Highly contextualized logging.
Use baggage propagation to
- Diagnose inter-request contention (queueing).
- Attribute time spent in a service.
Use open source libraries with OpenTracing integration to get vendor-neutral instrumentation for free.
- You need Go 1.7 or higher installed on your machine.
- Requires a running Jaeger backend to view the traces.
Running Individual Jaeger Components¶
Individual Jaeger backend components can be run from source.
They all have their
main.go in the
cmd folder. For example, to run the
go get github.com/uber/jaeger cd $GOPATH/src/github.com/uber/jaeger make install go run ./cmd/agent/main.go
In the near future we will provide individual Docker images for each component, as well as the Kubernetes templates.
Migrating from Zipkin¶
Both of them support this Zipkin idl, and expose the
On the agent,
ZipkinCollector is available on
5775, and uses the
TBinaryProtocol. Collector service
exposes Zipkin REST API and can be enabled by