Kiali — Service Mesh Observability Console for Istio
Kiali is the official observability console for the Istio service mesh, providing topology visualization, traffic flow analysis, configuration validation, and distributed tracing integration.
What it is
Kiali is the management console for the Istio service mesh. It provides a real-time visual graph of your microservices topology, showing how services communicate, where traffic flows, and where errors occur. Beyond visualization, Kiali validates Istio configuration objects, detects misconfigurations before they cause outages, and integrates with Prometheus, Grafana, and Jaeger.
It is built for platform engineers and SREs who operate Istio in production and need a single pane of glass for mesh health, traffic routing, and configuration validation.
How it saves time or tokens
Debugging traffic routing in Istio typically requires reading YAML manifests and correlating them with Prometheus metrics manually. Kiali overlays live traffic data onto a graph, so you can spot misconfigured VirtualServices or failing retries at a glance. The configuration validator catches common Istio mistakes -- duplicate hosts, missing gateways, conflicting routing rules -- before they reach production.
How to use
- Install Kiali as an Istio addon or via Helm.
# As Istio addon
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/addons/kiali.yaml
# Or via Helm
helm install kiali-server kiali/kiali-server -n istio-system
- Port-forward to access the dashboard.
kubectl port-forward svc/kiali 20001:20001 -n istio-system
- Open
http://localhost:20001in your browser to view the service graph, traffic metrics, and configuration status.
Example
Checking traffic health for a namespace:
# Kiali also exposes a REST API for automation
curl -s http://localhost:20001/kiali/api/namespaces/bookinfo/graph \
-H 'Accept: application/json' | jq '.elements.nodes[].data.service'
The graph endpoint returns the same topology data rendered in the UI, useful for CI checks or custom dashboards.
Related on TokRepo
- Monitoring tools -- Observability solutions that complement service mesh dashboards.
- DevOps tools -- Infrastructure tools for cloud-native environments.
Common pitfalls
- Kiali requires Prometheus to be running in the cluster. Without it, the service graph shows topology but no metrics.
- The Istio addon install uses default credentials. Change the authentication method to OpenID Connect or token-based auth for production.
- Kiali's graph can become unreadable with hundreds of services. Use namespace and label filters to scope the view.
Frequently Asked Questions
Yes. Kiali is purpose-built for Istio and reads Istio configuration objects (VirtualService, DestinationRule, Gateway) and Envoy telemetry. It does not work with other service meshes like Linkerd or Consul Connect.
Kiali reads all Istio CRDs in the cluster and checks for common mistakes: duplicate hosts across VirtualServices, references to missing gateways, conflicting routing rules, and weight sums that do not equal 100. Warnings appear directly in the dashboard.
Yes. Kiali integrates with Jaeger or Zipkin. When tracing is configured in Istio, Kiali links service graph nodes to their corresponding traces, so you can drill from a high-level topology view down to individual request spans.
Kiali is open source under the Apache 2.0 license. It is maintained as a CNCF-adjacent project and is included as an official Istio addon. There is no paid tier.
Kiali shows request rate, error rate, and latency percentiles (p50, p95, p99) per service and per edge in the graph. These metrics come from Prometheus scraping Envoy sidecar telemetry.
Citations (3)
- Kiali GitHub— Kiali is the official management console for Istio
- Istio Addons Documentation— Included as an official Istio addon
- Kiali Documentation— Validates Istio configuration objects and flags misconfigurations
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.