3.3.5.5. 使用 Prometheus 数据和查询
统计数据名称与 Ceph 名称完全相同,非法字符转换为下划线,ceph_
则为所有名称加上前缀。所有 Ceph 守护进程统计数据都有一个 ceph_daemon
标签,标识它们来自的守护进程的类型和 ID,例如: osd.123
。某些统计信息可能来自不同类型的守护进程,因此在查询 Ceph 守护进程时,您希望从 osd
开始过滤 Ceph 守护进程,以避免在 Ceph monitor 和 RocksDB stats 中混合使用。全局 Ceph 存储集群统计数据具有与其报告内容相应的标签。例如,与池相关的指标具有 pool_id
标签。代表来自核心 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 查询中使用 and
操作器或星号(*)操作器。所有元数据指标的值都是 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"}