注意
本文档适用于 Ceph 开发版本。
CephFS Top Utility
CephFS 提供top(1)类似实用程序,用于实时显示各种 Ceph 文件系统指标。cephfs-top是一个基于 curses 的 Python 脚本,它利用 Ceph 管理器中的插件来获取(并显示)指标。stats plugin in Ceph Manager to fetch (and display) metrics.
管理器插件
Ceph 文件系统客户端定期将各种指标转发到 Ceph 元数据服务器(MDS),MDS 再通过 MDS 排名零将指标转发给 Ceph 管理器。每个活跃的 MDS 将其各自的指标集转发给 MDS 排名零。指标被聚合并转发给 Ceph 管理器。
指标分为两类 - 全局和每个 MDS。全局指标表示整个文件系统的指标集(例如,客户端读取延迟),而每个 MDS 指标是针对特定 MDS 排名的(例如,MDS 处理的子树数量)。
Note
目前,仅跟踪全局指标。
stats插件默认禁用,应通过以下方式启用:
$ ceph mgr module enable stats
启用后,可以通过以下方式获取 Ceph 文件系统指标:
$ ceph fs perf stats
输出格式为 JSON,包含以下字段:
version: 统计输出的版本
global_counters: 全局性能指标列表
counters: 每个 MDS 性能指标列表
client_metadata: Ceph 文件系统客户端元数据
global_metrics: 全局性能计数器
metrics: 每个 MDS 性能计数器(目前为空)和延迟排名
Note
delayed_ranks是报告过时指标的活跃 MDS 排名集。这种情况可能发生在 MDS 排名零与其他活跃 MDS 之间的(临时)网络问题中。
可以针对特定客户端和/或一组活跃 MDS 获取指标。要获取特定客户端(例如,客户端 ID:1234)的指标:
$ ceph fs perf stats --client_id=1234
要仅获取活跃 MDS 子集的指标(例如,MDS 排名 1 和 2):
$ ceph fs perf stats --mds_rank=1,2
cephfs-top
cephfs-top实用程序依赖于stats插件来获取性能指标并在top(1)类似格式中显示。cephfs-top作为cephfs-top软件包的一部分提供。
默认情况下,cephfs-top使用client.fstop用户连接到 Ceph 集群:
$ ceph auth get-or-create client.fstop mon 'allow r' mds 'allow r' osd 'allow r' mgr 'allow r'
$ cephfs-top
字段描述
- chitCap hit
文件能力命中占总能力的百分比
- dleaseDentry lease
dentry 保留请求中 dentry 保留的百分比
- ofiles打开的文件
打开文件的文件数量
- oicapsPinned caps
保留的 caps 数量
- oinodes打开的 inodes
打开 inode 的数量
- rtio读取 IO 的总大小
由所有进程生成的输入/输出操作中读取的字节数
- wtio写入 IO 的总大小
由所有进程生成的输入/输出操作中写入的字节数
- raio读取 IO 的平均大小
所有进程在总 IO 中生成的输入/输出操作的字节数的平均值
- waio写入 IO 的平均大小
所有进程在总 IO 中生成的输入/输出操作的字节数的平均值
- rsp读取速度
自上次刷新客户端以来的读取 IO 速度
- wsp写入速度
自上次刷新客户端以来的写入 IO 速度
- rlatavg平均读取延迟
读取延迟的平均值
- rlatsd读取延迟的标准偏差(方差)
读取延迟指标与其平均值的偏差
- wlatavg平均写入延迟
写入延迟的平均值
- wlatsd写入延迟的标准偏差(方差)
写入延迟指标与其平均值的偏差
- mlatavg平均元数据延迟
元数据延迟的平均值
- mlatsd元数据延迟的标准偏差(方差)
元数据延迟指标与其平均值的偏差
命令行选项
要使用非默认用户(除client.fstop外),请使用:
$ cephfs-top --id <name>
默认情况下,cephfs-top连接到集群名称ceph。要使用非默认集群名称:
$ cephfs-top --cluster <cluster>
cephfs-top默认情况下,每秒刷新统计信息。要选择不同的刷新间隔,请使用:
$ cephfs-top -d <seconds>
刷新间隔应为正整数。
要将指标转储到 stdout 而不创建 curses 显示,请使用:
$ cephfs-top --dump
要将给定文件系统的指标转储到 stdout 而不创建 curses 显示,请使用:
$ cephfs-top --dumpfs <fs_name>
交互式命令
- m文件系统选择
显示用于选择的文件系统菜单。
- s排序字段选择
指定排序字段。‘cap_hit’ 是默认值。
- l客户端限制
设置要显示的客户端数量限制。
- r重置
将排序字段和限制值重置为默认值。
- q退出
如果您处于主屏幕(所有文件系统信息),则退出实用程序,否则按 Esc 返回主屏幕。
指标显示可以使用箭头键、PgUp/PgDn、Home/End 和鼠标进行滚动。
运行cephfs-top的示例屏幕截图,具有 2 个文件系统:

Note
cephfs-top 的最低兼容 Python 版本是 3.6.0。cephfs-top 支持 RHEL 8、Ubuntu 18.04、CentOS 8 及更高版本的发行版。
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.