监控指标

Doris 的 FE 进程和 BE 进程都提供了完备的监控指标。监控指标可以分为两类:

  1. 进程监控:主要展示 Doris 进程本身的一些监控值。
  2. 节点监控:主要展示 Doris 进程所在节点机器本身的监控,如 CPU、内存、IO、网络等等。

可以通过访问 FE 或 BE 节点的 http 端口获取当前监控。如:

  1. curl http://fe_host:http_port/metrics
  2. curl http://be_host:webserver_port/metrics

默认返回 Prometheus 兼容格式的监控指标,如:

  1. doris_fe_cache_added{type="partition"} 0
  2. doris_fe_cache_added{type="sql"} 0
  3. doris_fe_cache_hit{type="partition"} 0
  4. doris_fe_cache_hit{type="sql"} 0
  5. doris_fe_connection_total 2

如需获取 Json 格式的监控指标,请访问:

  1. curl http://fe_host:http_port/metrics?type=json
  2. curl http://be_host:webserver_port/metrics?type=json

监控等级和最佳实践

表格中的最后一列标注了监控项的重要等级。P0 表示最重要,数值越大,重要性越低。

绝大多数监控指标类型为 Counter。即累计值。你可通过间隔采集(如每15秒)监控值,并计算单位时间的斜率,来获得有效信息。

如可以通过计算 doris_fe_query_err 的斜率来获取查询错误率(error per second)。

欢迎完善此表格以提供更全面有效的监控指标。

FE 监控指标

进程监控

