DLC では、詳細なメトリクスを使用して、ジョブのリソース使用量を監視できます。アラート機能を使用すると、DLC ジョブのリソース使用量をリアルタイムで監視し、アラートルールとアラート通知を設定できます。GPU 使用率 などのメトリクスが指定したしきい値を超えると、サービスはアラート通知を送信します。このトピックでは、CloudMonitor と ARMS を使用して、モニタリングデータを表示し、アラートルールとアラート通知を設定し、メトリクスにサブスクライブする方法について説明します。
前提条件
DLC トレーニングジョブのモニタリングとアラームを設定するには、1 つ以上の DLC トレーニングジョブを作成しておく必要があります。詳細については、「トレーニングジョブの作成」をご参照ください。
制限事項
従量課金のトレーニングジョブで汎用コンピューティングリソースを使用する場合、モニタリングは利用できません。
アカウントと権限
-
Alibaba Cloud アカウント:追加の認可なしに、すべての操作を実行できます。
-
RAM ユーザー:
-
ワークスペース内の DLC ジョブのモニタリングデータを参照するには、RAM ユーザーは以下の権限が必要です:
-
RAM ユーザーをワークスペースメンバーとして追加し、管理者、アルゴリズム開発者、またはアルゴリズム運用保守エンジニアのロールを割り当ててください。詳細については、「ワークスペースメンバーの管理」をご参照ください。
-
RAM ユーザーに CloudMonitor への読み取り専用アクセス (
AliyunCloudMonitorReadOnlyAccess) を付与してください。詳細については、「RAM ユーザー権限の管理」をご参照ください。
-
-
ワークスペース内の DLC ジョブのモニタリングデータを参照し、モニタリングアラートを設定するには、RAM ユーザーは以下の権限が必要です:
-
RAM ユーザーをワークスペースメンバーとして追加し、管理者、アルゴリズム開発者、またはアルゴリズム運用保守エンジニアのロールを割り当ててください。詳細については、「ワークスペースメンバーの管理」をご参照ください。
-
RAM ユーザーに CloudMonitor への管理者アクセス (
AliyunCloudMonitorFullAccess) を付与してください。詳細については、「RAM ユーザー権限の管理」をご参照ください。
-
-
監視メトリクス
監視メトリクスには、GPU、CPU、メモリ、ディスク、ネットワーク、RDMA、CPFS が含まれます。サポートされているディメンションは、ジョブ、Pod (ワーカー)、および個別の GPU カードです。次の表に、代表的な健全性メトリクスを示します。メトリクスの完全なリストとその詳細な説明については、「Deep Learning Containers (DLC) のメトリクス」をご参照ください。
ジョブ
|
メトリクス |
説明 |
|
CPU 使用率 (ジョブディメンション) |
ジョブが使用する合計 CPU リソースの割合です。 |
|
メモリ使用率 (ジョブディメンション) |
ジョブが使用する合計メモリリソースの割合です。 |
|
ディスク読み取りデータレート (ジョブディメンション) |
ジョブのディスク読み取りデータレート (MiB/s) です。 |
|
ディスク書き込みデータレート (ジョブディメンション) |
ジョブのディスク書き込みデータレート (MiB/s) です。 |
|
ネットワーク受信データレート (ジョブディメンション) |
ジョブがデータを受信するレート (MiB/s) です。 |
|
ネットワーク送信データレート (ジョブディメンション) |
ジョブがデータを送信するレート (MiB/s) です。 |
|
GPU コンピューティング使用率 (ジョブディメンション) |
ジョブが使用する合計 GPU コンピューティングリソースの割合です。 |
|
GPU メモリ使用率 (ジョブディメンション) |
ジョブが使用する合計 GPU メモリの割合です。 |
|
GPU SM 使用率 (ジョブディメンション) |
ジョブが使用する合計 GPU ストリーミングマルチプロセッサ (SM) リソースの割合です。 |
|
GPU 消費電力 (ジョブディメンション) |
ジョブの GPU 消費電力 (ワット) です。 |
|
GPU 温度 (ジョブディメンション) |
ジョブの GPU 温度 (摂氏) です。 |
|
GPU の全体的な健全性 (ジョブディメンション) |
ジョブ内の GPU の全体的な健全性です。値が 100% の場合は、すべての GPU が健全であることを示します。値が 100% 未満の場合は、1 つ以上の GPU が異常であることを示します。 |
|
RDMA 受信データレート (ジョブディメンション) |
ジョブの RDMA 受信データレート (MiB/s) です。 |
|
RDMA 送信データレート (ジョブディメンション) |
ジョブの RDMA 送信データレート (MiB/s) です。 |
|
CPFS 書き込みデータレート (ジョブディメンション) |
ジョブが CPFS にデータを書き込むレート (MiB/s) です。 |
|
CPFS 読み取りデータレート (ジョブディメンション) |
ジョブが CPFS からデータを読み取るレート (MiB/s) です。 |
|
NVLink 受信データ量 (ジョブディメンション) |
ジョブ内の GPU が NVLink 経由で受信したデータ量です。 |
|
NVLink 送信データ量 (ジョブディメンション) |
ジョブ内の GPU が NVLink 経由で送信したデータ量です。 |
|
PCIe 受信データ量 (ジョブディメンション) |
ジョブ内の GPU が PCIe 経由で受信したデータ量です。 |
|
PCIe 送信データ量 (ジョブディメンション) |
ジョブ内の GPU が PCIe 経由で送信したデータ量です。 |
|
その他のメトリクスについては、「Deep Learning Containers (DLC) のメトリクス」をご参照ください。 |
|
Pod (ワーカー)
|
メトリクス |
説明 |
|
CPU 使用率 (Pod ディメンション) |
Pod が使用する合計 CPU リソースの割合です。 |
|
メモリ使用率 (Pod ディメンション) |
Pod が使用する合計メモリリソースの割合です。 |
|
ディスク読み取りデータレート (Pod ディメンション) |
Pod のディスク読み取りデータレート (MiB/s) です。 |
|
ディスク書き込みデータレート (Pod ディメンション) |
Pod のディスク書き込みデータレート (MiB/s) です。 |
|
ネットワーク受信データレート (Pod ディメンション) |
Pod がデータを受信するレート (MiB/s) です。 |
|
ネットワーク送信データレート (Pod ディメンション) |
Pod がデータを送信するレート (MiB/s) です。 |
|
GPU コンピューティング使用率 (Pod ディメンション) |
Pod が使用する合計 GPU コンピューティングリソースの割合です。 |
|
GPU メモリ使用率 (Pod ディメンション) |
Pod が使用する合計 GPU メモリの割合です。 |
|
GPU SM 使用率 (Pod ディメンション) |
Pod が使用する合計 GPU ストリーミングマルチプロセッサ (SM) リソースの割合です。 |
|
GPU 消費電力 (Pod ディメンション) |
Pod の GPU 消費電力 (ワット) です。 |
|
GPU 温度 (Pod ディメンション) |
Pod の GPU 温度 (摂氏) です。 |
|
GPU の全体的な健全性 (Pod ディメンション) |
Pod 内の GPU の全体的な健全性です。値が 100% の場合は、すべての GPU が健全であることを示します。値が 100% 未満の場合は、1 つ以上の GPU が異常であることを示します。 |
|
RDMA 受信データレート (Pod ディメンション) |
Pod の RDMA 受信データレート (MiB/s) です。 |
|
RDMA 送信データレート (Pod ディメンション) |
Pod の RDMA 送信データレート (MiB/s) です。 |
|
CPFS 読み取りデータレート (Pod ディメンション) |
Pod が CPFS からデータを読み取るレート (MiB/s) です。 |
|
CPFS 書き込みデータレート (Pod ディメンション) |
Pod が CPFS にデータを書き込むレート (MiB/s) です。 |
|
NVLink 受信データ量 (Pod ディメンション) |
Pod 内の GPU が NVLink 経由で受信したデータ量です。 |
|
NVLink 送信データ量 (Pod ディメンション) |
Pod 内の GPU が NVLink 経由で送信したデータ量です。 |
|
PCIe 受信データ量 (Pod ディメンション) |
Pod 内の GPU が PCIe 経由で受信したデータ量です。 |
|
PCIe 送信データ量 (Pod ディメンション) |
Pod 内の GPU が PCIe 経由で送信したデータ量です。 |
|
その他のメトリクスについては、「Deep Learning Containers (DLC) のメトリクス」をご参照ください。 |
|
GPU カード
|
メトリクス |
説明 |
|
GPU メモリインターフェイス使用率 (カードディメンション) |
個別の GPU カードで使用される GPU メモリインターフェイス容量の割合です。 |
|
GPU SM 使用率 (カードディメンション) |
個別の GPU カードで使用される GPU SM 容量の割合です。 |
|
GPU 消費電力 (カードディメンション) |
個別の GPU カードの消費電力 (ワット) です。 |
|
GPU 温度 (カードディメンション) |
個別の GPU カードの温度 (摂氏) です。 |
|
GPU の全体的な健全性 (カードディメンション) |
個別の GPU カードの全体的な健全性です。値が 100% の場合は、カードが健全であることを示します。値が 100% 未満の場合は、カードが異常であることを示します。 |
|
その他のメトリクスについては、「Deep Learning Containers (DLC) のメトリクス」をご参照ください。 |
|
モニタリングチャート
-
DLC job の詳細ページで、[モニタリング] タブに切り替えて、ジョブのモニタリングデータを表示します。(注:ジョブのモニタリングデータは最大 30 日間保持されます。)
モニタリング タブには、ジョブディメンション、インスタンスディメンション、GPU ディメンションの 3 つのサブタブがあります。これらのサブタブには、GPU、CPU、メモリ、ネットワーク、ディスク、OSS のメトリクスが表示されます。
-
[タスクディメンション]、[POD ディメンション]、[GPU ディメンション]で、GPU、CPU、メモリ、ネットワーク、ディスク、OSS のメトリクスを監視できます。
-
[詳細] をクリックして、表示するメトリクスを選択します。その後、メトリクスをドラッグして並べ替えることで、比較のために重要なデータを優先的に配置できます。
ダイアログボックスには、メトリクスの選択 と メトリクスのソート の 2 つのセクションがあります。GPU グループでは、GPU 使用率、GPU メモリ使用率、合計 GPU メモリ、使用済み GPU メモリなどのメトリクスを利用できます。CPU グループでは、CPU 使用率などのメトリクスを選択できます。選択後、OK をクリックします。
-
モニタリングチャートでは、領域ズーム (拡大)、ズームの復元 (前回のズームを元に戻す)、リセット (初期表示に戻す)、ダウンロードを使用できます。

