このページでは、Ray クラスタに関連付けられたトラッキング ログを表示し、Ray on Vertex AI の指標をモニタリングする方法について説明します。Ray クラスタのデバッグに関するガイダンスも取り上げています。
ログを表示
Vertex AI 上の Ray クラスタでタスクを実行すると、トラッキング ログが自動的に生成され、Cloud Logging とオープンソース Ray ダッシュボードの両方に保存されます。このセクションでは、生成されたログに Google Cloud コンソールからアクセスする方法について説明します。
始める前に、Ray on Vertex AI の概要を読み、前提条件となるすべてのツールを設定してください。Ray OSS ダッシュボード
オープンソースの Ray ログファイルは、Ray OSS ダッシュボードから表示できます。
Google Cloud コンソールで、[Vertex AI での Ray] ページに移動します。
作成したクラスタの行で、[
その他の操作] メニューをクリックします。Ray OSS ダッシュボードのリンクを選択します。ダッシュボードが別のタブで開きます。
右上のメニューで [ログ] ビューに移動します。
各ノードをクリックすると、そのノードに関連付けられているログファイルが表示されます。
Cloud Logging コンソール
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
既存の Google Cloud プロジェクト、フォルダ、または組織を選択します。
すべての Ray ログを表示するには、クエリエディタ フィールドに次のクエリを入力し、[クエリを実行] をクリックします。
resource.labels.task_name="ray-cluster-logs"
ログを特定の Ray クラスタに絞り込むには、クエリに次の行を追加して [クエリを実行] をクリックします。
labels."ml.googleapis.com/ray_cluster_id"=CLUSTER_NAME
CLUSTER_NAME は、Ray クラスタの名前に置き換えます。Google Cloud コンソールで、[Vertex AI] > [Vertex AI での Ray] に移動します。各リージョンのクラスタ名のリストが表示されます。
ログを
raylet.out
などの特定のログファイルに絞り込むには、[ログのフィールド] -> [ログ名] でログの名前をクリックします。類似のログエントリをグループ化できます。
[クエリ結果] でログエントリをクリックしてログを展開します。
jsonPayload
でtailed_path
の値をクリックします。プルダウン メニューが表示されます。[一致エントリを表示] をクリックします。
ログを無効化
デフォルトでは、Ray on Vertex AI Cloud Logging が有効になっています。
Ray ログを Cloud Logging にエクスポートしないようにするには、次の Vertex AI SDK for Python コマンドを使用します。
vertex_ray.create_ray_cluster(..., enable_logging=False, ...)
Ray on Vertex AI Cloud Logging 機能が無効になっている場合でも、Ray ダッシュボードで Ray ログファイルを表示できます。
指標をモニタリングする
Google Cloud Monitoring(GCM)を使用して、Ray on Vertex AI の指標をさまざまな方法で表示できます。または、GCM から独自の Grafana サーバーに指標をエクスポートすることもできます。
GCM で指標をモニタリングする
GCM で Ray on Vertex AI の指標を表示する方法は 2 つあります。
- Metrics Explorer の直接ビューを使用します。
Grafana ダッシュボードをインポートします。
Metrics Explorer
Metrics Explorer で直接ビューを使用する手順は次のとおりです。
- Google Cloud Monitoring コンソールに移動します。
- [探索] で、[Metrics Explorer] を選択します。
- [有効なリソース] で、[Prometheus Target] を選択します。[有効な指標カテゴリ] が表示されます。
[Ray] を選択します。
指標のリストが表示されます。
- モニタリングする指標を選択します。次に例を示します。
- モニタリング対象の指標として CPU 使用率を選択します。
- フィルタを選択します。たとえば、クラスタを選択します。
クラスタ ID を使用して、特定のクラスタの上記の指標のみをモニタリングします。クラスタ ID を確認する手順は次のとおりです。Google Cloud コンソールの [IAM] ページに移動します。
- テストを作成するプロジェクトにいることを確認します。
- [名前] にクラスタ ID のリストが表示されます。
- 指標を表示するには、[集計] 方法を選択します。つまり、各 Ray プロセスの CPU 使用率を示す、未集計の指標を表示することもできます。
- モニタリング対象の指標として CPU 使用率を選択します。
GCM ダッシュボード
Ray on Vertex AI の Grafana ダッシュボードをインポートするには、Cloud Monitoring ダッシュボードのガイドライン「独自の Grafana ダッシュボードをインポートする」の手順を追ってください。
必要なのは Grafana ダッシュボードの JSON ファイルだけです。OSS Ray は、デフォルトのダッシュボード Grafana JSON ファイルを提供することで、この手動設定をサポートしています。
ユーザー所有の Grafana から指標をモニタリングする
すでに Grafana サーバーが実行されている場合は、Vertex AI 上の Ray クラスタの Prometheus 指標をすべて既存の Grafana サーバーにエクスポートすることもできます。これを行うには、GMP の Grafana を使用したクエリのガイダンスに沿って進めます。これにより、新しい Grafana データソースを既存の Grafana サーバーに追加し、データソース同期ツールを使用して、新しい Grafana Prometheus データソースを Ray on Vertex AI 指標と同期できます。
新しく追加された Grafana データソースをデータソース同期ツールを使用して、構成と認証を行うことが重要です。Grafana データソースの構成と認証の手順に沿って進めます。
同期が完了すると、Ray on Vertex AI の指標に基づいて必要なダッシュボードを作成して追加できます。
デフォルトでは、Ray on Vertex AI の指標収集が有効になっています。Vertex AI SDK for Python を使用して無効にする方法は次のとおりです。
vertex_ray.create_ray_cluster(..., enable_metrics_collection=False, ...)
Ray クラスタをデバッグする
Ray クラスタをデバッグするには、ヘッドノードのインタラクティブ シェルを使用します。
Google Cloud コンソール
ヘッドノードのインタラクティブ シェルにアクセスするには、次の操作を行います。
- Google Cloud コンソールで、[Vertex AI での Ray] ページに移動します。
Ray on Vertex AI に移動 - 正しいプロジェクトが選択されていることを確認してください。
- 確認するクラスタを選択します。[基本情報] セクションが表示されます。
- [アクセスリンク] セクションで、[ヘッドノードのインタラクティブ シェル] のリンクをクリックします。ヘッドノードのインタラクティブ シェルが表示されます。
- インタラクティブ シェルを使用したトレーニングのモニタリングとデバッグを行うの手順に沿って操作します。