diff --git "a/docs/cn/Curve\347\233\221\346\216\247\346\214\207\346\240\207\350\247\243\346\236\220.md" "b/docs/cn/Curve\347\233\221\346\216\247\346\214\207\346\240\207\350\247\243\346\236\220.md" new file mode 100644 index 0000000000000000000000000000000000000000..2798dd0632bbd921e212c3682c840b37031ca505 --- /dev/null +++ "b/docs/cn/Curve\347\233\221\346\216\247\346\214\207\346\240\207\350\247\243\346\236\220.md" @@ -0,0 +1,398 @@ +# Curve块存储监控项说明 + +Curve块存储使用grafana+promethues的方式实现监控可视化,grafan面板上的监控项含义如下。 + +**MDS** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DashBordMeanPannel
进程资源进程的运行时间,对cpu的占用,对内存的占用进程运行时间
进程cpu使用情况
内存占用
逻辑池状态记录了逻辑池空间分配的一些情况logical_pool_metrics
chunkserver状态chunkserver相关的统计信息。其中_bps指的单个chunkserver上每秒带宽;_iops指的单个chunkserver上每秒请求数量;这两个数据是chunkserver上报给mds的,是mds进行调度的依据之一chunkserver_leader_num_series 每个chunkserver上leader的数量,可以看到随时间的变化趋势
chunkserver_current_leader_count 每个chunkserver上leader的数量,用于判断leader在集群中的分布是否均衡
chunkserver_current_copyset_num 每个chunkserver上copyset的数量
chunkserver_current_scatterwidth 每个chunkserver的scatterwidth值,用于判断copyset在集群中的分布集中度
chunkserver_current_write_bps
chunkserver_current_write_iops
chunkserver_current_read_bps
chunkserver_current_read_iops
调度监控用于统计当前集群中配置变更的情况operator num 当前进行中和等待执行的配置变更任务个数
add_peer_num 复制组新增一个peer的任务个数
transfer_leader_num 复制组leader变更的任务个数
remove_peer_num 复制组减少一个peer的任务个数
remove_peer_num 普通优先级任务个数(remove_peer/transfer_leader)
remove_peer_num 高先级任务个数(add_peer)
RPC层指标用于统计mds接受到的请求情况。其中_qps指每秒接受到的请求个数;_concurrency指接受请求的并发度;_lat指处理请求的延迟total_rpc_qps
total_rpc_concurrency
request_rpc_qps
request_rpc_lat
HeartBeat指标用于统计chunkserver和mds之间心跳请求的情况。其中_qps/_concurrency和RPC层指标类似;lat_avg指处理请求的平均时延;_lat_percentile指的是请求的百分位点延迟(50/80/90/99分位点)total_rpc_qps
heartbeat_qps
heartbeat_concurrency
heartbeat_lat_avg
heartbeat_lat_percentile
+ + +**ChunkServer** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DashBordMeanPannel
进程资源占用进程的运行时间,对cpu的占用进程运行时间
porcess_cpu_usage
rpc层读写指标这是brpc对service的一些统计指标,rpc层的请求包括了rpc接受-数据处理-数据发送三个阶段。其中_qps指的是每秒处理的请求数量;_eps指的是每秒请求处理返回error的数量;_concurrency指的是并发度;_lat指的是请求延迟;_lat_percentile指的是请求的百分位点延迟(50/80/90/99分位点)total_rpc_qps
iobuf_memory
read_chunk_eps
read_chunk_concurrency
read_chunk_qps
write_chunk_eps
write_chunk_concurrency
write_chunk_qps
avg_read_lat
read_chunk_lat_percentile
avg_write_lat
write_chunk_lat_percentile
chunkserver层读写指标这是chunkserver的处理时间,和rpc层读写指标最大的区别是不包括rpc的接受和发出两个阶段。其中_eps指的是每秒请求处理返回error的数量;_qps指的是每秒处理请求数量;_rps指的是每秒接受到的请求数量,rps-qps就是当前正在等待处理的请求数量;_lat指的是请求延迟;_lat_percentile指的是请求的百分位点延迟(50/80/90/99分位点);特别要说明的是*_io_size_percentile指的是读写请求的IO大小read_chunk_eps
read_chunk_iops
read_chunk_rps
write_chunk_eps
write_chunk_iops
write_chunk_rps
read_io_latency_percentile
write_io_latency_percentile
avg_read_lat
avg_write_lat
read_bps
write_bps
read_io_size_percentile
write_io_size_percentile
copyset指标主要指的是单个copyset对读写请求的处理统计指标。其中_eps/_iops/_rps跟chunkserver层读写指标或者rpc层读写指标含义相同;_bps指的是每秒处理IO的带宽selected copyset count
selected copyset chunk sum
copyset_chunk_num
copyset_read_chunk_eps
copyset_read_chunk_iops
copyset_read_chunk_rps
copyset_write_chunk_eps
copyset_write_chunk_iops
copyset_write_chunk_rps
copyset_read_chunk_bps
copyset_write_chunk_bps
copyset_avg_read_lat
copyset_avg_write_lat
chunkserver关键指标chunkserver上关于容量的一些统计数据total_chunk_num 文件池中所有的(已经使用和未使用的)chunk的数量
chunkfilepool_left_chunks 文件池中剩余的chunk个数
copyset_count copyset的数量
Raft关键指标数据复制过程中关键步骤的指标raft_num_log_entries 复制组内存中日志的数量
raft_apply_tasks_batch_counter 复制组每次apply任务的数量
raft_send_entries_latency 复制组leader发送数据给follower+follower收到数据进行日志持久化+follower回复复制成功这三个阶段的时间总和
raft_send_entries_qps 复制组leader发送数据给follower的每秒请求数量
raft_service_append_entries_latency 复制组中follower处理请求的时延
raft_service_append_entries_qps 复制组中follower每秒接受请求的数量
raft_install_snapshot_qps 复制组的副本每秒接受到安装快照请求的数量
storage_append_entries_latency 复制组中的副本日志写盘的延迟
install_snapshot_bps 复制组的副本执行安装快照时的带宽
raft_get_file_qps 复制组每秒处理获取文件请求的个数
leader_need_install_snapshot_task_num 复制组中leader处理快照任务的并发度(一个copyset上可能有多个leader在进行)
follower_install_snapshot_task_num 复制组中follower正在下载快照的任务数量(一个copyset最多一个任务)
线程指标brpc中线程相关的一些指标,一定程度上可以反应当前服务的压力情况bthread_worker_count chunkserver服务brpc组件中配置的线程数量/td> +
bthread_worker_usage chunkserver服务brpc组件中线程的实际使用数量
bthread_count chunkserver服务brpc组件中协程的数量
bthread_execq chunkserver服务brpc组件中可执行队列的数量
+ +**Client** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DashBordMeanPannel
进程资源进程的运行时间,对cpu的占用客户端运行时间
client_cpu_usage
客户端配置客户端的所有配置项客户端配置
用户接口层指标从客户端向外提供的接口相关的性能统计数据。其中_qps指的是每秒处理请求数量;_rps指的是每秒接受到的请求数量,rps-qps就是当前正在等待处理的请求数量;_latency指的是请求延迟;_bps指的是每秒处理IO的带宽;特别要说明的是*_io_size_percentile指的是请求的IO大小client_read_qps
client_write_qps
client_read_rps
client_write_rps
client_read_bps
client_write_bps
client_read_latency
client_write_latency
write_io_size_percentile
中间业务层指标IO过程中的两个重要指标项inflight_rpc_num 正在处理中的IO请求的个数
get_leader_retry_rpc 从chunkserver获取复制组当前leader的重试rpc的次数
rpc层指标client和chunkserver进行IO交互过程中的指标,主要包括client发送请求+chunkserver处理请求+client收到请求三个阶段的时间。其中_qps/_bps/_latency和用户接口层指标中的含义类似read_rpc_qps
write_rpc_qps
read_rpc_bps
write_rpc_qps
read_rpc_latency
write_rpc_latency
timeout_qps
与MDS通信指标client和mds所有rpc每秒请求次数统计client2mds_rpc_qps
+