5.5.4. 使用 Prometheus 数据和查询
统计信息名称与 Ceph 名称完全相同,使 illegal 字符转换为下划线,ceph_
为所有名称加上前缀。所有 Ceph 守护进程统计数据都有一个 ceph_daemon
标签,用于标识它们所来自的守护进程的类型和 ID,例如: osd.123
。某些统计数据可以来自不同类型的守护进程,因此当查询需要过滤自 osd
开头的 Ceph 守护进程时,以避免 Ceph Monitor 和 RocksDB stats 中的混合。全局 Ceph 存储集群统计数据中具有相应的标签,适用于它们所报告的内容。例如,与池相关的指标具有 pool_id
标签。代表 Ceph 内核 Ceph 的直方图的长运行平均值由一对和计数性能指标来表示。
以下示例查询可以在 Prometheus 表达式浏览器中使用:
显示 OSD 的物理磁盘使用
(irate(node_disk_io_time_ms[1m]) /10) and on(device,instance) ceph_disk_occupation{ceph_daemon="osd.1"}
显示从操作系统中看到的 OSD 的物理 IOPS
irate(node_disk_reads_completed[1m]) + irate(node_disk_writes_completed[1m]) and on (device, instance) ceph_disk_occupation{ceph_daemon="osd.1"}
池和 OSD 元数据系列
特殊数据系列是输出,可以在某些元数据字段上启用显示和查询。池有一个 ceph_pool_metadata
字段,例如:
ceph_pool_metadata{pool_id="2",name="cephfs_metadata_a"} 1.0
OSD 具有 ceph_osd_metadata
字段,例如:
ceph_osd_metadata{cluster_addr="172.21.9.34:6802/19096",device_class="ssd",ceph_daemon="osd.0",public_addr="172.21.9.34:6801/19096",weight="1.0"} 1.0
将驱动器统计信息与 node_exporter
关联
Ceph 的 Prometheus 输出设计为可与 Prometheus 节点 导出器中的通用节点监控一起使用。将 Ceph OSD 统计与通用节点监控驱动器统计关联,特殊数据系列为输出:
ceph_disk_occupation{ceph_daemon="osd.0",device="sdd", exported_instance="node1"}
要通过 OSD ID 获取磁盘统计信息,请在 Prometheus 查询中使用 和
operator 或星号(*)操作器。所有元数据指标都具有值 1
,因此它们与星号运算符保持中立。使用星号运算符允许使用 group_left
和 group_right
分组修饰符,以便生成的指标具有查询两侧的额外标签。例如:
rate(node_disk_bytes_written[30s]) and on (device,instance) ceph_disk_occupation{ceph_daemon="osd.0"}
使用 label_replace
label_replace
函数可以添加标签,或更改查询中的指标标签。要关联 OSD 及其磁盘写入率,可以使用以下查询:
label_replace(rate(node_disk_bytes_written[30s]), "exported_instance", "$1", "instance", "(.*):.*") and on (device,exported_instance) ceph_disk_occupation{ceph_daemon="osd.0"}
其它资源
- 如需有关构建 查询的更多信息,请参阅 Prometheus 查询基础知识。
-
如需更多信息,请参阅 Prometheus 的
label_replace
文档。