インスタンスとオペレーションをモニタリングする

Cloud Monitoring は、Managed Lustre インスタンスに関する情報を自動的に収集して保存します。

このドキュメントでは、 で Managed Lustre をモニタリングするために使用できる指標の概要について説明します。 Google Cloudこれらの指標は、Managed Lustre ファイル システムのパフォーマンス、容量、健全性を把握するのに役立ちます。これにより、ボトルネックの特定、問題のトラブルシューティング、リソース使用率の最適化を行うことができます。

これらの指標を Cloud Monitoring で使用して、カスタム ダッシュボードを作成し、アラートを設定して、Managed Lustre インスタンスの動作に関する詳細な分析情報を取得できます。

Managed Lustre では、Cloud Monitoring が自動的に有効になります。 コンソールでのデータの収集や指標の表示は無料です。Google Cloud API 呼び出しでは料金が発生する可能性があります。料金の詳細については、 Cloud Monitoring の料金をご覧ください。

必要な IAM のロール

次のロールが必要です。

  • Cloud Monitoring で指標を表示するには、モニタリング閲覧者roles/monitoring.viewer)ロールまたは同等の権限が必要です。
  • アラートを構成するには、モニタリング編集者roles/monitoring.editor)ロールまたは同等の権限が必要です。

詳細は、IAM ロールの付与方法をご覧ください。

指標を表示

Cloud Monitoring の指標は、コンソールの次の 2 つの場所で使用できます。Google Cloud

  • Managed Lustre インスタンスの詳細ページには、使用可能な指標が表示されます。このページに表示される指標に加えて、コピーされたバイト数の帯域幅とコピーされたオブジェクトのレートが計算されます。

  • Cloud Monitoring ページには、複数のグラフ オプションとカスタマイズが用意されています。

インスタンスの詳細ページで指標を表示する

特定のインスタンスの指標を表示するには:

  1. コンソールの [インスタンス] ページに移動します。 Google Cloud

    [インスタンス] に移動

  2. 指標を表示するインスタンスをクリックします。[インスタンスの詳細] ページが表示されます。

  3. [モニタリング] タブをクリックします。デフォルトのダッシュボードが表示されます。

Cloud Monitoring で指標を表示する

Cloud Monitoring で Managed Lustre の指標を表示する手順は次のとおりです。

  1. [Metrics Explorer] ページに移動します。 Google Cloud

    Monitoring の [Metrics Explorer] に移動

  2. Metrics Explorer で グラフを作成するの手順で 指標を選択し、表示します。

アラートを設定する

Cloud Monitoring でアラート ポリシーを構成して、Managed Lustre ファイル システムがストレージ容量やスループットの上限を超えるなどの特定の条件を満たしたときに通知を受け取ることができます。

前提条件

アラート ポリシーを作成するには、プロジェクトに対するモニタリング編集者roles/monitoring.editor)IAM ロールが必要です。

アラート ポリシーを作成する

アラートを設定するには、指標または PromQL クエリを使用して条件を定義し、通知チャンネルを構成します。

  1. コンソールで、[アラート] ページに移動します。 Google Cloud Google Cloud

    Monitoring の [アラート] に移動

  2. [+ CREATE POLICY] をクリックします。

  3. [ビルダー] を選択して指標を選択するか、[コードエディタ] を選択して PromQL でクエリを入力します。指標ピッカーでは、Managed Lustre 指標は [Lustre インスタンス] リソースと [Lustre ロケーション] リソースに分類されます。

  4. トリガー ロジックを構成し、 通知チャンネルと 通知設定を定義します。

  5. [ポリシーを作成] をクリックします。

トリガーの作成とその他のオプションの詳細については、以下をご覧ください。

例: ストレージ容量アラートを作成する