名称标签单位含义说明等级
doris_fe_cache_added{type=”partition”}Num新增的 Partition Cache 数量累计值
{type=”sql”}Num新增的 SQL Cache 数量累计值
doris_fe_cache_hit{type=”partition”}Num命中 Partition Cache 的计数
{type=”sql”}Num命中 SQL Cache 的计数
doris_fe_connection_totalNum当前FE的MySQL端口连接数用于监控查询连接数。如果连接数超限,则新的连接将无法接入P0
doris_fe_counter_hit_sql_block_ruleNum被 SQL BLOCK RULE 拦截的查询数量
doris_fe_edit_log_clean{type=”failed”}Num清理历史元数据日志失败的次数不应失败,如失败,需人工介入P0
{type=”success”}Num清理历史元数据日志成功的次数
doris_fe_edit_log{type=”accumulated_bytes”}字节元数据日志写入量的累计值通过计算斜率可以获得写入速率,来观察是否元数据写入有延迟P0
{type=”current_bytes”}字节元数据日志当前值用于监控editlog 大小。如果大小超限,需人工介入P0
{type=”read”}Num元数据日志读取次数的计数通过斜率观察元数据读取频率是否正常P0
{type=”write”}Num元数据日志写入次数的计数通过斜率观察元数据写入频率是否正常P0
{type=”current”}Num元数据日志当前数量用于监控editlog 数量。如果数量超限,需人工介入P0
doris_fe_editlog_write_latency_ms毫秒元数据日志写入延迟的百分位统计。如 {quantile=”0.75”} 表示 75 分位的写入延迟
doris_fe_image_clean{type=”failed”}Num清理历史元数据镜像文件失败的次数不应失败,如失败,需人工介入P0
{type=”success”}Num清理历史元数据镜像文件成功的次数
doris_fe_image_push{type=”failed”}Num将元数据镜像文件推送给其他FE节点的失败的次数
{type=”success”}Num将元数据镜像文件推送给其他FE节点的成功的次数
doris_fe_image_write{type=”failed”}Num生成元数据镜像文件失败的次数不应失败,如失败,需人工介入P0
{type=”success”}Num生成元数据镜像文件成功的次数
doris_fe_jobNum当前不同作业类型以及不同作业状态的计数。如 {job=”load”, type=”INSERT”, state=”LOADING”} 表示类型为 INSERT 的导入作业,处于 LOADING 状态的作业个数可以根据需要,观察不同类型的作业在集群中的数量P0
doris_fe_max_journal_idNum当前FE节点最大元数据日志ID。如果是Master FE,则是当前写入的最大ID,如果是非Master FE,则代表当前回放的元数据日志最大ID用于观察多个FE之间的 id 是否差距过大。过大则表示元数据同步出现问题P0
doris_fe_max_tablet_compaction_scoreNum所有BE节点中最大的 compaction score 值。该值可以观测当前集群最大的 compaction score,以判断是否过高。如过高则可能出现查询或写入延迟P0
doris_fe_qpsNum/Sec当前FE每秒查询数量(仅统计查询请求)QPSP0
doris_fe_query_errNum错误查询的累积值
doris_fe_query_err_rateNum/Sec每秒错误查询数观察集群是否出现查询错误P0
doris_fe_query_latency_ms毫秒查询请求延迟的百分位统计。如 {quantile=”0.75”} 表示 75 分位的查询延迟详细观察各分位查询延迟P0
doris_fe_query_latency_ms_db毫秒各个DB的查询请求延迟的百分位统计。如 {quantile=”0.75”,db=”test”} 表示DB test 75 分位的查询延迟详细观察各DB各分位查询延迟P0
doris_fe_query_olap_tableNum查询内部表(OlapTable)的请求个数统计
doris_fe_query_totalNum所有查询请求的累积计数
doris_fe_report_queue_sizeNumBE的各种定期汇报任务在FE端的队列长度该值反映了汇报任务在 Master FE 节点上的阻塞程度,数值越大,表示FE处理能力不足P0
doris_fe_request_totalNum所有通过 MySQL 端口接收的操作请求(包括查询和其他语句)
doris_fe_routine_load_error_rowsNum统计集群内所有 Routine Load 作业的错误行数总和
doris_fe_routine_load_receive_bytes字节统计集群内所有 Routine Load 作业接收的数据量大小
doris_fe_routine_load_rowsNum统计集群内所有 Routine Load 作业接收的数据行数
doris_fe_rpsNum当前FE每秒请求数量(包含查询以及其他各类语句)和 QPS 配合来查看集群处理请求的量P0
doris_fe_scheduled_tablet_numNumMaster FE节点正在调度的 tablet 数量。包括正在修复的副本和正在均衡的副本该数值可以反映当前集群,正在迁移的 tablet 数量。如果长时间有值,说明集群不稳定P0
doris_fe_tablet_max_compaction_scoreNum各个BE节点汇报的 compaction core。如 {backend=”172.21.0.1:9556”} 表示 “172.21.0.1:9556” 这个BE的汇报值
doris_fe_tablet_numNum各个BE节点当前tablet总数。如 {backend=”172.21.0.1:9556”} 表示 “172.21.0.1:9556” 这个BE的当前tablet数量可以查看 tablet 分布是否均匀以及绝对值是否合理P0
doris_fe_tablet_status_countNum统计 Master FE 节点 Tablet调度器所调度的 tablet 数量的累计值。
{type=”added”}Num统计 Master FE 节点 Tablet调度器所调度的 tablet 数量的累计值。 “added” 表示被调度过的 tablet 数量
{type=”in_sched”}Num同上。表示被重复调度的 tablet 数量该值如果增长较快,则说明有tablet长时间处于不健康状态,导致被调度器反复调度
{type=”not_ready”}Num同上。表示尚未满足调度触发条件的tablet数量。该值如果增长较快,说明有大量 tablet 处于不健康状态但又无法被调度
{type=”total”}Num同上。表示累积的被检查过(但不一定被调度)的tablet数量。
{type=”unhealthy”}Num同上。表示累积的被检查过的不健康的 tablet 数量。
doris_fe_thread_poolNum统计各类线程池的工作线程数和排队情况。“active_thread_num” 表示正在执行的任务数。“pool_size” 表示线程池总线程数量。“task_in_queue” 表示正在排队的任务数
{name=”agent-task-pool”}NumMaster FE 用于发送 Agent Task 到 BE的线程池
{name=”connect-scheduler-check-timer”}Num用于检查MySQL空闲连接是否超时的线程池
{name=”connect-scheduler-pool”}Num用于接收MySQL连接请求的线程池
{name=”mysql-nio-pool”}NumNIO MySQL Server 用于处理任务的线程池
{name=”export-exporting-job-pool”}Numexporting状态的export作业的调度线程池
{name=”export-pending-job-pool”}Numpending状态的export作业的调度线程池
{name=”heartbeat-mgr-pool”}NumMaster FE 用于处理各个节点心跳的线程池
{name=”loading-load-task-scheduler”}NumMaster FE 用于调度Broker Load作业中,loading task的调度线程池
{name=”pending-load-task-scheduler”}NumMaster FE 用于调度Broker Load作业中,pending task的调度线程池
{name=”schema-change-pool”}NumMaster FE 用于调度 schema change 作业的线程池
{name=”thrift-server-pool”}NumFE 端ThriftServer的工作线程池。对应 fe.conf 中 rpc_port。用于和BE进行交互。
doris_fe_txn_counterNum统计各个状态的导入事务的数量的累计值可以观测导入事务的执行情况。P0
{type=”begin”}Num提交的事务数量
{type=”failed”}Num失败的事务数量
{type=”reject”}Num被拒绝的事务数量。(如当前运行事务数大于阈值,则新的事务会被拒绝)
{type=”succes”}Num成功的事务数量
doris_fe_txn_statusNum统计当前处于各个状态的导入事务的数量。如 {type=”committed”} 表示处于 committed 状态的事务的数量可以观测各个状态下导入事务的数量,来判断是否有堆积P0
doris_fe_query_instance_numNum指定用户当前正在请求的fragment instance数目。如 {user=”test_u”} 表示用户 test_u 当前正在请求的 instance 数目该数值可以用于观测指定用户是否占用过多查询资源P0
doris_fe_query_instance_beginNum指定用户请求开始的fragment instance数目。如 {user=”test_u”} 表示用户 test_u 开始请求的 instance 数目该数值可以用于观测指定用户是否提交了过多查询P0
doris_fe_query_rpc_totalNum发往指定BE的RPC次数。如 {be=”192.168.10.1”} 表示发往ip为 192.168.10.1 的BE的RPC次数该数值可以观测是否向某个BE提交了过多RPC
doris_fe_query_rpc_failedNum发往指定BE的RPC失败次数。如 {be=”192.168.10.1”} 表示发往ip为 192.168.10.1 的BE的RPC失败次数该数值可以观测某个BE是否存在RPC问题
doris_fe_query_rpc_sizeNum指定BE的RPC数据大小。如 {be=”192.168.10.1”} 表示发往ip为 192.168.10.1 的BE的RPC数据字节数该数值可以观测是否向某个BE提交了过大的RPC
doris_fe_txn_exec_latency_ms毫秒事务执行耗时的百分位统计。如 {quantile=”0.75”} 表示 75 分位的事务执行耗时详细观察各分位事务执行耗时P0
doris_fe_txn_publish_latency_ms毫秒事务publish耗时的百分位统计。如 {quantile=”0.75”} 表示 75 分位的事务publish耗时详细观察各分位事务publish耗时P0
doris_fe_txn_numNum指定DB正在执行的事务数。如 {db=”test”} 表示DB test 当前正在执行的事务数该数值可以观测某个DB是否提交了大量事务P0
doris_fe_publish_txn_numNum指定DB正在publish的事务数。如 {db=”test”} 表示DB test 当前正在publish的事务数该数值可以观测某个DB的publish事务数量P0
doris_fe_txn_replica_numNum指定DB正在执行的事务打开的副本数。如 {db=”test”} 表示DB test 当前正在执行的事务打开的副本数该数值可以观测某个DB是否打开了过多的副本,可能会影响其他事务执行P0
doris_fe_thrift_rpc_totalNumFE thrift接口各个方法接收的RPC请求次数。如 {method=”report”} 表示 report 方法接收的RPC请求次数该数值可以观测某个thrift rpc方法的负载
doris_fe_thrift_rpc_latency_ms毫秒FE thrift接口各个方法接收的RPC请求耗时。如 {method=”report”} 表示 report 方法接收的RPC请求耗时该数值可以观测某个thrift rpc方法的负载
doris_fe_external_schema_cache{catalog=”hive”}Num指定 External Catalog 对应的 schema cache 的数量
doris_fe_hive_meta_cache{catalog=”hive”}Num
{type=”partition_value”}Num指定 External Hive Metastore Catalog 对应的 partition value cache 的数量
{type=”partition”}Num指定 External Hive Metastore Catalog 对应的 partition cache 的数量
{type=”file”}Num指定 External Hive Metastore Catalog 对应的 file cache 的数量

