指標を表示してジョブリソースをモニタリングして最適化する

このドキュメントでは、Cloud Monitoring で指標を表示して、Batch ジョブのリソースをモニタリングし、最適化を試みる方法について説明します。 ジョブが実行されるリソースの詳細については、ジョブリソースをご覧ください。

どのジョブでも、Monitoring は CPU 使用率やネットワーク トラフィックなどの基本指標を提供します。ただし、メモリやプロセス使用率などの一部の指標は、ジョブで Ops エージェントをインストールしている場合にのみ収集できます。 ジョブのリソースの指標は、各リソースのパフォーマンスと使用率を評価する際に有用です。この情報は、ジョブの今後のイテレーションで改善点を特定するのに役立ちます。たとえば、未使用のリソースを削除してコストを最適化できます。また、パフォーマンスを向上させるために、逼迫したリソースを改善または増やすことができます。

始める前に

  1. Batch を以前に使用したことがない場合は、Batch を使ってみるを確認し、プロジェクトとユーザーの前提条件を完了して Batch を有効にします。
  2. 省略可: ジョブについて追加の指標を収集するには、Ops エージェントを自動的にインストールするジョブを作成して実行します。
  3. プロジェクトで Monitoring API がまだ有効になっていない場合は、有効にします。

    Enable the API

  4. オブザーバビリティ指標を表示するために必要な権限を取得するには、プロジェクトに対するモニタリング指標閲覧者 roles/monitoring.metricViewer)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

ジョブリソースの指標を表示する

Compute Engine ドキュメントの VM の観察とモニタリングでは、VM 指標に関連するコンセプトについて説明します。ただし、Batch ジョブの VM 指標を表示するには別の方法をおすすめします。具体的には、Compute Engine のドキュメントで、Compute Engine の既定の Monitoring ダッシュボードまたは Google Cloud コンソールの Compute Engine ページを使用して指標を表示する方法について説明しています。 ただし、これらの方法では、削除された VM に関する情報は表示されません。そのため、実行中の Batch ジョブの指標のみを表示する場合を除き、これらのメソッドは使用しないでください。

このセクションで説明するように、Metrics Explorer のグラフを使用して、実行中と完了した Batch ジョブの指標を表示します。なお、グラフはカスタム ダッシュボードに保存しない限り、一時的なものです。

1 つ以上の指標を表示するグラフを作成するには、次の操作を行います。

  1. (省略可)グラフを保存する場合は、グラフのカスタム ダッシュボードを特定または作成します。
  2. 1 つ以上の指標の Metrics Explorer グラフを作成します

    フィルタを使用しない場合、グラフ内の各 VM 指標には、プロジェクト内のすべての VM のデータが含まれます。必要に応じて、すべてまたは特定の Batch ジョブの指標のみが含まれるようにグラフをフィルタリングする場合は、次のフィルタを追加します。

    group=RESOURCE_GROUP_NAME
    

    RESOURCE_GROUP_NAME は、Batch ジョブのリソース グループの名前に置き換えます。詳細については、このドキュメントの指標をフィルタするリソース グループを作成するをご覧ください。

リソース グループを作成して指標をフィルタする

リソース グループは、Metrics Explorer グラフのカスタマイズ可能なフィルタとして使用できます。 プロジェクト内のすべてのバッチジョブまたは特定のバッチジョブのリソース グループを作成するには、次の操作を行います。

  1. グループに含めるジョブに基づいて、メンバー条件として使用するラベルを選択します。

    • すべての Batch ジョブ: 事前定義された batch-node ラベルを使用します。このラベルは、すべての Batch ジョブのすべてのリソースに自動的に適用され、null 値になります。
    • 特定の Batch ジョブ: 特定の Batch ジョブに対してのみリソースに適用されるラベルを使用します。

      たとえば、ジョブ名の完全な名前または部分的な名前に基づいてグループを作成する場合は、特定の値を持つ事前定義された batch-job-id ラベル名を使用します。 batch-job-id ラベルは、すべての Batch ジョブのすべてのリソースに自動的に適用され、ジョブ名で定義されます。

      代わりに、カスタムラベルを使用する場合は、ジョブの作成時にグループに含める Batch ジョブのすべてのリソースにカスタムラベルを適用する必要があります。

  2. プロジェクトに、選択したラベルを持つジョブが少なくとも 1 つあり、このジョブが RUNNING 状態になっていることを確認します。そうしないと、リソース グループの作成時にこのラベルがオプションとして表示されません。

  3. リソース グループを作成します。 メンバーシップ条件を指定するときは、次の操作を行います。

    1. [タイプ] を [タグ] に設定します。
    2. [タグ] フィールドに選択したラベルの名前を設定します。次に、グループに含めるラベル値に基づいて、次のフィールドを設定します。

      たとえば、このグループにすべての Batch ジョブを含める場合は、[タグ] を batch-node、[演算子] を [存在する] に設定します。 または、このグループに test で始まる名前の Batch ジョブを含め、[タグ] を batch-job-id に設定し、[演算子] を [次で始まる] を選択し、[] を test に設定します。

次のステップ