5 Grafanaを使用したサービス・メッシュのビジュアル化
重要:
このドキュメントで説明されているソフトウェアは、Extended SupportまたはSustaining Supportにあります。 詳細は、「Oracleオープン・ソース・サポート・ポリシー」を参照してください。
このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお勧めします。
Grafanaがデプロイされると、データ・ソースがプロジェクトの時系列データベース用に構成されます。 データ・ソースは、データベースへのGrafanaのリンクです。 このデータ・ソースは構成されているため、GrafanaはPrometheusデータベースに収集および格納されているKubernetesクラスタのメトリックを取得して分析できます。
この章では、次の方法について学習します。
-
GrafanaがデプロイされているノードのIPアドレスと、Grafana用に予約されているポート番号を取得します。 この情報はGrafanaコンソールにアクセスするために必要です。
-
Grafanaコンソールにアクセスします。
-
Grafanaでダッシュボードを作成し、データソースを通じてPrometheusから取得および分析されるメトリックをモニターおよびビジュアル化します。
-
ダッシュボードの問合せを構成して、PrometheusのメトリックがGrafanaでどのように表示されるかを微調整します。
GrafanaのIPアドレスおよびポート番号の取得
この項では、GrafanaがデプロイされているノードのIPアドレスと、Grafanaのポート番号を取得します。
-
Istioモジュールをインストールしたマシンのプロンプトで、次のコマンドを入力します。
kubectl -n istio-system get svc grafana
Grafanaサービスが実行されているポートにNodePortが設定されていません。 この例では、Grafana用に予約されているポートは
9090
です。NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana ClusterIP 10.104.245.12 <none> 9090/TCP 6d1h
NodePortは、Kubernetesクラスタのすべてのノードのオープン・ポートです。 GrafanaのNodePortを開くと、KubernetesはNodePortの受信トラフィックを透過的にGrafanaサービスにルーティングします。 NodePortは、クラスタ構成のNodePort範囲(通常は30000~32767)のプールから割り当てられます。
-
次のコマンドを入力して、GrafanaサービスのNodePortを設定します。
kubectl patch svc grafana -n istio-system -p '{"spec":{"type":"NodePort"}}'
-
service/grafana patched
ステータス・メッセージが表示されていることを確認します。これで、NodePortを使用してGrafanaに接続できます。
-
次のコマンドを再度入力します。
kubectl -n istio-system get svc grafana
このとき、Grafanaコンテナ用にNodePortが設定されていることがわかります。 このNodePortを使用して、サービスに接続できます。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana ClusterIP 10.104.245.12 <none> 9090/30921 6d1h
この例では、NodePortは
30921
であり、9090
のサービス・ポートにマップされます。 -
次のコマンドを入力して、コントロール・プレーン・ノードのIPアドレスか、Grafanaコンテナが実行されているワーカー・ノードのIPアドレスを取得します。
ip addr
この手順で取得したIPアドレスとNodePortをノートにとります。Grafanaコンソールにアクセスするには、これらの値が必要になります。
Grafanaコンソールへのアクセス
Grafanaのデプロイの一部として、ユーザー・アカウントが作成され、管理者ロールがアカウントに割り当てられます。 このアカウントにはGrafanaのスーパーユーザー権限があり、ダッシュボードを作成して、ダッシュボードの問合せを生成できます。
この項では、Grafanaコンソールにアクセスします。
-
Webブラウザを開きます。
-
「Address」フィールドに、
http://[IP_address]:[NodePort]
と入力します。「Grafana IPアドレスおよびポート番号の取得」でIPアドレスおよびNodePortを取得しました。
GrafanaのURLを指定すると、「Home Dashboard」ページが表示されます。 このページでは、Grafanaでのダッシュボードの作成やダッシュボードに対する問合せの生成など、Grafanaの構成に役立つワークフローを提供します。
Prometheusメトリックのダッシュボードの作成
Grafanaのダッシュボードは、Prometheusデータ・ソースから取得されるメトリックをモニターおよびビジュアル化する方法です。 ダッシュボードは1つ以上のパネルのグループであり、行に事前に配置されます。
この項では、ダッシュボードを作成して「Graph」パネルを選択します。 「Graph」パネルはGrafanaのメイン・パネルであり、豊富なグラフ・オプションのセットが用意されています。
ダッシュボード作成の一部として、問合せエディタ機能を使用してダッシュボードの問合せを作成します。 問合せを使用して、PrometheusのメトリックがGrafanaでどのように表示されるかを微調整します。 この手順では、prometheus_engine_query_duration_seconds
問合せを指定します。これにより、Prometheusがそれ自体について収集するメトリックをGrafanaでグラフ化できます。
-
「ホーム・ダッシュボード」ページで、「最初のダッシュボードの作成」アイコンをクリックします。
-
「新規ダッシュボード」ページで、「ビジュアライゼーションの選択」アイコンをクリックします。
-
「Visualization」フィールドに、
Graph
と入力します。 -
「Queries」アイコンをクリックします。 このアイコンは、「Visualization」フィールドの左側に表示されます。データベースのような外観になっています。
-
「Query」フィールドで、Grafanaのデプロイの一部として追加されたPrometheusデータ・ソースを選択します。
-
「メトリック」ドロップダウン・メニューの右側に表示される問合せエディタ・フィールドで、
prometheus_engine_query_duration_seconds
問合せを入力し、「問合せの無効化/有効化」ボタンをクリックします。 このボタンは入力した問合せの右側に表示されます。目のような外観になっています。 -
メトリックに関連付けられたデータが表示されることを確認し、「Save dashboard」をクリックします。
-
「名前を付けて保存」ダイアログ・ボックスで、ダッシュボードに新しい名前を付け、ダッシュボードのフォルダのロケーションを選択して、「保存」をクリックします。
-
「Dashboard saved」のステータス・メッセージと、入力したメトリックに関する情報を示すグラフが表示されていることを確認します。