Skip to content
You are viewing the documentation for Solo Enterprise for Istio, formerly known as Gloo Mesh (OSS APIs).

Grafana

Page as Markdown

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

DashboardDescription
istio-performance-dashboardMonitors the health and performance of Istio components: the istiod control plane, ztunnel, and waypoint proxies.
istio-peering-dashboardMonitors and verifies peering connections between clusters in a multicluster ambient mesh setup.
istio-global-services-dashboardMonitors 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-stack from 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.

  1. Add the Grafana Helm chart repository.

    helm repo add grafana https://grafana.github.io/helm-charts
    helm repo update
  2. Install 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=true
  3. Retrieve the generated admin password.

    kubectl get secret grafana -n monitoring -o jsonpath='{.data.admin-password}' | base64 -d

Import the dashboards

  1. Go to the Solo COP Grafana directory and download the JSON file for each dashboard you want to import.

  2. In Grafana, click Dashboards in the left navigation, then click New > Import.

  3. Click Upload dashboard JSON file and select the downloaded file.

  4. Select your Prometheus data source from the dropdown, then click Import.

  5. Repeat for each dashboard.

Open a dashboard

  1. Port-forward to your Grafana service. If you installed with kube-prometheus-stack, the service is in the monitoring namespace.

    kubectl port-forward svc/kube-prometheus-stack-grafana -n monitoring 3000:80
  2. Open http://localhost:3000 in your browser and log in. The default credentials for kube-prometheus-stack are username admin and password prom-operator.

  3. In the left navigation, click Dashboards and browse to the dashboard you imported.

  4. Use the time range picker in the upper right to set the observation window.

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