跳到主要内容

Databend Metrics

Metrics are crucial to monitor the performance and health of the system. Databend collects and stores two types of metrics, Meta Metrics and Query Metrics, in the format of Prometheus. Meta Metrics are used for real-time monitoring and debugging of the Metasrv component, while Query Metrics are used for monitoring the performance of the Databend-query component.

你可以通过 Web 浏览器使用以下 URL 访问 metrics:

  • Meta Metrics: http://<admin_api_address>/v1/metrics. 默认为 0.0.0.0:28101/v1/metrics.
  • Query Metrics: http://<metric_api_address>/metrics. 默认为 0.0.0.0:7070/metrics.
提示

或者,您可以使用第三方工具可视化 metrics。有关支持的工具和集成教程的信息,请参阅 Monitor > Using 3rd-party Tools。当采用 Prometheus & Grafana 解决方案时,您可以使用我们提供的 dashboard 模板创建 dashboards,这些模板可在此处获得 here。有关更多详细信息,请查看 Prometheus & Grafana 指南。

Meta Metrics

以下是 Databend 捕获的 Meta metrics 列表。

Server

这些 metrics 描述了 metasrv 的状态。所有这些 metrics 都以 metasrv_server_ 为前缀。

NameDescriptionType
current_leader_id集群的当前 leader id,0 表示没有 leader。Gauge
is_leader此节点是否为当前 leader。Gauge
node_is_health此节点是否健康。Gauge
leader_changes看到的 leader 更改次数。Counter
applying_snapshot状态机是否正在应用快照。Gauge
proposals_applied应用的共识提案总数。Gauge
last_log_index上一个日志条目的索引。Gauge
current_term当前 term。Gauge
proposals_pending待处理提案总数。Gauge
proposals_failed失败的提案总数。Counter
watchers活动 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 节点的当前 term。

proposals_pending 指示当前有多少提案正在排队等待提交。待处理提案的增加表明客户端负载很高或成员无法提交提案。

proposals_failed 显示失败的写入请求总数,这通常与两个问题有关:与 leader 选举相关的临时故障或由集群中仲裁丢失引起的较长时间停机。

watchers 显示当前活动 watchers 的总数。

Raft Network

这些 metrics 描述了 metasrv 中 raft 节点的网络状态。所有这些 metrics 都以 metasrv_raft_network_ 为前缀。

NameDescriptionLabelsType
active_peers当前与 peers 的活动连接数。id(node id),address(peer address)Gauge
fail_connect_to_peer与 peers 的失败连接总数。id(node id),address(peer address)Counter
sent_bytes发送到 peers 的总字节数。to(node id)Counter
recv_bytes从 peers 接收的总字节数。from(remote address)Counter
sent_failures发送到 peers 的失败总数。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 指示与 peers 的失败连接数。每个都有标签:id(节点 id)和 address(peer 地址)。

sent_bytesrecv_bytes 记录发送到 peers 和从 peers 接收的字节数,sent_failures 记录发送到 peers 的失败次数。

snapshot_send_successsnapshot_send_failures 指示发送快照的成功和失败次数。snapshot_send_inflights 指示正在进行的快照发送,每次发送快照时,此字段将递增 1,发送快照完成后,此字段将递减 1。

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

snapshot_recv_successsnapshot_recv_failures 指示接收快照的成功和失败次数。snapshot_recv_inflights 指示正在进行的快照接收,每次接收快照时,此字段将递增 1,接收快照完成后,此字段将递减 1。

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

Raft Storage

这些 metrics 描述了 metasrv 中 raft 节点的存储状态。所有这些 metrics 都以 metasrv_raft_storage_ 为前缀。

NameDescriptionLabelsType
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 Network

这些 metrics 描述了 metasrv 中 meta 服务的网络状态。所有这些 metrics 都以 metasrv_meta_network_ 为前缀。

NameDescriptionType
sent_bytes发送到 meta grpc 客户端的总字节数。Counter
recv_bytes从 meta grpc 客户端接收的总字节数。Counter
inflights正在进行的 meta grpc 请求总数。Gauge
req_success来自 meta grpc 客户端的成功请求总数。Counter
req_failed来自 meta grpc 客户端的失败请求总数。Counter
rpc_delay_secondsmeta-service API 的延迟分布(以秒为单位)。Histogram

Query Metrics

以下是 Databend 捕获的 Query metrics 列表。