次の例では、Managed Lustre インスタンスがプロビジョニングされた容量の 80% を超えたときにトリガーされるアラートを作成する方法を示します。

  1. コンソールで、[アラート] ページに移動します。 Google Cloud Google Cloud

    Monitoring の [アラート] に移動

  2. [+ CREATE POLICY] をクリックします。

  3. [コードエディタ] を選択します。

  4. [**クエリエディタ**] に次の PromQL クエリを貼り付けます。

    (
      sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
      -
      sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)
    )
    /
    sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
    > 0.8
    

    このクエリは、すべてのインスタンスの使用率を (Total - Available) / Total で計算します。値 0.8 は、合計バイト数が使用率 80% に達したことを表します。90% でアラートを生成するには、この値を 0.9 に変更します。

  5. [クエリを実行] をクリックして構文を確認し、現在の使用率のグラフを表示します。

  6. [次へ] をクリックし、トリガーを [任意の時系列が違反する] に構成します。

  7. [次へ] をクリックします。[ドキュメント] セクションで、容量の問題を解決するための推奨アクションを追加します。次に例を示します。

    ## Action Required: Lustre Capacity Warning
    The Managed Lustre instance is exceeding 80% capacity usage.
    
    **Metric:** Usage Ratio > 0.8
    **Severity:** Warning
    
    **Recommended Actions:**
    1. Check the instance details in the Google Cloud console.
    2. Verify if this is expected data growth or a runaway process.
    3. If valid, consider expanding the storage capacity of the instance or deleting old data to free up space.
    4. Failure to address this may result in "No Space Left on Device" errors for client applications.
    

gcloud でアラート ポリシーを作成する

Google Cloud CLI を使用してアラート ポリシーを作成できます。特定の通知チャンネルを有効にするには、後でコンソールでアラートを編集する必要があります。 Google Cloud

次の例では、gcloud を使用して 80% の容量アラートを作成します。

gcloud monitoring policies create \
  --policy-from-file=/dev/stdin <<EOF
{
  "displayName": "Lustre High Capacity Usage (>80%)",
  "severity": "WARNING",
  "combiner": "OR",
  "conditions": [
    {
      "displayName": "Capacity Usage Ratio > 0.8",
      "conditionPrometheusQueryLanguage": {
        "query": "(sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) - sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)) / sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) > 0.8",
        "duration": "300s",
        "evaluationInterval": "60s",
        "alertRule": "AlwaysOn"
      }
    }
  ],
  "documentation": {
    "content": "Action Required: The Managed Lustre instance is exceeding 80% capacity usage. Please verify if storage expansion is required.",
    "mimeType": "text/markdown"
  }
}
EOF

指標の詳細

Managed Lustre 指標は、次のモニタリング対象リソースタイプに関連付けられています。

  • lustre.googleapis.com/Instance
  • lustre.googleapis.com/Job
  • lustre.googleapis.com/QuotaEntity

データは 60 秒ごとにサンプリングされます。サンプリング後、データが表示されるまでに最大 180 秒かかることがあります。

ストレージ容量の指標

Lustre ファイル システムで使用可能でプロビジョニングされているストレージ容量に関連する指標。

指標ラベルの場合、target の値は <fsname>-<TYPE><HEXA> の形式を使用します。ここで、<HEXA> はターゲット の 0 から始まるインデックス(16 進数)です。たとえば、ファイル システム名が filesys の場合、 43 番目の OST は filesys-OST002a、4 番目の MDT は filesys-MDT0003 です。

ストレージ容量の指標は、lustre.googleapis.com/Instance リソースに関連付けられています。