JVM 监控

名称标签单位含义说明等级
jvm_heap_size_bytes字节JVM 内存监控。标签包含 max, used, committed,分别对应最大值,已使用和已申请的内存观测JVM内存使用情况P0
jvm_non_heap_size_bytes字节JVM 堆外内存统计
jvm_old_gc老年代 GC 监控。观测是否出现长时间的 FullGCP0
{type=”count”}Num老年代 GC 次数累计值
{type=”time”}毫秒老年代 GC 耗时累计值
jvm_old_size_bytes字节JVM 老年代内存统计P0
jvm_threadNumJVM 线程数统计观测 JVM 线程数是否合理P0
jvm_young_gc新生代 GC 监控
{type=”count”}Num新生代 GC 次数累计值
{type=”time”}毫秒新生代 GC 耗时累计值
jvm_young_size_bytes字节JVM 新生代内存统计P0

机器监控

名称标签单位含义说明等级
system_meminfo字节FE节点机器的内存监控。采集自 /proc/meminfo。包括 bufferscached, memory_available, memory_free, memory_total
system_snmpFE节点机器的网络监控。采集自 /proc/net/snmp
{name=”tcp_in_errs”}Numtcp包接收错误的次数
{name=”tcp_in_segs”}Numtcp包发送的个数
{name=”tcp_out_segs”}Numtcp包发送的个数
{name=”tcp_retrans_segs”}Numtcp包重传的个数

