-
-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Is your feature request related to a problem? Please describe.
Currently we can view the Istio metrics in kobs via the Prometheus or Kiali plugin. It would be nice to have another view where we can see the success rate, request per seconds and the latency for each application in a table view. This table can be filtered by namespace and when an application is selected, we got the details for this application.
Describe the solution you'd like
Similar to the other plugins a new Istio plugin can be created. Each instance of the plugin can then be configured with the name of a Prometheus instance from which we retrieve the relevant information. It is also possible to add a logging plugin (ClickHouse or Elasticsearch) to also see the access logs from Istio and a Jaeger instance.
With this configuration we can directly call the Prometheus, ClickHouse or Jaeger plugin from the frontend or we can pass the configured instances to the Istio configuration on the backend side and proxy the requests there.
The frontend of the plugin is a simple table with the following columns: Application
, Success Rate (SR)
, Requests per Second (RPS)
, P50 Latency
, P95 Latency
, P99 Latency
. This table can be filtered by a list of namespaces. When a row from the table is selected the user will be redirected to the corresponding details page, where he can see the same metrics for each Pod of the application.
Besides that it would also be good to have the Kiali graph for the selected application, where we can see the mentioned metrics for all the inbound and outbound requests from/to other services.
In further steps we can also show the access logs for the application and the traces on this page or add them as links for the corresponding plugins.
Describe alternatives you've considered
We can build something similar via Dashboards, but there we are limited in the options. For that an additional plugin for Istio would be really useful.
Additional context
The Linkerd dashboard is very good and sth. similar would be awsome: https://linkerd.io/2.10/features/dashboard/. Another good example can be found in the following blog post: https://banzaicloud.com/blog/backyards-traffic-tap/.