跳转到主要内容

Databend Meta 性能指标

性能指标

性能指标用于实时监控 Meta 服务。

查看指标最简单的方式是使用 cURL 调用 HTTP API HTTP_ADDRESS:HTTP_PORT/v1/metrics,结果将以 Prometheus 格式返回。

所有性能指标前缀为 metasrv

服务器

这些指标体现服务器的状态, 前缀为 metasrv_server_

名称描述类型
current_leader_id集群当前 leader 的 ID,0表示没有 leader。Gauge
is_leader此节点是否为当前 leader。Gauge
node_is_health此节点是否健康。Gauge
leader_changesLeader更改次数。Counter
applying_snapshot状态机器是否在应用快照。Gauge
proposals_applied已应用的共识提案总数。Gauge
last_log_index上条日志索引。Gauge
current_term当前周期。Gauge
proposals_pending待处理的提案总数Gauge
proposals_failed失败的提案总数。Counter
watchers活跃的观察者总数。Gauge

current_leader_id 表示当前群组leader 的 ID,0表示没有 leader。 如果集群没有 leader,该参数不可用。

is_leader 表示当前 Metasrv 是否为集群 leader。leader_changes 表示自从集群启动以来 leader 变化次数。Leader 变化频繁会影响 metasrv 的性能,也表示该集群不稳定。

当一个节点状态是 FollowerLeader , 其 node_is_health 值为1,否则为 0。

proposals_applied 记录已应用的写入请求的总数。

last_log_index 记录上一条被添加到 Raft 节点的日志的索引,current_term 记录 Raft 节点的最新周期。

proposals_pending 表示当前提交的建议已排队多少次。 该参数值升高表示负载过大,或者该成员不能提交建议。

proposals_failed 显示了写入请求失败的总数。 它通常与两个问题有关:leader 选举导致的临时失败,或该集群法定人数损失而造成的较长停顿时间。

watchers 为目前活跃的观察者总数。

Raft 网络

这些指标体现 metasrv 中 Raft 节点的网络状态, 前缀为 metasrv_raft_network_

名称描述标签类型
active_peers当前群组节点之间的活动连接数。id(node id),address(peer address)Gauge
fail_connect_to_peer当前群组节点之间的失败连接数。id(node id),address(peer address)Counter
sent_bytes发送给其他节点的字节总数。to(node id)Counter
recv_bytes收到其他节点发送的字节总数。from(remote address)Counter
sent_failures发送至其他节点的失败次数。to(node id)Counter
snapshot_send_success成功发送快照的次数。to(node id)Counter
snapshot_send_failures快照发送失败的次数。to(node id)Counter
snapshot_send_inflights正在发送的快照个数。to(node id)Gauge
snapshot_sent_seconds快照发送延迟分布。to(node id)Histogram
snapshot_recv_success成功接收快照的次数。from(remote address)Counter
snapshot_recv_failures快照接收失败的次数。from(remote address)Counter
snapshot_recv_inflights正在接收的快照个数。from(remote address)Gauge
snapshot_recv_seconds快照接收延迟分布。from(remote address)Histogram

active_peers 表示集群成员之间有多少活跃的连接;fail_connect_to_peer 表示失败的连接数。 每个项目都有标签:id(node id) 和 address (peer address)。

sent_bytes and recv_bytes 记录与其他节点之间的发送和接收的字符数。sent_failure 记录发送给其他节点的失败次数。

snapshot_send_successsnapshot_send_failure 表示发送的快照成功和失败次数。snapshot_send_inflights 表示正在发送的快照个数。每次发送快照,此字段数值会加1;发送完成后再减掉。

snapshot_sent_seconds 表示快照发送的总延迟分布。

snapshot_recv_successsnapshot_recv_failures 表示接收的快照成功和失败次数。snapshot_recv_inflights 表示正在接收的快照个数。每次接收快照,此字段数值会加1;接收完成后再减掉。

snapshot_recv_seconds 表示快照接收的总延迟分布。

Raft 存储

这些指标体现 metasrv 中 Raft 节点的存储状态, 前缀为 metasrv_raft_storage_

名称描述标签类型
raft_store_write_failedRaft 存储写入失败总数。func(function name)Counter
raft_store_read_failedRaft 存储读取失败总数。func(function name)Counter

raft_store_write_failedraft_store_read_failed 分别表示 Raft 存储写入和读取失败的总数。

Meta 网络

这些指标体现 metasrv 中的 Meta 网络状态, 前缀为 metasrv_meta_network_

名称描述类型
sent_bytes发送到 Meta grpc 客户端的字节数。Counter
recv_bytesMeta grpc 客户端接收字节数。Counter
inflights正在传送的 Meta grpc 请求数。Gauge
req_success来自 Meta grpc 客户端的成功请求总数。Counter
req_failed来自 Meta grpc 客户端的失败请求总数。Counter
rpc_delay_secondsMeta 服务 API 的延迟分布,以秒计。Histogram