AWS における Databricks のモニタリングとオブザーバビリティのベストプラクティス
Databricks は、データ分析や AI/ML ワークロードを管理するためのプラットフォームです。このガイドは、AWS 上の Databricks を実行しているお客様を対象に、AWS ネイティブのオブザーバビリティサービスやオープンソースのマネージドサービスを使用してこれらのワークロードをモニタリングする方法をサポートすることを目的としています。
Databricks をモニタリングする理由
Databricks クラスターを管理する運用チームは、統合されたカスタマイズ可能なダッシュボードを利用することで、以下のような利点を得られます:
- ワークロードのステータス、エラー、パフォーマンスのボトルネックを追跡できる
- 時間経過に伴う総リソース使用量や、エラーの割合など、望ましくない動作に対してアラートを設定できる
- 根本原因分析や追加のカスタムメトリクスの抽出のために、ログを一元化できる
監視すべき項目
Databricks は、クラスターインスタンスで Apache Spark を実行しており、これにはメトリ クスを公開するネイティブ機能があります。これらのメトリクスは、ドライバー、ワーカー、およびクラスターで実行されているワークロードに関する情報を提供します。
Spark を実行しているインスタンスには、ストレージ、CPU、メモリ、ネットワーキングに関する追加の有用な情報があります。Databricks クラスターのパフォーマンスに影響を与える可能性のある外部要因を理解することが重要です。多数のインスタンスを持つクラスターの場合、ボトルネックと全体的な健全性を理解することも同様に重要です。
モニタリング方法
コレクターとその依存関係をインストールするには、Databricks の初期化スクリプトが必要です。これらのスクリプトは、Databricks クラスターの各インスタンスで起動時に実行されます。
また、Databricks クラスターの権限には、インスタンスプロファイルを使用してメトリクスとログを送信する権限も必要です。
最後に、Databricks クラスターの Spark 設定でメトリクス名前空間を設定することがベストプラクティスです。その際、testApp
をクラスターの適切な参照に置き換えてください。
図 1: メトリクス名前空間の Spark 設定例