監控執行個體和作業

Cloud Monitoring 會自動收集及儲存 Managed Lustre 執行個體的相關資訊。

本文詳細說明可用於監控 Google Cloud上 Managed Lustre 的指標。這些指標可協助您瞭解 Managed Lustre 檔案系統的效能、容量和健康狀態,找出瓶頸、排解問題,並盡可能提高資源使用率。

您可以在 Cloud Monitoring 中使用這些指標建立自訂資訊主頁、設定快訊,並深入瞭解 Managed Lustre 執行個體的行為。

系統會自動為 Managed Lustre 啟用 Cloud Monitoring。 收集資料或在Google Cloud 控制台中查看指標都不必付費。API 呼叫可能會產生費用;如需定價詳情,請參閱「Cloud Monitoring 定價」。

必要的 IAM 角色

您必須具備下列角色:

  • Monitoring 檢視者 (roles/monitoring.viewer) 或同等權限,才能在 Cloud Monitoring 中查看指標。
  • 監控編輯者 (roles/monitoring.editor) 或同等權限,可設定快訊。

瞭解如何授予 IAM 角色

查看指標

您可以在 Cloud Monitoring 主控台的兩個位置查看指標:Google Cloud

  • Managed Lustre 執行個體詳細資料頁面會顯示可用的指標。除了本頁列出的指標,這項工具還會計算複製的位元組頻寬和複製的物件比率。

  • Cloud Monitoring 頁面提供多種圖表選項和自訂功能。

在執行個體詳細資料頁面查看指標

如要查看特定執行個體的指標,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面。

    前往「Instances」(執行個體)

  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 控制台的「Alerting」(警告) 頁面。 Google Cloud

    前往「Monitoring」>「Alerting」

  2. 點選「+ Create policy」

  3. 選取「產生器」並選取指標,或選擇「程式碼編輯器」,然後輸入 PromQL 查詢。在指標挑選器中,Managed Lustre 指標會歸類在「Lustre instance」和「Lustre location」資源下。

  4. 設定觸發邏輯,並定義通知管道和通知設定。

  5. 點選「建立政策」

如要進一步瞭解如何建立觸發條件及其他選項,請參閱:

範例:建立儲存空間容量快訊

以下範例說明如何建立警報,在 Managed Lustre 執行個體超過佈建容量的 80% 時觸發警報。

  1. 前往 Google Cloud 控制台的「Alerting」(警告) 頁面。 Google Cloud

    前往「Monitoring」>「Alerting」

  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> 是目標的十六進位零基底索引。舉例來說,如果檔案系統名稱為 filesys,則第 43 個 OST 為 filesys-OST002a,第 4 個 MDT 為 filesys-MDT0003

儲存空間容量指標會附加至 lustre.googleapis.com/Instance 資源。

指標 說明 詳細資料
available_bytes 非根使用者可用的特定物件儲存空間目標 (OST) 或中繼資料目標 (MDT) 儲存空間位元組數。 顯示名稱:可用位元組
指標種類:GAUGE
值類型:INT64
單位:位元組
標籤:
component:目標類型:ostmdtmgt
target:目標名稱。
capacity_bytes 為指定目標佈建的位元組數。如要取得執行個體的叢集可用資料或中繼資料總空間,請將特定類型目標的所有目標容量加總。 顯示名稱:容量位元組
指標種類:GAUGE
值類型:INT64
單位:位元組
標籤:
component:目標類型:ostmdtmgt
target:目標名稱。
free_bytes 特定 OST 或 MDT 的儲存空間位元組數,可供根使用者使用。 顯示名稱:可用位元組數
指標種類:GAUGE
值類型:INT64
單位:位元組
標籤:
component:目標類型:ostmdtmgt
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 到 1024 毫秒的作業數量。
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_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。
soft_limit_bytes 觸發寬限期的儲存空間用量門檻。如果寬限期過後,使用量仍超過上限,系統就會強制執行這項硬性限制。 顯示名稱:配額軟性限制位元組
指標種類:GAUGE
值類型:INT64
單位:位元組
標籤:
accounting_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。
hard_limit_bytes 使用者、群組或專案可使用的儲存空間用量上限。如果寫入次數超過上限,系統會拒絕寫入。 顯示名稱:配額硬性限制位元組
指標類型:GAUGE
值類型:INT64
單位:位元組
標籤:
accounting_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。
used_inodes 使用者、群組或專案目前使用的 inode (檔案記錄) 總數。 顯示名稱:配額使用的 inode
指標種類:GAUGE
值類型:INT64
單位:計數
標籤:
accounting_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。
soft_limit_inodes 觸發寬限期的 inode 用量門檻。寬限期過後,如果用量仍超過上限,系統就會強制執行硬性限制。 顯示名稱:配額軟性限制 inode
指標種類:GAUGE
值類型:INT64
單位:計數
標籤:
accounting_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。
hard_limit_inodes 使用者、群組或專案可用的 inode 數量上限。 如果檔案建立數超過上限,系統會拒絕建立檔案。 顯示名稱:配額硬性限制 inode
指標種類:GAUGE
值類型:INT64
單位:計數
標籤:
accounting_typeusergroupproject 其中之一。
id:使用者、群組或專案的數值 ID。
target:Lustre 目標裝置的名稱。

Jobstats 指標

指標:提供每個 JobID 的讀取、寫入和中繼資料統計資料,如用戶端設定所示。

如要收集這些指標,請使用 lctl 在 Lustre 用戶端上設定 jobid_var 參數。詳情請參閱「Lustre Jobstats」。

如要將用戶端設定為回報特定 ID (例如 procname_uid),請使用 lctl set_param jobid_var 指令:

lctl set_param jobid_var=procname_uid

Jobstats 指標會附加至 lustre.googleapis.com/Job 資源。

指標 說明 詳細資料
read_bytes_total 作業讀取的位元組總數。 顯示名稱:依作業讀取的資料位元組數
指標種類:累積
值類型: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。