注意
本文档适用于 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 集群中,此参数还有助于清理陈旧指标。当子卷的滑动窗口变空时,其指标将被移除,不再报告为“零”值,从而减少内存使用和计算开销。
名称 |
类型 |
描述 |
|---|---|---|
|
Gauge |
滑动窗口内的平均读取 IOPS(每秒输入/输出操作)。 |
|
Gauge |
平均读取吞吐量(字节/秒)。 |
|
Gauge |
平均读取延迟(毫秒)。 |
|
Gauge |
滑动窗口内的平均写入 IOPS。 |
|
Gauge |
平均写入吞吐量(字节/秒)。 |
|
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
}
}