BE 监控指标

进程监控

名称标签单位含义说明等级
doris_be_active_scan_context_countNum展示当前由外部直接打开的scanner的个数
doris_be_add_batch_task_queue_sizeNum记录导入时,接收batch的线程池的队列大小如果大于0,则表示导入任务的接收端出现积压P0
agent_task_queue_sizeNum展示各个 Agent Task 处理队列的长度,如 {type=”CREATE_TABLE”} 表示 CREATE_TABLE 任务队列的长度
doris_be_brpc_endpoint_stub_countNum已创建的 brpc stub 的数量,这些 stub 用于 BE 之间的交互
doris_be_brpc_function_endpoint_stub_countNum已创建的 brpc stub 的数量,这些 stub 用于和 Remote RPC 之间交互
doris_be_cache_capacity记录指定 LRU Cache 的容量
doris_be_cache_usage记录指定 LRU Cache 的使用量用于观测内存占用情况P0
doris_be_cache_usage_ratio记录指定 LRU Cache 的使用率
doris_be_cache_lookup_count记录指定 LRU Cache 被查找的次数
doris_be_cache_hit_count记录指定 LRU Cache 的命中次数
doris_be_cache_hit_ratio记录指定 LRU Cache 的命中率用于观测cache是否有效P0
{name=”DataPageCache”}字节DataPageCache 用于缓存数据的 Data Page数据Cache,直接影响查询效率P0
{name=”IndexPageCache”}NumIndexPageCache 用于缓存数据的 Index Page索引Cache,直接影响查询效率P0
{name=”LastestSuccessChannelCache”}NumLastestSuccessChannelCache 用于缓存导入接收端的 LoadChannel
{name=”SegmentCache”}NumSegmentCache 用于缓存已打开的 Segment,如索引信息
doris_be_chunk_pool_local_core_alloc_countNumChunkAllocator中,从绑定的 core 的内存队列中分配内存的次数
doris_be_chunk_pool_other_core_alloc_countNumChunkAllocator中,从其他的 core 的内存队列中分配内存的次数
doris_be_chunk_pool_reserved_bytes字节ChunkAllocator 中预留的内存大小
doris_be_chunk_pool_system_alloc_cost_ns纳秒SystemAllocator 申请内存的耗时累计值通过斜率可以观测内存分配的耗时P0
doris_be_chunk_pool_system_alloc_countNumSystemAllocator 申请内存的次数
doris_be_chunk_pool_system_free_cost_ns纳秒SystemAllocator 释放内存的耗时累计值通过斜率可以观测内存释放的耗时P0
doris_be_chunk_pool_system_free_countNumSystemAllocator 释放内存的次数
doris_be_compaction_bytes_total字节compaction处理的数据量的累计值记录的是 compaction 任务中,input rowset 的 disk size。通过斜率可以观测 compaction的速率P0
{type=”base”}字节Base Compaction 的数据量累计
{type=”cumulative”}字节Cumulative Compaction 的数据量累计
doris_be_compaction_deltas_totalNumcompaction处理的 rowset 个数的累计值记录的是 compaction 任务中,input rowset 的 个数
{type=”base”}NumBase Compaction 处理的 rowset 个数累计
{type=”cumulative”}NumCumulative Compaction 处理的 rowset 个数累计
doris_be_disks_compaction_numNum指定数据目录上正在执行的 compaction 任务数。如 {path=”/path1/“} 表示/path1 目录上正在执行的任务数用于观测各个磁盘上的 compaction 任务数是否合理P0
doris_be_disks_compaction_scoreNum指定数据目录上正在执行的 compaction 令牌数。如 {path=”/path1/“} 表示/path1 目录上正在执行的令牌数
doris_be_compaction_used_permitsNumCompaction 任务已使用的令牌数量用于反映Compaction的资源消耗量
doris_be_compaction_waitting_permitsNum正在等待Compaction令牌的数量
doris_be_data_stream_receiver_countNum数据接收端 Receiver 的数量FIXME:向量化引擎此指标缺失
doris_be_disks_avail_capacity字节指定数据目录所在磁盘的剩余空间。如 {path=”/path1/“} 表示 /path1 目录所在磁盘的剩余空间P0
doris_be_disks_local_used_capacity字节指定数据目录所在磁盘的本地已使用空间
doris_be_disks_remote_used_capacity字节指定数据目录所在磁盘的对应的远端目录的已使用空间
doris_be_disks_state布尔指定数据目录的磁盘状态。1 表示正常。0 表示异常
doris_be_disks_total_capacity字节定数据目录所在磁盘的总容量配合 doris_be_disks_avail_capacity 计算磁盘使用率P0
doris_be_engine_requests_totalNumBE 上各类任务执行状态的累计值
{status=”failed”,type=”xxx”}Numxxx 类型的任务的失败次数的累计值
{status=”failed”,type=”xxx”}Numxxx 类型的任务的总次数的累计值。可以按需监控各类任务的失败次数P0
{status=”skip”,type=”report_all_tablets”}Numxxx 类型任务被跳过执行的次数的累计值
doris_be_fragment_endpoint_countNumFIXME: 同 doris_be_data_stream_receiver_count 数目。并且向量化引擎缺失
doris_be_fragment_request_duration_us微秒所有 fragment intance 的执行时间累计通过斜率观测 instance 的执行耗时P0
doris_be_fragment_requests_totalNum执行过的 fragment instance 的数量累计
doris_be_load_channel_countNum当前打开的 load channel 个数数值越大,说明当前正在执行的导入任务越多P0
doris_be_local_bytes_read_total字节LocalFileReader 读取的字节数P0
doris_be_local_bytes_written_total字节LocalFileWriter 写入的字节数P0
doris_be_local_file_reader_totalNum打开的 LocalFileReader 的累计计数
doris_be_local_file_open_readingNum当前打开的 LocalFileReader 个数
doris_be_local_file_writer_totalNum打开的 LocalFileWriter 的累计计数。
doris_be_mem_consumption字节指定模块的当前内存开销。如 {type=”compaction”} 表示 compaction 模块的当前总内存开销。值取自相同 type 的 MemTracker。FIXME
doris_be_memory_allocated_bytes字节BE 进程物理内存大小,取自 /proc/self/status/VmRSSP0
doris_be_memory_jemalloc字节Jemalloc stats, 取自 je_mallctl含义参考:https://jemalloc.net/jemalloc.3.htmlP0
doris_be_memory_pool_bytes_total字节所有 MemPool 当前占用的内存大小。统计值,不代表真实内存使用。
doris_be_memtable_flush_duration_us微秒memtable写入磁盘的耗时累计值通过斜率可以观测写入延迟P0
doris_be_memtable_flush_totalNummemtable写入磁盘的个数累计值通过斜率可以计算写入文件的频率P0
doris_be_meta_request_duration微秒访问 RocksDB 中的 meta 的耗时累计通过斜率观测 BE 元数据读写延迟P0
{type=”read”}微秒读取耗时
{type=”write”}微秒写入耗时
doris_be_meta_request_totalNum访问 RocksDB 中的 meta 的次数累计通过斜率观测 BE 元数据访问频率P0
{type=”read”}Num读取次数
{type=”write”}Num写入次数
doris_be_plan_fragment_countNum当前已接收的 fragment instance 的数量观测是否出现 instance 堆积P0
doris_be_process_fd_num_limit_hardNumBE 进程的文件句柄数硬限。通过 /proc/pid/limits 采集
doris_be_process_fd_num_limit_softNumBE 进程的文件句柄数软限。通过 /proc/pid/limits 采集
doris_be_process_fd_num_usedNumBE 进程已使用的文件句柄数。通过 /proc/pid/limits 采集
doris_be_process_thread_numNumBE 进程线程数。通过 /proc/pid/task 采集P0
doris_be_query_cache_memory_total_byte字节Query Cache 占用字节数
doris_be_query_cache_partition_total_countNum当前 Partition Cache 缓存个数
doris_be_query_cache_sql_total_countNum当前 SQL Cache 缓存个数
doris_be_query_scan_bytes字节读取数据量的累计值。这里只统计读取 Olap 表的数据量
doris_be_query_scan_bytes_per_second字节/秒根据 doris_be_query_scan_bytes 计算得出的读取速率观测查询速率P0
doris_be_query_scan_rowsNum读取行数的累计值。这里只统计读取 Olap 表的数据量。并且是 RawRowsRead(部分数据行可能被索引跳过,并没有真正读取,但仍会记录到这个值中)通过斜率观测查询速率P0
doris_be_result_block_queue_countNum当前查询结果缓存中的 fragment instance 个数该队列仅用于被外部系统直接读取时使用。如 Spark on Doris 通过 external scan 查询数据
doris_be_result_buffer_block_countNum当前查询结果缓存中的 query 个数该数值反映当前 BE 中有多少查询的结果正在等待 FE 消费P0
doris_be_routine_load_task_countNum当前正在执行的 routine load task 个数
doris_be_rowset_count_generated_and_in_useNum自上次启动后,新增的并且正在使用的 rowset id 个数。
doris_be_s3_bytes_read_totalNumS3FileReader 的打开累计次数
doris_be_s3_file_open_readingNum当前打开的 S3FileReader 个数
doris_be_s3_bytes_read_total字节S3FileReader 读取字节数累计值
doris_be_scanner_thread_pool_queue_sizeNum用于 OlapScanner 的线程池的当前排队数量大于零则表示 Scanner 开始堆积P0
doris_be_segment_read{type=”segment_read_total”}Num读取的segment的个数累计值
doris_be_segment_read{type=”segment_row_total”}Num读取的segment的行数累计值该数值也包含了被索引过滤的行数。相当于读取的segment个数 * 每个segment的总行数
doris_be_send_batch_thread_pool_queue_sizeNum导入时用于发送数据包的线程池的排队个数大于0则表示有堆积P0
doris_be_send_batch_thread_pool_thread_numNum导入时用于发送数据包的线程池的线程数
doris_be_small_file_cache_countNum当前BE缓存的小文件数量
doris_be_streaming_load_current_processingNum当前正在运行的 stream load 任务数仅包含 curl 命令发送的任务
doris_be_streaming_load_duration_ms毫秒所有stream load 任务执行时间的耗时累计值
doris_be_streaming_load_requests_totalNumstream load 任务数的累计值通过斜率可观测任务提交频率P0
doris_be_stream_load_pipe_countNum当前 stream load 数据管道的个数包括 stream load 和 routine load 任务
doris_be_stream_load{type=”load_rows”}Numstream load 最终导入的行数累计值包括 stream load 和 routine load 任务P0
doris_be_stream_load{type=”receive_bytes”}字节stream load 接收的字节数累计值包括 stream load 从 http 接收的数据,以及 routine load 从kafka 读取的数据P0
doris_be_tablet_base_max_compaction_scoreNum当前最大的 Base Compaction Score该数值实时变化,有可能丢失峰值数据。数值越高,表示 compaction 堆积越严重P0
doris_be_tablet_base_max_compaction_scoreNum同上。当前最大的 Cumulative Compaction Score
doris_be_tablet_version_num_distributionNumtablet version 数量的直方。用于反映 tablet version 数量的分布P0
doris_be_thrift_connections_totalNum创建过的 thrift 连接数的累计值。如 {name=”heartbeat”} 表示心跳服务的连接数累计此数值为 BE 作为服务端的 thrift server 的连接
doris_be_thrift_current_connectionsNum当前 thrift 连接数。如 {name=”heartbeat”} 表示心跳服务的当前连接数。同上
doris_be_thrift_opened_clientsNum当前已打开的 thrift 客户端的数量。如 {name=”frontend”} 表示访问 FE 服务的客户端数量
doris_be_thrift_used_clientsNum当前正在使用的 thrift 客户端的数量。如 {name=”frontend”} 表示正在用于访问 FE 服务的客户端数量
doris_be_timeout_canceled_fragment_countNum因超时而被取消的 fragment instance 数量累计值这个值可能会被重复记录。比如部分 fragment instance 被多次取消P0
doris_be_stream_load_txn_request{type=”begin”}Numstream load 开始事务数的累计值包括 stream load 和 routine load 任务
doris_be_stream_load_txn_request{type=”commit”}Numstream load 执行成功的事务数的累计值同上
doris_be_stream_load_txn_request{type=”rollback”}stream load 执行失败的事务数的累计值同上
doris_be_unused_rowsets_countNum当前已废弃的rowset的个数这些rowset正常情况下会被定期删除
doris_be_upload_fail_countNum冷热分离功能,上传到远端存储失败的rowset的次数累计值
doris_be_upload_rowset_countNum冷热分离功能,上传到远端存储成功的rowset的次数累计值
doris_be_upload_total_byte字节冷热分离功能,上传到远端存储成功的rowset数据量累计值
doris_be_load_bytes字节通过 tablet sink 发送的数量累计可观测导入数据量P0
doris_be_load_rowsNum通过 tablet sink 发送的行数累计可观测导入数据量P0
fragment_thread_pool_queue_sizeNum当前查询执行线程池等待队列的长度如果大于零,则说明查询线程已耗尽,查询会出现堆积P0
doris_be_all_rowset_numsNum当前所有 rowset 的个数P0
doris_be_all_segment_numsNum当前所有 segment 的个数P0