-
チャート同期:有効にすると、この機能はすべてのチャートでズーム操作を同期し、複数のビューを比較しやすくします。
右側のレイアウト ドロップダウンリストをクリックし、1 行に 1 つ、1 行に 2 つ、または1 行に 3 つを選択します。
-
1 行に表示するチャートの数をカスタマイズできます。
CloudMonitor の使用
CloudMonitor は、Alibaba Cloud のリソースとインターネットアプリケーションを監視します。CloudMonitor コンソールを使用して、PAI-Deep Learning Containers (DLC) ジョブのモニタリングデータを表示し、アラート通知を設定できます。CloudMonitor は、メトリクスデータにサブスクライブして独自のモニタリングシステムやダッシュボードを構築できる API も提供しています。詳細については、「CloudMonitor とは」をご参照ください。
課金
CloudMonitor サービスの使用には料金が発生します。詳細な課金情報については、「CloudMonitor の課金」をご参照ください。
モニタリングデータの表示
CloudMonitor コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
-
[クラウドサービスモニタリングダッシュボード] ページで、[PAI-Deep Learning Containers (DLC)] を選択し、検索ボックスで [ワークスペース ID] を選択または検索して、対応するモニタリングチャートを表示します。ワークスペース ID を確認するには、「ワークスペースの管理」をご参照ください。
モニタリングチャートエリアの [ジョブディメンション] タブには、3 つの GPU メトリクスパネルが表示されます:[GPU メモリインターフェイス使用率 (ジョブディメンション) (%)]、[GPU コンピューティング使用率 (ジョブディメンション) (%)]、[GPU SM 使用率 (ジョブディメンション) (%)]。これらのメトリクスのレポート期間は 10 秒です。
モニタリングチャートでは、次の操作を実行できます。
-
モニタリングディメンションの切り替え:ジョブ、Pod (ワーカー)、または GPU ディメンションでメトリクスを表示します。
-
[ジョブディメンション] タブをクリックします。DLC ジョブ ID を選択または入力して、単一ジョブのモニタリングデータを表示します。
-
[Pod ディメンション] タブをクリックします。Pod ID を選択または入力して、単一 Pod のモニタリングデータを表示します。
-
GPU ディメンション タブをクリックします。Pod ID を選択または入力すると、指定された DLC ジョブ内の単一 Pod の GPU ディメンションのモニタリングデータを表示できます。
-
-
時間範囲の変更:[1 時間]、[3 時間]、[6 時間]、[12 時間]、[1 日]、[3 日]、[7 日]、[14 日]、または [カスタム] の期間を選択できます。
-
拡大:各チャートの右上隅にある [拡大] アイコン
をクリックして、詳細なモニタリングデータを表示します。
-
アラートの設定
アラートルールを設定して、PAI-Deep Learning Containers (DLC) ジョブのリソースレベルを監視できます。リソースメトリクスがルールに違反した場合、システムはアラート通知を送信します。このセクションでは、CloudMonitor コンソールと API を使用してアラートを設定する方法について説明します。
アラート連絡先の設定
CloudMonitor コンソール にログインします。
左側メニューで、 を選択します。
[アラート連絡先] タブで、[連絡先の作成] をクリックし、連絡先の名前、電話番号、メールアドレス、または Webhook URL を入力して、[確認] をクリックします。
[アラート連絡先グループ] タブで、[連絡先グループの作成] をクリックし、グループ名を入力し、既存のアラート連絡先をグループに追加してから、[確認] をクリックします。
アラートルールの設定
-
CloudMonitor コンソールの左側メニューで、[クラウドリソースモニタリング] > [クラウドサービスモニタリング] を選択します。
-
[クラウドサービスモニタリング] ページで、[PAI-Deep Learning Containers (DLC)] を開きます。検索ボックスに PAI-Deep Learning Containers (DLC) と入力します。検索結果の [メトリクスモニタリング] カテゴリで、[PAI-Deep Learning Containers (DLC)] をクリックします。
-
[PAI-Deep Learning Containers (DLC)] ページで、サービスリージョンを選択し、[アラートルールの作成] をクリックします。
-
[アラートルールの作成] パネルで、次のパラメータを設定し、[確認] をクリックします。
パラメータ
説明
製品
監視する製品です。[PAI-Deep Learning Containers (DLC)] を選択します。
リソース範囲
アラートルールの範囲です。オプションには [すべてのリソース] と [インスタンス] があります。
-
[すべてのリソース]:いずれかの DLC リソースがアラートルールを満たした場合、アラート通知が送信されます。
-
[インスタンス]:[リソースの関連付け] セクションで、関連付けるワークスペースを追加する必要があります。追加されたワークスペース内の DLC ジョブがアラートルールを満たした場合にのみ、アラート通知が送信されます。
ルールの説明
アラートをトリガーする条件です。モニタリングデータがこれらの条件を満たすと、アラートがトリガーされます。ルールの説明を設定する方法の詳細については、「アラートルールの作成」をご参照ください。
ミュート期間
未解決のアラートが再送信されるまでの時間間隔です。
有効期間
アラートルールが有効な期間です。CloudMonitor は、この期間中にのみアラートをチェックします。
タグ
アラートルールのカスタムタグです。キーと値のペアとして指定します。
アラート連絡先グループ
アラート通知を受信する連絡先グループです。設定済みのアラート連絡先を含むグループを選択します。
-
-
[PAI-Deep Learning Containers (DLC)] ページで、[アラートルールの表示] をクリックして、アラートルールの詳細と履歴を表示します。ルールを変更することもできます。
API オペレーションを呼び出してアラートサービスを設定することもできます。これらのオペレーションを使用すると、アラート履歴の表示、アラートテンプレートの管理、アラートルールの設定、アラート連絡先の管理を行うことができます。詳細については、「CloudMonitor API リファレンス: アラートサービス」をご参照ください。
モニタリングメトリクスのサブスクライブ
CloudMonitor は、DLC モニタリングメトリクスとデータにサブスクライブするために使用できる包括的な API オペレーションセットを提供しています。これにより、独自のモニタリングシステムやダッシュボードを構築できます。詳細な手順については、「クラウドサービスモニタリング API ディレクトリ」をご参照ください。
|
API |
説明 |
|
指定されたメトリクスの最新のモニタリングデータをクエリします。 |
|
|
指定されたクラウドサービスの指定されたメトリクスのモニタリングデータをクエリします。 |
|
|
指定されたクラウドサービスのメトリクスのモニタリングデータをクエリします。 |
|
|
利用可能なメトリクスとそのメタデータをリストします。 |
|
|
時系列メトリクスを提供するクラウドサービスをリストします。 |
|
|
指定されたクラウドサービスの指定されたメトリクスの最新のモニタリングデータをクエリし、そのメトリクスのソート済みモニタリングデータをクエリします。 |
次の例は、DescribeMetricList API オペレーションを呼び出して、PAI-Deep Learning Containers (DLC) の指定されたメトリクスのモニタリングデータをクエリする方法を示しています。
-
メトリクスリストページで、
JOB_GPU_ACCELERATOR_DUTY_UTILなどの対象メトリクスを見つけ、[操作] 列の [メトリクスデータの取得] をクリックして、OpenAPI Portal ページに移動します。 -
OpenAPI Portal ページで、次の主要なパラメータを設定し、その他はデフォルト値のままにします。パラメータの詳細については、「DescribeMetricList」をご参照ください。
パラメータ
説明
名前空間
このパラメータを
acs_pai_dlcに設定します。MetricName
クエリするメトリクスです。例:
CARD_GPU_DRAM_ACTIVE_UTIL。StartTime
開始時刻です。例:
2024-05-15 00:00:00。EndTime
終了時刻です。例:
2024-05-28 00:00:00。説明StartTimeとEndTimeの間隔は 31 日以下にする必要があります。 -
パラメータを設定した後、[呼び出しの開始] をクリックして、指定された時間範囲のモニタリングデータを表示します。呼び出しが成功すると、200 ステータスコードが返されます。レスポンスボディの
Datapoints配列には、timestamp、jobId、regionId、userId、workspaceId、Valueなどのデータフィールドが含まれます。
ARMS の使用
Application Real-Time Monitoring Service (ARMS) は、Alibaba Cloud のクラウドネイティブの可観測性プラットフォームです。ARMS を使用すると、カスタム Grafana ダッシュボードを作成し、Prometheus を使用して柔軟なアラートルールを設定して、DLC ジョブメトリクスを包括的に監視できます。詳細については、「Application Real-Time Monitoring Service (ARMS) とは」をご参照ください。
課金
ARMS の使用には料金が発生します。課金の詳細については、「ARMS の課金」をご参照ください。
モニタリングデータの統合
DLC モニタリングデータを ARMS に統合するには、次の手順に従ってください。
-
ARMS コンソールにログインし、左側メニューで 統合センター をクリックします。
-
統合センター ページで、人工知能 タブをクリックし、PAI-DLC Distributed Training Service をクリックします。
-
表示されたパネルの プロビジョニングの開始 タブで、データストレージリージョン を選択し、統合名 を入力して、OK をクリックします。
統合には約 1〜2 分かかります。 効果のプレビュー、収集されたメトリクス、アラートルールテンプレート の各タブに切り替えて、メトリクスダッシュボード、サポートされているメトリクス、アラートルール名とテンプレートの詳細を表示することもできます。
-
統合が完了したら、左側メニューで プロビジョニング をクリックして、プロビジョニング済みの環境の詳細を表示できます。
Grafana ダッシュボード
-
ARMS コンソールにログインします。 左側メニューで、プロビジョニング を選択します。 プロビジョニング済みの環境 > クラウドサービスリージョン環境 タブで、環境名をクリックします。
-
コンポーネント管理 タブの コンポーネントタイプ セクションで、PAI-DLC Distributed Training Service を選択し、右側の ダッシュボード をクリックして、組み込みの Grafana ダッシュボードを表示します。
-
ダッシュボード名をクリックして、モニタリングダッシュボードを表示します。 PAI-DLC Distributed Training Service - インスタンスの詳細 ダッシュボードには、workspaceId、jobId、pod、gpu のフィルターが用意されています。 メトリクスは、ジョブディメンション、カードディメンション、Pod ディメンション の各パネルに整理されています。 Pod ディメンション パネルには、CPU 使用率、ディスク I/O レート、メモリ使用量を含む Pod 詳細テーブルと、CPFS 読み取りレイテンシ、CPFS 書き込みデータ量、CPFS 読み取りデータ量の時系列グラフが表示されます。
Prometheus アラートの設定
Prometheus を使用してモニタリングアラートを設定するには、次の手順に従ってください。
-
ARMS コンソールにログインします。 左側メニューで、プロビジョニング を選択します。 プロビジョニング済みの環境 > クラウドサービスリージョン環境 タブで、環境名をクリックします。
-
コンポーネント管理 タブの コンポーネントタイプ リストで、PAI-DLC Distributed Training Service を選択し、アラートルール をクリックして、組み込みのアラートルールを表示します。 デフォルトでは、これらのルールは 停止 状態です。
-
組み込みのアラートルールはイベントを生成しますが、通知は送信しません。メールアドレスまたは他のプラットフォームに通知を送信するように設定するには、次の 2 つの方法があります。
-
通知ポリシーを設定します。このポリシーでは、アラートイベントの一致ルールを定義します。アラートイベントがルールに一致すると、システムは選択した通知方法で、指定された受信者に通知を送信します。詳細については、「通知ポリシー」をご参照ください。
-
アラートルールを編集して通知方法を設定します。アラートルール管理ページで、左側メニューから対象のコンポーネントタイプ (PAI-DLC Distributed Training Service、PAI-DSW、PAI-Quota Service、PAI-Quota (非霊駿) など) を選択します。リストから対象のルールを見つけて、編集 をクリックします。 Prometheus アラートルール編集ページでは、アラート条件、期間、内容、通知をカスタマイズできます。詳細については、「Prometheus アラートルールの作成」をご参照ください。 ルールを編集する際、チェックタイプ を カスタム PromQL に設定します。 カスタム PromQL ステートメント フィールドに、
AliyunPaidlc_POD_STATE_ACTIVE{} > 80などの式を入力します。 期間 を 2 分に設定し、アラートレベル を P2 に設定します。 アラート通知 セクションで、シンプルモード を選択し、受信者、通知期間 (00:00〜23:59)、繰り返しポリシー を設定します。設定が完了したら、完了 をクリックします。
-