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

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

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

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

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

必要な IAM のロール

次のロールが必要です。

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

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

指標を表示する

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

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

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

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

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

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

    [インスタンス] に移動

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

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

Cloud Monitoring で指標を表示する

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

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

    Monitoring の [Metrics Explorer] に移動

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

アラートを設定する

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

前提条件

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

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

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

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

    [モニタリング: アラート] に移動

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

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

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

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

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

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

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

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

    [モニタリング: アラート] に移動

  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. [次へ] をクリックして、トリガーを [Any time series violates] に構成します。

  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/available_bytes)には、表示名、説明、追加のコンテキストを提供する特定のラベルがあります。

データは 60 秒ごとにサンプリングされます。サンプリング後、データは最長 180 秒間表示されないことがあります。

ストレージ容量の指標

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

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

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

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

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

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

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

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

オペレーション レイテンシ

指標 説明 詳細
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: ターゲットの名前。

クライアント接続の指標

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

接続されたクライアント

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