search
数据采集 采集源配置 ceph 性能指标采集

ceph 性能指标采集

简介

从 ceph 存储集群中的 MON 和 OSD 节点收集性能指标上报到 dataflux 中

前置条件

  • 已安装 DataKit(DataKit 安装文档
  • 需要开启 ceph的telegraf 模块:ceph mgr module enable telegraf

配置

进入 DataKit 安装目录下的 conf.d/ceph 目录,复制 ceph.conf.sample 并命名为 ceph.conf。示例如下:

修改配置。

配置好后,重启 DataKit 即可生效。

采集指标

Admin套接字统计

该收集器通过扫描已配置的 SocketDir 来查找 OSD 和 MON 套接字文件来工作。找到 MON 套接字后,它将运行ceph --admin-daemon $ file perfcounters_dump。对于 OSD ,它运行ceph --admin-daemon $ file perf dump。所有指标类型为64位float。

对生成的 JSON 进行解析并按顶级键分组。顶级键用作 collection 标签,所有子键均被展开。如:

{
   "paxos": {
     "refresh": 9363435,
     "refresh_latency": {
       "avgcount": 9363435,
       "sum": 5378.794002000
     }
   }
 }

所有指标都将用collection = paxos进行标记:

  • refresh = 9363435
  • refresh_latency.avgcount = 9363435
  • refresh_latency.sum = 5378.794002000

有关指标的完整列表,请参阅上述内容。所有指标有如下标签:

  • type:'osd'或'mon'指示要查询的节点类型。
  • id:唯一的字符串标识符,从节点的套接字文件名中解析。
  • collection:顶级键。可能的值有:
    • 对于 MON 节点:
      • cluster
      • leveldb
      • mon
      • paxos
      • throttle-mon_client_bytes
      • throttle-mon_daemon_bytes
      • throttle-msgr_dispatch_throttler-mon
    • 对于OSD节点:
      • WBThrottle
      • filestore
      • leveldb
      • mutex-FileJournal::completions_lock
      • mutex-FileJournal::finisher_lock
      • mutex-FileJournal::write_lock
      • mutex-FileJournal::writeq_lock
      • mutex-JOS:: ApplyManager ::apply_lock
      • mutex-JOS:: ApplyManager ::com_lock
      • mutex-JOS:: SubmitManager ::lock
      • mutex-WBThrottle::lock
      • objecter
      • osd
      • recoverystate_perf
      • throttle-filestore_bytes
      • throttle-filestore_ops
      • throttle-msgr_dispatch_throttler-client
      • throttle-msgr_dispatch_throttler-cluster
      • throttle-msgr_dispatch_throttler-hb_back_server
      • throttle-msgr_dispatch_throttler-hb_front_serve
      • throttle-msgr_dispatch_throttler-hbclient
      • throttle-msgr_dispatch_throttler-ms_objecter
      • throttle-objecter_bytes
      • throttle-objecter_ops
      • throttle-osd_client_bytes
      • throttle-osd_client_messages

集群统计

  • ceph_health
指标 描述 类型 单位 Tag
status 状态 string - -
overall_status 概览状态 string - -
  • ceph_osdmap
指标 描述 类型 单位 Tag
epoch 状态变更历史信息 float - -
num_osds osd 数量 float - -
num_up_osds up 的 osd数量 float - -
num_in_osds in 的 osd数量 float - -
full 状态 bool -
nearfull 概览状态 bool 接近满 -
num_remapped_pgs remapped 的 pg数 float - -
  • ceph_pgmap
指标 描述 类型 单位 Tag
version 版本 float - -
num_pgs pg数量 float - -
data_bytes 数据大小 float - -
bytes_used 已用字节数 float - -
bytes_avail 可用字节数 float - -
bytes_total 总字节数 float - -
read_bytes_sec 每秒读取的字节数 float B/s -
write_bytes_sec 每秒写入的字节数 float B/s -
op_per_sec 每秒操作次数 float 次/秒 -
read_op_per_sec 每秒读操作次数 float 次/秒 -
write_op_per_sec 每秒写操作次数 float 次/秒 -
  • ceph_pgmap_state
指标 描述 类型 单位 Tag
count 数量 float - state
  • ceph_usage
指标 描述 类型 单位 Tag
total_bytes 总字节数 float - -
total_used_bytes 总的已用字节数 float - -
total_avail_bytes 总的可用字节数 float - -
total_space* 总空间 float - -
total_used* 总使用空间 bool - -
total_avail* 总可用空间 float - -
其中,*的指标只在0.84以前的ceph版本中存在。
  • ceph_pool_usage
指标 描述 类型 单位 Tag
kb_used 已用 KB 数 float kb name
bytes_used 已用字节数 float name -
objects 对象数 float - name
percent_used 使用百分比 float - name
max_avail 最大可用 bool - name
  • ceph_pool_stats
指标 描述 类型 单位 Tag
read_bytes_sec 每秒读取的字节数 float B/s name
write_bytes_sec 每秒写入的字节数 float B/s name
op_per_sec* 每秒操作次数 float 次/秒 name
read_op_per_sec 每秒读操作次数 float 次/秒 name
write_op_per_sec 每秒读操作次数 bool 次/秒 name
recovering_objects_per_sec 每秒恢复对象数 float 个/秒 name
recovering_bytes_per_sec 每秒恢复字节数 float B/s name
recovering_keys_per_sec 每秒恢复键数 float - 个/秒

其中,带有 * 的指标只在10以前的 ceph 版本中存在。