« Previous 1 2 3 4 5
Tracking down problems with Jaeger
Hunter
Jaeger in Practice
In everyday life, Jaeger is just as relevant for administrators as it is for application developers. Admins use the tool primarily for troubleshooting, as described, whereas developers also use Jaeger to find out whether changes to the individual components of a microservice application deliver the desired results. However, how can you ideally set up your Jaeger instance to leverage it to the full extent in a fast and efficient way? How can Jaeger be combined usefully with other tools such as Prometheus and Grafana for more benefits?
The good news is that ready-made how-tos exist that describe Jaeger integration with the popular applications of today's containerized world. Moreover, many tools, such as Prometheus, have decided to support Jaeger integration right out of the box.
Jaeger and Prometheus are often mistakenly considered competitors because they both have something to do with metrics data and monitoring. In fact, however, the two can combine perfectly to help you boost the efficiency of platform monitoring. Jaeger's query component, for example, now has a /metrics
endpoint through which it outputs acquired metrics data in the Prometheus format (Figure 4). In doing so, the component acts as a kind of exporter for Prometheus data.
Once the data from Jaeger arrives in Prometheus, you can do anything the tool allows – usually in combination with Grafana. Visualization, for example, then becomes a breeze. Although the Jaeger UI is optimized as a standalone component for displaying traces and spans, Grafana in combination with Prometheus impresses when it comes to processing metrics data.
Istio and Envoy are further outstanding examples of all-around successful Jaeger integration. The Istio service mesh now also integrates Open Telemetry functionality so that Istio operations can be displayed in detail in Jaeger (Figure 5). The Envoy load balancer component included in Istio can also be excellently linked with Jaeger (Figure 6). More detailed information regarding the steps required for integration can be found in the respective manuals.
Conclusions
If programmers fail to integrate Jaeger at the development level, a Jaeger server instance – no matter how well it is set up – will be of no use. Conversely, you need to plan for a working Jaeger framework in your data centers from the outset. Practice shows that getting a Jaeger setup up and running is anything but trivial. System administrators also tend to underestimate the load that a setup like this must shoulder. It can be substantial if several microservices generate traces at the same time; therefore, the hardware for the setup must be dimensioned appropriately.
Infos
- Open Telemetry standard: https://opentelemetry.io
- Jaeger tracing: https://www.jaegertracing.io
« Previous 1 2 3 4 5
Buy this article as PDF
(incl. VAT)