监控实例和操作

Cloud Monitoring 会自动收集和存储有关 Managed Lustre 实例的信息。

本文档详细介绍了可用于监控 Managed Lustre 的指标。 Google Cloud这些指标可帮助您了解 Managed Lustre 文件系统的性能、容量和运行状况,以便您发现瓶颈、排查问题并优化资源利用率。

您可以在 Cloud Monitoring 中使用这些指标来创建自定义信息中心、设置提醒,并深入了解 Managed Lustre 实例的行为。

系统会自动为 Managed Lustre 启用 Cloud Monitoring。 您可以免费收集数据或在 Google Cloud 控制台中查看指标。API 调用可能会产生费用;如需了解价格详情,请参阅 Cloud Monitoring 价格

所需 IAM 角色

需要以下角色:

  • Monitoring Viewer (roles/monitoring.viewer) 或等效权限,用于在 Cloud Monitoring 中查看指标。
  • Monitoring Editor (roles/monitoring.editor) 或等效权限,用于配置提醒。

了解如何授予 IAM 角色

查看指标

控制台中的两个位置提供了 Cloud Monitoring 指标: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 文件系统满足特定条件(例如超出存储容量或吞吐量限制)时收到通知。

前提条件

如需创建提醒政策,您必须拥有项目的 Monitoring Editor (roles/monitoring.editor) IAM 角色。

创建提醒政策

如需设置提醒,请使用指标或 PromQL 查询定义条件,并配置通知渠道。

  1. 在 Google Cloud 控制台中,前往控制台中的提醒页面。 Google Cloud

    前往 Monitoring:提醒

  2. 点击 + 创建政策

  3. 选择构建器 并选择您的指标,或选择代码编辑器 以 使用 PromQL 输入查询。在指标选择器中,Managed Lustre 指标位于 Lustre 实例Lustre 位置 资源下。

  4. 配置触发器逻辑,并定义您的 通知渠道和 通知设置。

  5. 点击创建政策

如需详细了解如何创建触发器和其他选项,请参阅:

示例:创建存储容量提醒

以下示例演示了如何创建在 Managed Lustre 实例超出其预配容量的 80% 时触发的提醒。

  1. 在 Google Cloud 控制台中,前往控制台中的提醒页面。 Google Cloud

    前往 Monitoring:提醒

  2. 点击 + 创建政策

  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_type:`user`、`group` 或 `project` 之一。
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

如需将客户端配置为报告特定标识符(例如 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。