机器监控

名称标签单位含义说明等级
doris_be_cpuNumCPU 相关监控指标,从 /proc/stat 采集。会分别采集每个逻辑核的各项数值。如 {device=”cpu0”,mode=”nice”} 表示 cpu0 的 nice 值可计算得出 CPU 使用率P0
doris_be_disk_bytes_read字节磁盘读取量累计值。从 /proc/diskstats 采集。会分别采集每块磁盘的数值。如 {device=”vdd”} 表示 vvd 盘的数值
doris_be_disk_bytes_written字节磁盘写入量累计值。采集方式同上
doris_be_disk_io_time_ms字节采集方式同上可计算得出 IO UtilP0
doris_be_disk_io_time_weigthed字节采集方式同上
doris_be_disk_reads_completed字节采集方式同上
doris_be_disk_read_time_ms字节采集方式同上
doris_be_disk_writes_completed字节采集方式同上
doris_be_disk_write_time_ms字节采集方式同上
doris_be_fd_num_limitNum系统文件句柄限制上限。从 /proc/sys/fs/file-nr 采集
doris_be_fd_num_usedNum系统已使用文件句柄数。 从 /proc/sys/fs/file-nr 采集
doris_be_file_created_totalNum本地文件创建次数累计所有调用 local_file_writer 并最终 close 的文件计数
doris_be_load_averageNum机器 Load Avg 指标监控。如 {mode=”15_minutes”} 为 15 分钟 Load Avg观测整机负载P0
doris_be_max_disk_io_util_percent百分比计算得出的所有磁盘中,最大的 IO UTIL 的磁盘的数值P0
doris_be_max_network_receive_bytes_rate字节/秒计算得出的所有网卡中,最大的接收速率P0
doris_be_max_network_send_bytes_rate字节/秒计算得出的所有网卡中,最大的发送速率P0
doris_be_memory_pgpgin字节系统从磁盘写到内存页的数据量
doris_be_memory_pgpgout字节系统内存页写入磁盘的数据量
doris_be_memory_pswpin字节系统从磁盘换入到内存的数量通常情况下,swap应该关闭,因此这个数值应该是0
doris_be_memory_pswpout字节系统从内存换入到磁盘的数量通常情况下,swap应该关闭,因此这个数值应该是0
doris_be_network_receive_bytes字节各个网卡的接收字节累计。采集自 /proc/net/dev
doris_be_network_receive_packetsNum各个网卡的接收包个数累计。采集自 /proc/net/dev
doris_be_network_send_bytes字节各个网卡的发送字节累计。采集自 /proc/net/dev
doris_be_network_send_packetsNum各个网卡的发送包个数累计。采集自 /proc/net/dev
doris_be_proc{mode=”ctxt_switch”}NumCPU 上下文切换的累计值。采集自 /proc/stat观测是否有异常的上下文切换P0
doris_be_proc{mode=”interrupt”}NumCPU 中断次数的累计值。采集自 /proc/stat
doris_be_proc{mode=”procs_blocked”}Num系统当前被阻塞的进程数(如等待IO)。采集自 /proc/stat
doris_be_proc{mode=”procs_running”}Num系统当前正在执行的进程数。采集自 /proc/stat
doris_be_snmp_tcp_in_errsNumtcp包接收错误的次数。采集自 /proc/net/snmp可观测网络错误如重传、丢包等。需和其他 snmp 指标配合使用P0
doris_be_snmp_tcp_in_segsNumtcp包发送的个数。 采集自 /proc/net/snmp
doris_be_snmp_tcp_out_segsNumtcp包发送的个数。采集自 /proc/net/snmp
doris_be_snmp_tcp_retrans_segsNumtcp包重传的个数。采集自 /proc/net/snmp