指標 説明 詳細
available_bytes 特定の Object Storage Target (OST)または Metadata Target(MDT)のストレージ容量のうち、root 以外のユーザーが使用できるバイト数。 表示名: 使用可能なバイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
component: ターゲット タイプ: ostmdt、または mgt
target: ターゲットの名前。
capacity_bytes 指定されたターゲットにプロビジョニングされたバイト数。インスタンスのクラスタで使用可能なデータまたはメタデータ スペースの合計容量は、特定のタイプのターゲットのすべてのターゲットの容量を加算することで取得できます。 表示名: 容量バイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
component: ターゲット タイプ: ostmdt、または mgt
target: ターゲットの名前。
free_bytes 特定の OST または MDT のストレージ容量のうち、root ユーザーが使用できるバイト数。 表示名: 空きバイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
component: ターゲット タイプ: ostmdt、または mgt
target: ターゲットの名前。

Inode(オブジェクト)の指標

使用可能な inode(オブジェクト)の数と最大容量に関連する指標。

Inode 指標は、lustre.googleapis.com/Instance リソースに関連付けられています。

指標 説明 詳細
inodes_free 指定されたターゲットで使用可能な inode(オブジェクト)の数。 表示名: 空き inode
指標の種類: GAUGE
値の型: INT64
単位: inode
ラベル:
component: ターゲット タイプ。
target: ターゲットの名前。
inodes_maximum ターゲットが保持できる inode(オブジェクト)の最大数。 表示名: 最大 inode
指標の種類: GAUGE
値の型: INT64
単位: inode
ラベル:
component: ターゲット タイプ。
target: ターゲットの名前。

I/O パフォーマンス指標

データ転送速度とオペレーション レイテンシに関する分析情報を提供する指標。

I/O パフォーマンス指標は、lustre.googleapis.com/Instance リソースに関連付けられています。

指標 説明 詳細
io_time_milliseconds_total レイテンシがバケット化されたレイテンシ範囲内にある読み取りまたは書き込みオペレーションの数。 表示名: オペレーション レイテンシ
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
component: ターゲット タイプ。
operation: オペレーション タイプ。
size: バケット化されたレイテンシ範囲。たとえば、512 には、512 ~ 1, 024 ミリ秒かかったオペレーションの数が含まれます。
target: ターゲットの名前。
read_bytes_total 指定された OST から読み取られたデータバイト数。 表示名: 読み取られたデータバイト数
指標の種類: CUMULATIVE
値の型: INT64
単位: バイト
ラベル:
component: ターゲット タイプ: 常に ost
operation: オペレーション タイプ: read
target: ターゲットの名前。
read_samples_total 指定された OST で実行された読み取りオペレーションの数。 表示名: データ読み取りオペレーション
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
component: ターゲット タイプ: 常に ost
operation: オペレーション タイプ: read
target: ターゲットの名前。
write_bytes_total 指定された OST に書き込まれたデータバイト数。 表示名: 書き込まれたデータバイト数
指標の種類: CUMULATIVE
値の型: INT64
単位: バイト
ラベル:
component: ターゲット タイプ: 常に ost
operation: オペレーション タイプ: write
target: ターゲットの名前。
write_samples_total 指定された OST で実行された書き込みオペレーションの数。 表示名: 書き込みデータ オペレーション
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
component: ターゲット タイプ: 常に ost
operation: オペレーション タイプ: write
target: ターゲットの名前。

クライアント接続の指標

クライアント接続を把握するための指標。

クライアント接続の指標は、lustre.googleapis.com/Instance リソースに関連付けられています。

指標 説明 詳細
connected_clients 指定された MDT に現在接続されているクライアントの数。 表示名: 接続されたクライアント
指標の種類: GAUGE
値の型: INT64
単位: クライアント
ラベル:
component: ターゲット タイプ。これは常に mdtです。
target: MDT の名前。

ファイル システムの割り当て指標

ファイル システムの割り当て指標を使用すると、特定のユーザー、グループ、プロジェクトのストレージと inode の使用量をモニタリングできます。これらの指標を使用して、ファイル システムで構成された ソフト上限とハード上限 に対する現在の 使用量を追跡します。

ファイル システムの割り当て指標は、 lustre.googleapis.com/QuotaEntity モニタリング対象 リソースに関連付けられています。