名称类型描述标签
databend_cache_access_countCounter缓存访问次数。cache_name
databend_cache_hit_countCounter统计不同缓存类型的缓存命中次数。cache_name
databend_cache_miss_countCounter缓存未命中次数。cache_name
databend_cache_miss_load_millisecondHistogram缓存未命中加载时间的分布。cache_name
databend_cluster_discovered_nodeGauge报告外部暴露的已发现节点的信息。local_id, cluster_id, tenant_id, flight_address
databend_compact_hook_compaction_msHistogram压缩操作所花费时间的柱状图。operation
databend_compact_hook_execution_msHistogram压缩钩子操作的执行时间分布。operation: MergeInto, Insert
databend_fuse_block_index_read_bytesCounter读取块索引的字节数。
databend_fuse_block_index_write_bytes_totalCounter索引块写入的总字节数。
databend_fuse_block_index_write_millisecondsHistogram写入索引块所花费时间的分布。
databend_fuse_block_index_write_nums_totalCounter写入的索引块总数。
databend_fuse_block_write_bytesCounter写入的总字节数。
databend_fuse_block_write_milliosecondsHistogram写入块所花费时间的分布。
databend_fuse_block_write_numsCounter写入的块总数。
databend_fuse_blocks_bloom_pruning_afterCounter执行块级别 Bloom 剪枝后的块数。
databend_fuse_blocks_bloom_pruning_beforeCounter执行块级别 Bloom 剪枝前的块数。
databend_fuse_blocks_range_pruning_afterCounter执行块级别范围剪枝后的块数。
databend_fuse_blocks_range_pruning_beforeCounter执行块级别范围剪枝前的块数。
databend_fuse_bytes_block_bloom_pruning_afterCounter执行块级别 Bloom 剪枝后的数据大小(字节)。
databend_fuse_bytes_block_bloom_pruning_beforeCounter执行块级别 Bloom 剪枝前的数据大小(字节)。
databend_fuse_bytes_segment_range_pruning_afterCounter执行段级别范围剪枝后的数据大小(字节)。
databend_fuse_bytes_segment_range_pruning_beforeCounter执行段级别范围剪枝前的数据大小(字节)。
databend_fuse_commit_abortsCounter由于错误导致提交中止的次数。
databend_fuse_commit_copied_filesCounter提交操作期间复制的文件总数。
databend_fuse_commit_millisecondsCounter提交变更的总时间。
databend_fuse_commit_mutation_modified_segment_exists_in_latestCounter统计最新提交变更中已修改段的存在情况。
databend_fuse_commit_mutation_successCounter提交的成功变更数。
databend_fuse_commit_mutation_unresolvable_conflictCounter发生无法解决的提交冲突的次数。
databend_fuse_compact_block_build_lazy_part_millisecondsHistogram压缩期间构建延迟部分所花费时间的分布。
databend_fuse_compact_block_build_task_millisecondsHistogram构建压缩块所花费时间的分布。
databend_fuse_compact_block_read_bytesCounter压缩期间读取的块的累积大小,以字节为单位。
databend_fuse_compact_block_read_millisecondsHistogram压缩期间读取块所花费时间的柱状图。
databend_fuse_compact_block_read_numsCounter统计压缩期间读取的块数。
databend_fuse_pruning_millisecondsHistogram用于剪枝段的时间。
databend_fuse_remote_io_deserialize_millisecondsHistogram将原始数据解压缩和反序列化为 DataBlock 所花费的时间。
databend_fuse_remote_io_read_bytesCounter从对象存储读取的累积字节数。
databend_fuse_remote_io_read_bytes_after_mergedCounter合并后从对象存储读取的累积字节数。
databend_fuse_remote_io_read_millisecondsHistogram从 S3 读取所花费时间的柱状图。
databend_fuse_remote_io_read_partsCounter从对象存储读取的分区表数据块的累积计数。
databend_fuse_remote_io_seeksCounter从对象存储读取期间独立 IO 操作的累积计数。
databend_fuse_remote_io_seeks_after_mergedCounter从对象存储读取期间 IO 合并的累积计数。
databend_fuse_segments_range_pruning_afterCounter执行段级别范围剪枝后的段数。
databend_fuse_segments_range_pruning_beforeCounter执行段级别范围剪枝前的段数。
databend_merge_into_accumulate_millisecondsHistogram合并操作的总体时间分布。
databend_merge_into_append_blocks_counterCounter在 merge into 中写入的块总数。
databend_merge_into_append_blocks_rows_counterCounter在 merge into 中写入的行总数。
databend_merge_into_apply_millisecondsHistogrammerge into 操作的时间分布。
databend_merge_into_matched_operation_millisecondsHistogram合并操作中匹配操作的时间分布。
databend_merge_into_matched_rowsCounter合并操作中匹配的行总数。
databend_merge_into_not_matched_operation_millisecondsHistogrammerge into 操作中“未匹配”部分的时间分布。
databend_merge_into_replace_blocks_counterCounter合并操作生成的替换块数。
databend_merge_into_replace_blocks_rows_counterCounter合并操作替换的行数。
databend_merge_into_split_millisecondsHistogram拆分合并操作所花费的时间。
databend_merge_into_unmatched_rowsCountermerge into 中未匹配的行总数。
databend_meta_grpc_client_request_duration_msHistogram向 meta leader 发出的不同类型请求(Upsert、Txn、StreamList、StreamMGet、GetClientInfo)的请求持续时间分布。endpoint, request
databend_meta_grpc_client_request_inflightGauge当前连接到 meta 的查询数。
databend_meta_grpc_client_request_successCounter成功请求 meta 的次数。endpoint, request
databend_opendal_bytesCounterOpenDAL endpoint 读取和写入的总字节数。scheme (操作使用的 scheme,例如 "s3"),op (操作类型,例如 "read" 或 "write")
databend_opendal_bytes_histogramHistogram按操作划分的响应时间和计数分布。scheme (操作使用的 scheme,例如 "s3"),op (操作类型,例如 "write")
databend_opendal_errorsCounterOpenDAL 操作中遇到的错误数及其类型。scheme (操作使用的 scheme,例如 "s3"),op (操作类型,例如 "read"),err (遇到的错误类型,例如 "NotFound")
databend_opendal_request_duration_secondsHistogramOpenDAL 请求对象存储的持续时间。scheme (操作使用的 scheme,例如 "s3"),op (操作类型,例如 "read")
databend_opendal_requestsCounter使用 OpenDAL 发出的各种类型的请求数。scheme (请求使用的 scheme,例如 "s3"),op (操作类型,例如 "batch"、"list"、"presign"、"read"、"write"、"delete"、"stat")
databend_process_cpu_seconds_totalCounter用户和系统使用的总 CPU 时间(秒)。
databend_process_max_fdsGauge最大打开文件描述符数。
databend_process_open_fdsGauge打开文件描述符数。
databend_process_resident_memory_bytesGauge常驻内存大小(字节)。
databend_process_start_time_secondsGauge进程自 Unix epoch 以来的启动时间(秒)。
databend_process_threadsGauge使用中的操作系统线程数。
databend_process_virtual_memory_bytesGauge虚拟内存大小(字节)。
databend_query_duration_msHistogram跟踪由各种处理程序启动的不同类型查询的执行时间分布。handler, kind, tenant, cluster
databend_query_errorCounter查询错误总数。handler="HTTPQuery", kind="Other", tenant="wubx", cluster="w189"
databend_query_failedCounter失败请求总数。
databend_query_http_requests_countCounterHTTP 请求数,按方法、API endpoint 和状态代码分类。method, api, status
databend_query_http_response_duration_secondsHistogram查询响应时间分布,按 HTTP 方法和 API endpoint 分类。method, api, le, sum, count
databend_query_http_response_errors_countCounter请求错误的计数和类型。code, err
databend_query_result_bytesCounter每个查询返回的数据中的总字节数。handler, kind, tenant, cluster
databend_query_result_rowsCounter每个查询返回的数据行总数。handler, kind, tenant, cluster
databend_query_scan_bytesCounter查询扫描的数据总大小(字节)。handler, kind, tenant, cluster
databend_query_scan_io_bytesCounter查询期间扫描和传输的数据总大小(字节)。handler, kind, tenant, cluster
databend_query_scan_io_bytes_cost_msHistogram查询期间 IO 扫描时间的分布。handler, kind, tenant, cluster
databend_query_scan_partitionsCounter查询扫描的分区(块)总数。handler, kind, tenant, cluster
databend_query_scan_rowsCounter查询扫描的数据行总数。handler, kind, tenant, cluster
databend_query_startCounter跟踪由不同处理程序启动的查询执行次数。它将查询分为各种类型,例如 SELECT、UPDATE、INSERT 和其他。handler, kind, tenant, cluster
databend_query_successCounter按类型划分的成功查询数。handler, kind, tenant, cluster
databend_query_total_partitionsCounter查询涉及的分区(块)总数。handler, kind, tenant, cluster
databend_query_write_bytesCounter查询写入的累积字节数。handler, kind, tenant, cluster
databend_query_write_io_bytesCounter查询写入和传输的数据总大小。handler, kind, tenant, cluster
databend_query_write_io_bytes_cost_msHistogram查询写入 IO 字节的时间成本。handler, kind, tenant, cluster
databend_query_write_rowsCounter查询写入的累积行数。handler, kind, tenant, cluster
databend_session_close_numbersCounter会话关闭次数。
databend_session_connect_numbersCounter记录自系统启动以来与节点建立的连接的累积总数。
databend_session_connectionsGauge衡量与节点的当前活动连接数。
databend_session_queue_acquire_duration_msHistogram等待队列获取时间的分布。
databend_session_queued_queriesGauge查询队列中当前 SQL 查询的数量。
databend_session_running_acquired_queriesGauge运行会话中当前已获取的查询数。
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册