Grafana
Learn how to use pre-built Grafana dashboards from the Solo COP repository to visualize Istio metrics collected by Prometheus.
The Solo Communities of Practice (COP) repository provides pre-built Grafana dashboards for visualizing Istio metrics. These dashboards use Prometheus as their data source.
Available dashboards
| Dashboard | Description |
|---|---|
istio-performance-dashboard | Monitors the health and performance of Istio components: the istiod control plane, ztunnel, and waypoint proxies. |
istio-peering-dashboard | Monitors and verifies peering connections between clusters in a multicluster ambient mesh setup. |
istio-global-services-dashboard | Monitors locality-aware traffic distribution and endpoint health across clusters, networks, zones, and regions in a multicluster ambient mesh setup. |
Before you begin
Make sure you have the following:
- A Prometheus instance configured to scrape Istio metrics. For steps, see Prometheus.
- A running Grafana instance connected to that Prometheus as a data source. If you installed
kube-prometheus-stackfrom the Prometheus guide, Grafana is already included — skip to Import the dashboards.
If you have an existing Prometheus but need to install Grafana separately, use the Grafana Helm chart.
Add the Grafana Helm chart repository.
helm repo add grafana https://grafana.github.io/helm-charts helm repo updateInstall Grafana, setting your Prometheus URL as the default data source. Replace
<prometheus-url>with the in-cluster address of your Prometheus server.helm upgrade --install grafana grafana/grafana \ --namespace monitoring \ --create-namespace \ --set datasources."datasources\.yaml".apiVersion=1 \ --set datasources."datasources\.yaml".datasources[0].name=Prometheus \ --set datasources."datasources\.yaml".datasources[0].type=prometheus \ --set datasources."datasources\.yaml".datasources[0].url=<prometheus-url> \ --set datasources."datasources\.yaml".datasources[0].isDefault=trueRetrieve the generated admin password.
kubectl get secret grafana -n monitoring -o jsonpath='{.data.admin-password}' | base64 -d
Import the dashboards
Go to the Solo COP Grafana directory and download the JSON file for each dashboard you want to import.
In Grafana, click Dashboards in the left navigation, then click New > Import.
Click Upload dashboard JSON file and select the downloaded file.
Select your Prometheus data source from the dropdown, then click Import.
Repeat for each dashboard.
Open a dashboard
Port-forward to your Grafana service. If you installed with
kube-prometheus-stack, the service is in themonitoringnamespace.kubectl port-forward svc/kube-prometheus-stack-grafana -n monitoring 3000:80Open
http://localhost:3000in your browser and log in. The default credentials forkube-prometheus-stackare usernameadminand passwordprom-operator.In the left navigation, click Dashboards and browse to the dashboard you imported.
Use the time range picker in the upper right to set the observation window.
If the dashboard includes variables such as namespace or workload name, use the dropdowns at the top of the dashboard to filter the view.
Grafana with ClickHouse
If you want to build custom dashboards directly on top of the telemetry data stored in ClickHouse, you can also connect Grafana to the ClickHouse instance deployed alongside the Solo UI. For steps, see ClickHouse data store.