コンピュートのメトリクスを表示する

この記事では、Databricks UI のネイティブのコンピュート メトリクス ツールを使用して、主要なハードウェアと Spark メトリクスを収集する方法について説明します。 Databricks Runtime 13.0 以降を使用するコンピュートは、デフォルトでこれらのメトリクスにアクセスできます。

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

コンピュート メトリクス UI にアクセスする

コンピュート メトリクス UI を表示するには:

  1. サイドバーの 「コンピュート 」をクリックします。

  2. メトリクスを表示するコンピュート リソースをクリックします。

  3. [メトリクス] タブをクリックします。

過去 24 時間のクラスターメトリクス

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

期間 によるメトリクスのフィルタリング

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

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

[リフレッシュ]ボタンをクリックして最新のメトリックを取得することもできます。

ノードレベルで のメトリクスの表示

[コンピュート] ドロップダウンをクリックし、メトリクスを表示するノードを選択すると、個々のノードのメトリクスを表示できます。

GPU メトリクスは、個々のノード レベルでのみ使用できます。 Spark メトリクスは、個々のノードでは使用できません。

CPU メトリクスチャート

次の CPU メトリクス チャートは、コンピュート メトリクス UI で表示できます。

  • 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レベルでファイルシステムキャッシュによって使用されるメモリ

  • メモリ スワップ使用率: 各モードごとのメモリ スワップ使用量の合計で、バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。

  • ファイル・システム・スペースの空き領域: 各マウント・ポイントによるファイル・システムの合計使用量で、バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。

  • ネットワーク経由で受信: 各デバイスがネットワーク経由で受信したバイト数で、グラフに表示される時間間隔に基づいて平均化されます。

  • ネットワーク経由で送信: 各デバイスによってネットワーク経由で送信されたバイト数で、グラフに表示される時間間隔に基づいて平均化されます。

  • アクティブなノードの数: 指定されたコンピュートのタイムスタンプごとのアクティブなノードの数を示します。

Spark メトリクスチャート

次の Spark メトリクス チャートは、コンピュート メトリクス UI で表示できます。

  • アクティブなタスク: 任意の時点で実行されているタスクの合計数で、グラフに表示される時間間隔に基づいて平均化されます。

  • 失敗したタスクの合計: エグゼキューターで失敗したタスクの合計数で、グラフに表示される時間間隔に基づいて平均化されます。

  • 完了したタスクの合計: エグゼキューターで完了したタスクの合計数で、グラフに表示される時間間隔に基づいて平均化されます。

  • タスクの総数: エグゼキューター内のすべてのタスク (実行中、失敗、完了) の合計数で、グラフに表示されている時間間隔に基づいて平均化されます。

  • 合計シャッフル読み取り: シャッフル読み取りデータの合計サイズで、バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。 Shuffle read は、ステージの開始時にすべてのエグゼキューターで直列化された読み取りデータの合計を意味します。

  • 合計シャッフル書き込み: シャッフル書き込みデータの合計サイズ (バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます)。 Shuffle Write は、送信前 (通常はステージの終了時) にすべてのエグゼキューターに書き込まれたすべてのシリアル化されたデータの合計です。

  • Total task duration: JVMがエグゼキューターでタスクの実行に費やした合計経過時間(秒単位で測定され、グラフに表示される時間間隔に基づいて平均化されます)。

GPU メトリクスチャート

次の GPU メトリクス チャートは、コンピュート メトリクス UI で表示できます。

  • GPU デコーダーごとの使用率: グラフに表示される時間間隔に基づいて平均化された GPU デコーダー使用率の割合。

  • GPU ごとのエンコーダー使用率: グラフに表示される時間間隔に基づいて平均化された GPU エンコーダー使用率の割合。

  • GPU ごとのフレーム バッファー メモリ使用率バイト: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されたフレーム バッファー メモリ使用率

  • GPU ごとのメモリ使用率: グラフに表示される時間間隔に基づいて平均化された GPU メモリ使用率の割合。

  • GPU あたりの使用率: グラフに表示される時間間隔に基づいて平均化された GPU 使用率の割合。

トラブルシューティング

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

  • メトリクスのクエリと保存を担当する Databricks サービスの停止。

  • 顧客側のネットワークの問題。

  • コンピュートは異常な状態にある、または異常な状態にありました。