Skip to content

[istio] Istio Plugin #176

@ricoberger

Description

@ricoberger

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/.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions