注意

本文档适用于 Ceph 的开发版本。

指标

CephFS 使用 性能计数器 来跟踪指标。计数器可以被标记 (带标签的性能计数器)。

客户端指标

CephFS 以 带标签的性能计数器 的形式导出客户端指标,这些指标可用于监控客户端性能。CephFS 导出以下客户端指标。

客户端指标

名称

类型

描述

num_clients

Gauge

客户端会话数

cap_hits

Gauge

文件能力命中占总能力数的百分比

cap_miss

Gauge

文件能力未命中占总能力数的百分比

avg_read_latency

Gauge

读取延迟的平均值

avg_write_latency

Gauge

写入延迟的平均值

avg_metadata_latency

Gauge

元数据延迟的平均值

dentry_lease_hits

Gauge

Dentry 租约命中占总 Dentry 租约请求的百分比

dentry_lease_miss

Gauge

Dentry 租约未命中占总 Dentry 租约请求的百分比

opened_files

Gauge

打开的文件数

opened_inodes

Gauge

打开的 inode 数

pinned_icaps

Gauge

固定的 Inode Caps 数

total_inodes

Gauge

Inode 总数

total_read_ops

Gauge

所有进程生成的读取操作总数

total_read_size

Gauge

所有进程在输入/输出操作中读取的字节数

total_write_ops

Gauge

所有进程生成的写入操作总数

total_write_size

Gauge

所有进程在输入/输出操作中写入的字节数

子卷指标

CephFS 以 带标签的性能计数器 的形式导出子卷指标,这些指标可用于监控子卷性能。CephFS 导出以下子卷指标。子卷指标在 30 秒的滑动窗口内聚合(默认值,可通过 subv_metrics_window_interval 参数配置,请参阅 MDS 配置参考)。在具有数万个子卷的大型 Ceph 集群中,此参数还有助于清理陈旧指标。当子卷的滑动窗口变空时,其指标将被移除,不再报告为“零”值,从而减少内存使用和计算开销。

子卷指标

名称

类型

描述

avg_read_iops

Gauge

滑动窗口内的平均读取 IOPS(每秒输入/输出操作)。

avg_read_tp_Bps

Gauge

平均读取吞吐量(字节/秒)。

avg_read_lat_msec

Gauge

平均读取延迟(毫秒)。

avg_write_iops

Gauge

滑动窗口内的平均写入 IOPS。

avg_write_tp_Bps

Gauge

平均写入吞吐量(字节/秒)。

avg_write_lat_msec

Gauge

平均写入延迟(毫秒)。

获取指标

指标可以从 MDS admin socket 中获取,也可以使用 tell 接口获取。`counter dump` 命令输出中的 mds_client_metrics-<fsname> 部分显示了每个客户端的指标,如下所示

"mds_client_metrics": [
    {
        "labels": {
            "fs_name": "<fsname>",
            "id": "14213"
        },
        "counters": {
            "num_clients": 2
        }
    }
],
"mds_client_metrics-<fsname>": [
    {
        "labels": {
            "client": "client.0",
            "rank": "0"
        },
        "counters": {
            "cap_hits": 5149,
            "cap_miss": 1,
            "avg_read_latency": 0.000000000,
            "avg_write_latency": 0.000000000,
            "avg_metadata_latency": 0.000000000,
            "dentry_lease_hits": 0,
            "dentry_lease_miss": 0,
            "opened_files": 1,
            "opened_inodes": 2,
            "pinned_icaps": 2,
            "total_inodes": 2,
            "total_read_ops": 0,
            "total_read_size": 0,
            "total_write_ops": 4836,
            "total_write_size": 633864192
        }
    },
    {
        "labels": {
            "client": "client.1",
            "rank": "0"
        },
        "counters": {
            "cap_hits": 3375,
            "cap_miss": 8,
            "avg_read_latency": 0.000000000,
            "avg_write_latency": 0.000000000,
            "avg_metadata_latency": 0.000000000,
            "dentry_lease_hits": 0,
            "dentry_lease_miss": 0,
            "opened_files": 1,
            "opened_inodes": 2,
            "pinned_icaps": 2,
            "total_inodes": 2,
            "total_read_ops": 0,
            "total_read_size": 0,
            "total_write_ops": 3169,
            "total_write_size": 415367168
        }
    }
]

子卷指标作为同一命令的一部分转储。`counter dump` 命令输出中的 mds_subvolume_metrics 部分显示了每个客户端的指标,如下所示

"mds_subvolume_metrics": [
    {
        "labels": {
            "fs_name": "a",
            "subvolume_path": "/volumes/_nogroup/test_subvolume"
        },
        "counters": {
            "avg_read_iops": 0,
            "avg_read_tp_Bps": 11,
            "avg_read_lat_msec": 0,
            "avg_write_iops": 1564,
            "avg_write_tp_Bps": 6408316,
            "avg_write_lat_msec": 338
        }
    }

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入