指標 説明 詳細
used_bytes ユーザー、グループ、または プロジェクトで現在使用されている合計バイト数。 表示名: 割り当て使用バイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。
soft_limit_bytes 猶予期間をトリガーするストレージ使用量のしきい値。猶予期間が終了しても使用量がこの上限を超えている場合、これは強制的なハード上限になります。 表示名: 割り当てソフト上限バイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。
hard_limit_bytes ユーザー、グループ、プロジェクトに許可される最大ストレージ使用量。 この上限を超える書き込みは拒否されます。 表示名: 割り当てハード上限バイト数
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。
used_inodes ユーザー、グループ、プロジェクトで現在使用されている inode(ファイル レコード)の合計数。 表示名: 割り当て使用 inode
指標の種類: GAUGE
値の型: INT64
単位:
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。
soft_limit_inodes 猶予期間をトリガーする inode 使用量のしきい値。猶予期間が終了しても使用量 がこの上限を超えている場合、これは強制的な ハード上限になります。 表示名: 割り当てソフト上限 inode
指標の種類: GAUGE
値の型: INT64
単位:
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。
hard_limit_inodes ユーザー、グループ、プロジェクトに許可される inode の最大数。 この上限を超えるファイルの作成は拒否されます。 表示名: 割り当てハード上限 inode
指標の種類: GAUGE
値の型: INT64
単位:
ラベル:
accounting_type: usergroupproject のいずれか。
id: ユーザー、グループ、プロジェクトの数値 ID。
target: Lustre ターゲット デバイスの名前。

Jobstats 指標

クライアントで構成されている JobID ごとの読み取り、書き込み、メタデータの統計情報を提供する指標。

これらの指標を収集するには、lctl を使用して Lustre クライアントで jobid_var パラメータを構成します。詳細については、 Lustre Jobstats をご覧ください。

特定の識別子( procname_uid など)を報告するようにクライアントを構成するには、lctl set_param jobid_var コマンドを使用します。

lctl set_param jobid_var=procname_uid

Jobstats 指標は、lustre.googleapis.com/Job リソースに関連付けられています。

指標 説明 詳細
read_bytes_total ジョブによって読み取られた合計バイト数。 表示名: ジョブによる読み取りデータバイト数
指標の種類: CUMULATIVE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
write_bytes_total ジョブによって書き込まれた合計バイト数。 表示名: ジョブによる書き込みデータバイト数
指標の種類: CUMULATIVE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
metadata_operations_total ジョブによって実行されたメタデータ オペレーションの合計数。 表示名: ジョブによるメタデータ オペレーション
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
read_samples_total ジョブによって実行された読み取りオペレーションの合計数。 表示名: ジョブによる読み取りデータ オペレーション
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
write_samples_total ジョブによって実行された書き込みオペレーションの合計数。 表示名: ジョブによる書き込みデータ オペレーション
指標の種類: CUMULATIVE
値の型: INT64
単位: オペレーション
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
read_maximum_size_bytes ジョブによる読み取りオペレーションの最大サイズ(バイト単位)。 表示名: ジョブによる読み取りデータの最大サイズ
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
read_minimum_size_bytes ジョブによる読み取りオペレーションの最小サイズ(バイト単位)。 表示名: ジョブによる読み取りデータの最小サイズ
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
write_maximum_size_bytes ジョブによる書き込みオペレーションの最大サイズ(バイト単位)。 表示名: ジョブによる書き込みデータの最大サイズ
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。
write_minimum_size_bytes ジョブによる書き込みオペレーションの最小サイズ(バイト単位)。 表示名: ジョブによる書き込みデータの最小サイズ
指標の種類: GAUGE
値の型: INT64
単位: バイト
ラベル:
job_id: クライアントから送信された JobID。
component: ターゲット タイプ。
target: ターゲットの名前。
instance_id: Managed Lustre インスタンスの ID。