The dashboard displays the topology of services and workloads inside the mesh, and annotates it with real-time information about latency, throughput or HTTP request failures. It serves as a starting point of diagnosing problems within the mesh. The UI is integrated with Grafana to easily access more in-depths monitoring if needed, and with Jaeger for one-click access of distributed traces of various services.

Try it out!

On the TOPOLOGY tab, you’ll be presented the service mesh control panel. If your application hasn’t received any traffic yet, there will be no metrics in the system so you won’t see any visualization yet. The UI has a test flight feature that sends some traffic to a selected endpoint. If you hit the HTTP button in the top right corner of the screen, you’ll be able to fill out a form with the endpoint details and send some test traffic to your services.

In a few seconds a graph of your services will appear. The nodes in the graph are services or workloads, while the arrows represent network connection between different services. This is based on Istio metrics coming from Prometheus.

The graph serves as a visual monitoring tool, as it displays various errors and metrics in the system. Here are the options which can be observed and configured on the UI:

Namespaces

The namespaces can be filtered which ones we would like to see. If all are selected here’s what we get in a demo cluster:

Polling

Automatic polling to show real time metrics can be enabled or disabled.

Resources

The following resources can be filtered in a cluster: clusters, namespaces, apps, services and workloads.

Workloads are always shown, they cannot be disabled.

Here’s an example when only apps, services and workloads are shown:

Showing clusters is important in Backyards because it supports multi and hybrid cloud architectures as well.

Edge labels

The labels on the edges can also be customized. Here are the options you can choose from: latency, protocol, request rate, security. In this example security is chosen and it shows us that the services use mTLS to communicate with each other.

The graph legends in the above picture also helps you to understand what the icons mean exactly.