Jaeger integration in Kiali
Kiali has the ability to show traces obtained from Istio. Jaeger collects traces for monitoring and troubleshooting microservices-based distributed systems , and both Istio and Kiali use the data that Jaeger provides. Originally this was done via a separate tab in the UI. But that turned out to be impractical. So the Kiali team has been working with the Jaeger team on the Jaeger integration. By improving the Jaeger UI components to make them embeddable, there is better integration between a Kiali selection and a Jaeger selection, making it easier to enrich Jaeger with Kiali information.
This enhancement consists of changes in the URL API to personalize the component to be presented from Jaeger UI similar to the Google Maps API. You can view this enhancement in Jaeger in the version 1.8.2 of the project and the related documentation is available here. This enhanced integration between Jaeger and Kiali should be available in the next release of Istio, when Jaeger is updated to version 1.9. In the meantime we would like to show you what it will look like in future versions.
In the main menu the Distributed Tracing link will show us the search component of Jaeger (see the image above). This enhancement let us pass parameters like service, lookback … to the API and get the related traces, allowing us to have a better integration with Jaeger. These allow us to perform the same search for Jaeger within Kiali.
In the image above we can see a toolbar (1) with the options to find the traces of our services, we have to filter by namespace and service to use the finder and set the optional parameters like lookback ( 1 hour by default), tags, min/max duration of the trace and the limit results ( 20 by default) to have our results, these options are the same offered by Jaeger UI. The results (2) are displayed in an iframe inside Kiali UI, we can interact with the results and see a specific trace.
In the image below we can see the details of a service, and now the traces tab shows us the number of error traces in the last hour, this enhancement with the metrics and the information of the service improves the observability in Kiali helping us to investigate and troubleshoot the problems we have in our service.
Inside this tab we can see all the information about the error traces, we can also search/filter by tags and min/max duration.
The demo about how it will look in Kiali is in the sprint 15 video in YouTube
With this feature we can focus in the observability by correlating this, for example it may be possible to stand on a node in the graph, do a right-click and then select “traces involving this node”.
More information about Jaeger embedded components is available here.