监控实例和操作

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 Viewer (roles/monitoring.viewer) 角色或等效权限,以便在 Cloud Monitoring 中查看指标。
  • Monitoring Editor (roles/monitoring.editor) 或同等权限,才能配置提醒。

了解如何授予 IAM 角色

查看指标

Google Cloud 控制台中的两个位置提供了 Cloud Monitoring 指标:

  • 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 Editor (roles/monitoring.editor) IAM 角色。

创建提醒政策

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

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

    前往“监控”>“提醒”

  2. 点击 + 创建政策

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

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

  5. 点击创建政策

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

示例:创建存储容量提醒

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

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

    前往“监控”>“提醒”

  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 非 root 用户可用的给定对象存储目标 (OST) 或元数据目标 (MDT) 的存储空间字节数。 显示名称:可用字节数
指标种类:GAUGE
值类型:INT64
单位:字节
标签
component:目标类型:ostmdtmgt
target:目标的名称。
capacity_bytes 为指定目标预配的字节数。实例的总集群可用数据或元数据空间可以通过将给定类型的所有目标的容量相加来获得。 显示名称:容量(以字节为单位)
指标种类:GAUGE
值类型:INT64
单位:字节
标签
component:目标类型:ostmdtmgt
target:目标的名称。
free_bytes 指定 OST 或 MDT 的存储空间字节数,可供 root 用户使用。 显示名称:可用字节数
指标种类: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 资源。

指标 说明 详细信息
cache/read_hits 特定目标的读取命中次数。 显示名称:缓存读取命中次数
指标种类:CUMULATIVE
值类型:INT64
单位:1
标签
target:目标名称。
cache/read_misses 特定目标的读取未命中次数。 显示名称:缓存读取未命中次数
指标种类:CUMULATIVE
值类型:INT64
单位:1
标签
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
单位:Count
标签
accounting_typeusergroupproject 之一。
id:用户、群组或项目的数字 ID。
target:Lustre 目标设备的名称。
hard_limit_inodes 用户、群组或项目允许的最大 inode 数。 如果文件创建数量超出此限制,系统会拒绝该请求。 显示名称:配额硬限制 inode
指标种类:GAUGE
值类型:INT64
单位:数量
标签
accounting_typeusergroupproject 之一。
id:用户、群组或项目的数字 ID。
target:Lustre 目标设备的名称。

作业统计信息指标

根据客户端上的配置,提供每个作业 ID 的读取、写入和元数据统计信息。

如需收集这些指标,请使用 lctl 在 Lustre 客户端上配置 jobid_var 参数。如需了解详情,请参阅 Lustre 作业统计信息

如需将客户端配置为报告特定标识符(例如 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:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
write_bytes_total 作业写入的总字节数。 显示名称:按作业划分的数据写入字节数
指标种类:累积
值类型:INT64
单位:字节
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
metadata_operations_total 作业执行的元数据操作总次数。 显示名称:按作业划分的元数据操作
指标种类:CUMULATIVE
值类型:INT64
单位:操作
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
read_samples_total 作业执行的读取操作总数。 显示名称:按作业划分的数据读取操作
指标种类:CUMULATIVE
值类型:INT64
单位:操作
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
write_samples_total 作业执行的写入操作总数。 显示名称:按作业划分的数据写入操作
指标种类:CUMULATIVE
值类型:INT64
单位:操作
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
read_maximum_size_bytes 作业的读取操作的最大大小(以字节为单位)。 显示名称:作业读取的数据最大大小
指标种类:GAUGE
值类型:INT64
单位:字节
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
read_minimum_size_bytes 作业的读取操作的最小大小(以字节为单位)。 显示名称:作业读取的最小数据大小
指标种类:GAUGE
值类型:INT64
单位:字节
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
write_maximum_size_bytes 作业的写入操作的最大大小(以字节为单位)。 显示名称:按作业划分的数据写入最大大小
指标种类:GAUGE
值类型:INT64
单位:字节
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。
write_minimum_size_bytes 作业的写入操作的最小大小(以字节为单位)。 显示名称:按作业划分的数据写入最小大小
指标种类:GAUGE
值类型:INT64
单位:字节
标签
job_id:客户端发送的作业 ID。
component:目标类型。
target:目标的名称。
instance_id:Managed Lustre 实例的 ID。