Grafana はオープンソースのデータ視覚化プラットフォームであり、ダッシュボードでさまざまな監視メトリクスを簡単に表示できます。このトピックでは、Grafana を使用してサービスレベル目標(SLO)に関連するメトリクスを表示する方法について説明します。
前提条件
手順
次の手順では、ダッシュボードデータをインポートし、Grafana コンソールで SLO 関連メトリクスを表示する方法を示します。
- 次のコマンドを実行して、Container Service for Kubernetes(ACK)クラスターに Grafana アプリケーションをインストールします。
# リポジトリ情報を追加します。 helm repo add grafana https://grafana.github.io/helm-charts helm repo update # Grafana アプリケーションをインストールします。 helm install -n monitoring asm-grafana grafana/grafana - 次のコマンドを実行して、Grafana コンソールにログオンするためのパスワードを取得します。
kubectl get secret --namespace monitoring asm-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo - 次のコマンドを実行して、ローカルポートから asm-grafana サービスへのすべてのトラフィックを転送します。
kubectl --namespace monitoring port-forward svc/asm-grafana 3000:80 - https://localhost:9093 をクリックして、Grafana コンソールにログオンします。
- 左側のナビゲーションペインで、
アイコンをクリックします。[構成] ページで、[データソース] タブをクリックします。次に、[データソースの追加] をクリックします。 - 表示されたページで、[設定] タブをクリックします。[HTTP] セクションで、[URL] パラメーターを http://ack-prometheus-operator-prometheus:9090 に設定し、その他のパラメーターのデフォルト設定を維持して、[保存] をクリックします。

- 左側のナビゲーションペインで、 を選択し、ダッシュボードテンプレート のコンテンツを [パネル JSON 経由でインポート] テキストボックスに貼り付けて、[ロード] をクリックします。
次の図は表示効果を示しています。SLO 関連の概念の詳細については、「SLO の概要」をご参照ください。
- 領域 ① では、エラーバジェットが消費されている SLO を表示できます。
- 領域 ② では、バーンレートが 1 を超える SLO を表示できます。
- 領域 ③ では、SLO の構成を表示できます。
メトリック 説明 目標 目標。この例では、目標は 99% です。 現在のバーニングバジェット (%) 現在のバーンレート。この例では、値は 50% です。エラー率 = (1 - 99%) x 50% = 0.5% 残りのエラーバジェット(月) カレンダ月の残りのエラーバジェット。この例では、値は 93.3% です。 残りのエラーバジェット(30 日間ウィンドウ) 30 日間のローリングウィンドウの残りのエラーバジェット。この例では、値は -243% です。 残りのエラーバジェットが負の値であるということは、サービスがローリングウィンドウで SLO を達成していないことを意味します。サービスが最終的に SLO を達成するかどうかは、コンプライアンス期間の最終日の残りのエラーバジェットによって決まります。
警告アラート 警告レベルのアラートがトリガーされたかどうかを示します。この例では、値は FIRING であり、警告レベルのアラートがトリガーされたことを示します。 クリティカルアラート クリティカルレベルのアラートがトリガーされたかどうかを示します。この例では、値は OK であり、クリティカルレベルのアラートがトリガーされていないことを示します。 説明 残りのエラーバジェットは、エラーが発生した期間とエラーが発生しなかった期間の比率に基づいて計算されます。2 つの残りのエラーバジェットの差が大きいのは、異なるサイズの時間ウィンドウの平均メトリック値に基づいて計算されるためです。メトリック「残りのエラーバジェット(月)」の時間ウィンドウは 1 時間で、メトリック「残りのエラーバジェット(30 日間ウィンドウ)」の時間ウィンドウは 5 分です。メトリック「残りのエラーバジェット(30 日間ウィンドウ)」の時間ウィンドウは、より多くの時間セグメントに分割されます。通常のケースでは、エラーが発生した期間とエラーが発生しなかった期間は、時間ウィンドウのセグメントに関係なく比例して増加します。ただし、この例では、ほとんどのテストリクエストはエラーリクエストであり、他の期間にはリクエストは開始されません。リクエストが開始されない期間は、計算に考慮されません。したがって、エラーが発生した期間のみが増加します。通常のケースでは、2 つの残りのエラーバジェットの値は似ています。 - 領域 ④ では、毎月のエラーバジェットと SLI のバーンレートの変化を表示できます。