Grafana
Grafana は、Istioのダッシュボードを設定するために使用できるオープンソースのモニタリングソリューションです。 Grafanaを使用して、Istioおよびサービスメッシュ内のアプリケーションの正常性を監視できます。
設定
独自のダッシュボードを構築することもできますが、Istioはメッシュとコントロールプレーンの最も重要なメトリクスのすべてについて、事前設定されたダッシュボードのセットを提供しています。
- メッシュダッシュボードは、メッシュ内のすべてのサービスの概要を提供します。
- サービスダッシュボードは、サービスのメトリクスの詳細な内訳を提供します。
- ワークロードダッシュボードは、ワークロードのメトリクスの詳細な内訳を提供します。
- パフォーマンスダッシュボードは、メッシュのリソース使用量を監視します。
- コントロールプレーンダッシュボードは、コントロールプレーンの正常性とパフォーマンスを監視します。
- WASM拡張ダッシュボードは、メッシュ全体のWebAssembly拡張ランタイムと読み込み状態の概要を提供します。
Grafana をこれらのダッシュボードを使用するように構成するには、いくつかの方法があります。
オプション 1: クイックスタート
Istio は、Grafana をすぐに起動して実行するための基本的なサンプルインストールを提供しており、すべての Istio ダッシュボードが既にインストールされています。
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/addons/grafana.yaml
これは、Grafana をクラスターにデプロイします。これはデモのみを目的としており、パフォーマンスやセキュリティのために調整されていません。
オプション 2: `grafana.com` から既存のデプロイメントにインポートする
Istio ダッシュボードを既存の Grafana インスタンスにすばやくインポートするには、Grafana UI のインポートボタンを使用して、上記のダッシュボードリンクを追加します。ダッシュボードをインポートする際は、Prometheus データソースを選択する必要があることに注意してください。
スクリプトを使用してすべてのダッシュボードを一度にインポートすることもできます。例えば
$ # Address of Grafana
$ GRAFANA_HOST="https://#:3000"
$ # Login credentials, if authentication is used
$ GRAFANA_CRED="USER:PASSWORD"
$ # The name of the Prometheus data source to use
$ GRAFANA_DATASOURCE="Prometheus"
$ # The version of Istio to deploy
$ VERSION=1.24.0
$ # Import all Istio dashboards
$ for DASHBOARD in 7639 11829 7636 7630 7645 13277; do
$ REVISION="$(curl -s https://grafana.com/api/dashboards/${DASHBOARD}/revisions -s | jq ".items[] | select(.description | contains(\"${VERSION}\")) | .revision" | tail -n 1)"
$ curl -s https://grafana.com/api/dashboards/${DASHBOARD}/revisions/${REVISION}/download > /tmp/dashboard.json
$ echo "Importing $(cat /tmp/dashboard.json | jq -r '.title') (revision ${REVISION}, id ${DASHBOARD})..."
$ curl -s -k -u "$GRAFANA_CRED" -XPOST \
$ -H "Accept: application/json" \
$ -H "Content-Type: application/json" \
$ -d "{\"dashboard\":$(cat /tmp/dashboard.json),\"overwrite\":true, \
$ \"inputs\":[{\"name\":\"DS_PROMETHEUS\",\"type\":\"datasource\", \
$ \"pluginId\":\"prometheus\",\"value\":\"$GRAFANA_DATASOURCE\"}]}" \
$ $GRAFANA_HOST/api/dashboards/import
$ echo -e "\nDone\n"
$ done
オプション 3: 実装固有の方法
Grafana は、他の方法でインストールおよび構成できます。 Istio ダッシュボードをインポートするには、インストール方法のドキュメントを参照してください。例えば
- Grafana プロビジョニング公式ドキュメント。
stable/grafana
Helm チャートのダッシュボードのインポート。