コンピューティング メトリックの表示

この記事では、Azure Databricks UI のネイティブ コンピューティング メトリック ツールを使用して、主要なハードウェアと Spark のメトリックを収集する方法について説明します。 メトリック UI は多目的に、そしてジョブのコンピューティングに利用できます。

Note

ノートブックとジョブのサーバーレス コンピューティングでは、メトリック UI の代わりにクエリ分析情報が使用されます。 サーバーレス コンピューティング メトリックの詳細については、「クエリの分析情報を表示する」を参照してください。

メトリックは、通常 1 分以内の遅延で、ほぼリアルタイムで利用可能です。 メトリックは、顧客のストレージではなく、Azure Databricks が管理するストレージに保存されます。

これらの新しいメトリックは Ganglia とどう違いますか?

新しいコンピューティング メトリック UI では、Spark の使用量や内部 Databricks プロセスなど、クラスターのリソース使用量をより包括的に把握できます。 対照的に、Ganglia UI では Spark コンテナーの消費量のみが測定されます。 この違いにより、2 つのインターフェイス間のメトリック値の不一致が生じる可能性があります。

コンピューティング メトリック UI へのアクセス

コンピューティング メトリック UI を表示します。

  1. サイドバーで、[コンピューティング]をクリックします。
  2. メトリックを表示させたいコンピューティングをクイックします。
  3. [メトリック] タブをクリックします。

直近 24 時間のメトリックを表示する

ハードウェア メトリックは既定で表示されます。 Spark メトリックを表示するには、[ハードウェア] というラベルのドロップダウン メニューをクリックし、[Spark] を選択します。 インスタンスが GPU 対応の場合は、GPU を選択することもできます。

期間でメトリックをフィルター処理する

日付の選択フィルターを使用して時間の範囲を選択することで、履歴メトリックを表示できます。 メトリックは 1 分ごとに収集されるため、過去 30 日間の任意の範囲の日、時間、または分でフィルター処理できます。 予定表アイコンをクリックして定義済みのデータ範囲から選択するか、テキスト ボックス内をクリックしてカスタム値を定義します。

Note

グラフに表示される時間間隔は、表示している時間の長さに基づいて調整されます。 ほとんどのメトリックは、現在表示している時間間隔に基づく平均です。

[最新の情報に更新] ボタンをクリックして、最新のメトリックを取得することもできます。

ノード レベルでメトリックを表示する

個々のノードのメトリックを表示するには、[コンピューティング] ドロップダウン メニューをクリックし、メトリックを表示するノードを選択します。 GPU メトリックは、個々のノード レベルでのみ使用できます。 Spark メトリックは、個々のノードでは使用できません。

Note

特定のノードを選択しない場合、結果はクラスター内のすべてのノード (ドライバーを含む) で平均化されます。

ハードウェア メトリック グラフ

コンピューティング メトリック UI では、次のハードウェア メトリック グラフを表示できます。

  • サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
  • CPU 使用率: 合計 CPU 秒コストに基づいて、各モードで CPU が費やした時間の割合。 メトリックは、グラフに表示される時間間隔に基づいて平均化されます。 次のモードが追跡されます。
    • guest: VM を実行している場合、それらの VM が使用する CPU
    • iowait: I/O の待機に費やされた時間
    • idle: CPU が何も行っていなかった時間
    • irq: 割り込み要求に費やされた時間
    • nice: 正の nice 値を持つ (つまり他のタスクより優先度が低い) プロセスによって使用された時間
    • softirq: ソフトウェア割り込み要求に費やされた時間
    • steal: 自分が VM の場合、他の VM によって "盗まれた" 自分の CPU の時間
    • system: カーネルで費やされた時間
    • user: ユーザーランドで費やされた時間
  • メモリ使用率: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、モードごとの合計メモリ使用量。 次の使用状況の種類が追跡されます。
    • used: 使用メモリ (コンピューティングで実行されているバックグラウンド プロセスによって使用されるメモリを含む)
    • free: 未使用メモリ
    • buffer: カーネル バッファーによって使用されるメモリ
    • cached: OS レベルのファイル システム キャッシュによって使用されるメモリ
  • メモリ スワップ使用率: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、モードごとの合計メモリ スワップ使用量。
  • ファイル システムの空き領域: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、マウント ポイントごとの合計ファイル システム使用量。
  • ネットワーク経由での受信量: グラフに表示される時間間隔に基づいて平均化された、デバイスごとのネットワーク経由で受信されたバイト数。
  • ネットワーク経由での送信量: グラフに表示される時間間隔に基づいて平均化された、デバイスごとのネットワーク経由で送信されたバイト数。
  • アクティブ ノードの数: 指定されたコンピューティングのすべての timestamp にあるアクティブ ノードの数が表示されます。

Spark メトリック グラフ

コンピューティング メトリック UI では、次の Spark メトリック グラフを表示できます。

  • サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
  • アクティブなタスクの数: グラフに表示される時間間隔に基づいて平均化された、特定の時点で実行されていたタスクの合計数。
  • 失敗したタスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor で失敗したタスクの合計数。
  • 完了したタスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor で完了したタスクの合計数。
  • タスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor でのすべてのタスク (実行中、失敗、完了) の合計数。
  • 合計シャッフル読み取り量: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、シャッフル読み取りデータの合計サイズ。 Shuffle read は、ステージの先頭にあるすべての Executor でシリアル化された読み取りデータの合計を意味します。
  • 合計シャッフル書き込み量: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、シャッフル書き込みデータの合計サイズ。 Shuffle Write は、送信前 (通常はステージの最後) のすべての Executor で書き込まれたシリアル化されたデータの合計です。
  • タスクの合計期間: 秒単位で測定され、グラフに表示される時間間隔に基づいて平均化された、JVM が Executor でタスクの実行に費やした合計経過時間。

GPU メトリック グラフ

コンピューティング メトリック UI では、次の GPU メトリック グラフを表示できます。

  • サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
  • GPU ごとのデコーダー使用率: グラフに表示される時間間隔に基づいて平均化された、GPU デコーダーの使用率。
  • GPUごとのエンコーダー使用率: グラフに表示される時間間隔に基づいて平均化された、GPU エンコーダーの使用率。
  • GPU ごとのフレーム バッファー メモリ使用バイト数: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、フレーム バッファーのメモリ使用率。
  • GPU ごとのメモリ使用率: グラフに表示される時間間隔に基づいて平均化された、GPU メモリの使用率。
  • GPU ごとの使用率: グラフに表示される時間間隔に基づいて平均化された、GPU の使用率。

トラブルシューティング

一定期間のメトリックが不完全または不足している場合は、次のいずれかの問題が発生する可能性があります。

  • メトリックのクエリと格納を行う Databricks Service に障害が発生しました。
  • お客様側のネットワークの問題。
  • コンピューティングは異常な状態であるか、または異常な状態でした。