Kubernetes クラスターで Elastic Container Instance (ECI) Pod を作成すると、ECI Pod は仮想ノード上で実行されます。実ノードがないため、ディスクはノードではなく Pod に関連付けられます。したがって、ディスク関連のメトリックを追跡するには、Pod レベルのディスクモニタリングを構成する必要があります。このトピックでは、Application Real-Time Monitoring Service (ARMS) Prometheus を使用して ECI Pod のディスクをモニターする方法と、Grafana でディスクモニタリングダッシュボードをカスタマイズする方法について説明します。
前提条件
Serverless Kubernetes クラスターを作成し、モニタリングのために ARMS Prometheus に接続していること。詳細については、「Prometheus モニタリングへの接続」をご参照ください。
共有バージョンではない Grafana ワークスペースを作成し、データ移行を完了し、Alibaba Cloud サービスを統合していること。詳細については、「Grafana ワークスペースの作成」および「Alibaba Cloud サービスの統合」をご参照ください。
重要デフォルトでは、ARMS Prometheus に接続するときに使用される Grafana ワークスペースは共有バージョンです。共有バージョンはカスタムダッシュボードをサポートしていません。
このトピックの手順では、Grafana 10.0.X を例として使用します。異なるバージョンを使用する場合、それに応じて手順を調整する必要がある場合があります。
手順
ARMS コンソールにログインします。
Grafana ページを開きます。
左側のナビゲーションウィンドウで、[Grafana サービス] > [ワークスペース] を選択します。
ターゲットワークスペースを見つけ、[エンドポイント URL] 列の URL をクリックして Grafana ログインページを開きます。
アカウント情報を入力し、Grafana にログインします。
ワークスペースを作成したときに設定した admin アカウントとパスワードを使用するか、別のアカウントを使用して Grafana にログインできます。
Grafana ページの左上隅にある
アイコンをクリックし、ナビゲーションバーの [ダッシュボード] をクリックします。[ダッシュボード] ページの右上隅で [新規] をクリックし、[インポート] を選択します。
[ダッシュボード JSON ファイルをアップロード] をクリックし、JSON ファイルを選択します。
JSON ファイルにはダッシュボードの構成が含まれています。サンプルファイル: ECI_Pod_Disk。
ダッシュボードフォルダとデータソースをターゲットクラスターに設定します。

[インポート] をクリックします。
インポートが完了すると、新しいディスクモニタリングダッシュボードで ECI Pod のディスクモニタリング情報を表示できます。

(オプション) Deployment または StatefulSet レベルでモニタリングデータをフィルターして表示するには、現在のディスクモニタリングダッシュボードから関連するパネルを Deployment または StatefulSet ダッシュボードにコピーします。または、現在のダッシュボードで直接設定を変更することもできます。
フィルター変数を追加するには、次のようにダッシュボード設定を変更します:
Grafana ページのディスクモニタリングダッシュボードで、右上隅にある
アイコンをクリックします。[設定] ページの左側のナビゲーションウィンドウで、[変数] をクリックします。
[新しい変数] をクリックし、一般オプションとクエリオプションを設定してから、[適用] をクリックします。
変数を追加するときは、必要な変数のタイプに基づいてクエリを設定します。次の表に例を示します。
タイプ
クエリタイプ
ラベル *
メトリック
deployment
Label_values
deployment
kube_deployment_created{namespace=~"$namespace"}
statefulset
Label_values
statefulset
kube_statefulset_created{namespace=~"$namespace"}
次の図は、deployment 変数を追加する例を示しています。

[pod] 変数をクリックし、クエリを修正してから [適用] をクリックします。
前のステップで追加した変数のタイプに基づいて、[pod] 変数のクエリを修正します。次の表に例を示します。
タイプ
クエリタイプ
クエリ
deployment
Query_result
kube_pod_info{namespace=~'$namespace',pod=~"$deployment.*"} >= 1
statefulset
Query_result
kube_pod_info{namespace=~'$namespace',pod=~"$statefulset.*"} >= 1
次の図は、deployment の pod 変数のクエリを修正する例を示しています。

deployment (または StatefulSet) 変数が pod 変数より上になるように、変数の順序を調整します。
説明
アイコンをクリックしてドラッグすると、変数を移動できます。
右上隅で [ダッシュボードを保存] をクリックします。説明を入力し、[保存] をクリックします。
ディスクモニタリングダッシュボードに戻り、フィルター機能が正しく動作していることを確認します。
次の図は、deployment レベルのフィルターがアクティブな例を示しています。
