适合人群Doris运维工程师、大数据运维、数仓架构师、生产监控负责人核心价值系统梳理Doris生产环境FE、BE、查询性能、集群健康、资源消耗五大核心监控维度含告警阈值、指标解读、采集方式结合官方Doris Manager工具实操搞定集群监控落地与故障快速排查系列说明本文是Doris进阶第13篇承接上篇湖仓一体聚焦生产运维核心——监控体系搭建基于Doris 2.2版本结合社区官方工具Doris Manager覆盖从指标解读到落地采集的全流程看完可直接搭建生产级监控告警体系。一、开篇核心Doris监控的“底线思维”Doris作为生产级OLAP引擎监控的核心目标是保障集群“高可用、高性能、高可靠”杜绝因节点故障、资源耗尽、数据不一致导致的业务中断。核心原则早发现、早排查、早解决重点监控“异常指标”而非“所有指标”聚焦能直接反映集群健康与业务影响的核心项。本文将从「生产告警 Checklist」切入分五大维度拆解监控指标补充官方工具Doris Manager实操结合生产避坑细节让监控落地更高效。二、生产环境监控 Checklist告警项直接套用以下是生产环境必配告警项按“严重性分级”阈值可根据业务规模微调优先保障核心指标零异常类别告警项阈值严重性核心说明健康状态BE 失联数量0 紧急BE节点宕机直接影响数据存储与计算需立即重启排查不一致Tablet数量0 紧急副本数据不一致有数据丢失风险需立即修复资源消耗BE 内存使用率90% 持续5分钟 严重内存不足易导致OOM kill需优化查询或扩容BE 磁盘使用率85%警告90%紧急 警告85% 紧急90%85%触发Tablet均衡90%拒绝写入需清理数据或扩容BE CPU使用率90% 持续10分钟 严重CPU瓶颈导致查询卡顿需优化复杂查询或扩容性能指标慢查询数/分钟10中小集群50大集群 严重慢查询过多占用资源需分析优化SQL查询平均延迟对比基线突增2倍 警告性能退化需排查Compaction、索引或资源问题数据导入导入失败率1% 持续10分钟 严重导入异常影响数据同步需排查数据格式或集群状态三、FEFrontend监控指标集群“大脑”重点保可用FE负责元数据管理、查询解析、任务调度是集群的核心管控节点监控重点是「元数据健康、JVM稳定、连接正常」避免因FE故障导致整个集群不可用。3.1 JVM相关指标FE基于Java开发JVM是重灾区FE默认堆内存为8~16GB若集群元数据量大表/分区数10万需手动调优堆内存修改fe.conf的-Xmx参数核心监控指标如下指标名称指标说明告警建议排查方向jvm.heap.used.percentJVM堆内存使用率85% 持续5分钟 → 告警1. 调优堆内存2. 排查内存泄漏如频繁创建大对象jvm.gc.time.msGC总耗时重点关注Full GC单次Full GC 5s 或1分钟内Minor GC10次 → 告警Full GC频繁堆内存不足或内存泄漏Minor GC频繁年轻代设置不合理jvm.thread.count当前JVM线程数线程数突增2倍以上 → 告警可能存在死锁、连接池泄漏或恶意请求攻击jvm.nonheap.used.percentJVM非堆内存使用率方法区、Metaspace90% → 告警元数据过多导致Metaspace不足需调优-XX:MetaspaceSize参数3.2 元数据与状态指标核心保障元数据一致性FE元数据是集群的“灵魂”一旦损坏或不一致会导致集群无法正常运行重点监控以下指标指标名称指标说明关键关注点fe.is_master标识当前FE是否为Master节点1Master0非MasterHA部署时必须有且仅有1个Master否则集群异常catalog.trash.expired.partition.count回收站中待删除的分区数量数量持续增长 → DROP操作积压需检查删除任务是否阻塞edit_log.roll.interval.msEdit Log元数据操作日志滚动间隔间隔过长30min → 元数据持久化延迟有丢失风险metadata.sync.time.msMaster与Follower/Observer的元数据同步延迟延迟10s → 元数据不一致需检查网络或节点状态3.3 连接与请求指标监控访问压力FE作为查询入口连接数和请求延迟直接反映访问压力需重点监控指标名称指标说明风险提示qps / query.total.count查询QPS每秒查询数/ 累计查询数QPS突增 → 可能是业务峰值或恶意查询需限流connection.total.count当前FE的总连接数含MySQL客户端、BI工具、API连接连接数突增 → 可能是连接池泄漏或恶意扫描需排查连接来源http.request.latency.msHTTP请求延迟如Stream Load、API调用延迟500ms → 可能FE压力过大需优化请求频率四、BEBackend监控指标集群“算力核心”重点保性能BE负责数据存储、查询计算是集群性能瓶颈的主要发生地监控重点是「资源使用率、Tablet健康、Compaction状态」避免因BE故障导致数据不可用或查询卡顿。4.1 系统资源指标基础保障避免资源耗尽BE是CPU、内存、磁盘、IO的主要消耗者需实时监控资源使用率提前规避瓶颈指标名称指标说明告警建议优化方向cpu.utilization.percentBE节点CPU使用率不含空闲进程90% 持续10分钟 → 告警1. 优化复杂查询如Join、大聚合2. 限制并发查询数3. 节点扩容memory.used.percentBE节点总内存使用率非JVM内存BE基于C开发85% → 告警1. 减少大查询内存占用2. 调整BE内存配置3. 扩容内存disk_used_percentBE数据磁盘使用率单个磁盘85% → 警告90% → 紧急告警1. 清理过期数据/分区2. 触发Tablet均衡3. 磁盘扩容io.util.percent磁盘IO利用率读写合并90% 持续5分钟 → 告警1. 合并小文件减少IO次数2. 优化查询扫描范围3. 更换高性能磁盘4.2 Tablet与副本健康指标核心中的核心Tablet是Doris的数据分片单位副本一致性直接决定数据可靠性inconsistent_tablet_num必须为0否则有数据丢失风险指标名称指标说明重要性排查方向tablet.total.count当前BE节点上的Tablet总数⭐⭐总数过多10万 → 分片过细需调整分桶策略tablet.inconsistent.count副本不一致的Tablet数量⭐⭐⭐⭐⭐0 → 立即排查1. 节点是否宕机2. 网络是否异常3. 执行修复命令tablet.clone.job.running正在执行的副本修复任务数⭐⭐⭐持续0且不减少 → 可能磁盘故障或修复任务阻塞需手动干预tablet.version.countTablet的版本数量反映Compaction压力⭐⭐⭐单Tablet版本100 → Compaction积压查询性能下降4.3 Compaction合并指标影响查询性能的关键Doris通过Compaction合并Tablet的小版本文件减少查询时的版本合并开销若Compaction积压会导致查询变慢、磁盘空间无法释放重点监控指标名称指标说明风险提示compaction.pending.tasks待执行的Compaction任务总数含Minor/Major持续增长 → Compaction能力不足需调优Compaction参数compaction.used.time.avg.ms平均Compaction任务耗时耗时10s → 单个任务过大需调整合并策略base_compaction.pending.tasks待执行的Base Compaction大合并任务数5 → 大合并积压磁盘空间无法释放查询性能退化cumulative_compaction.pending.tasks待执行的Cumulative Compaction小合并任务数20 → 小合并积压需增加Compaction线程数⚠️ 补充Compaction调优核心参数be.confcompaction_threadsCompaction线程数默认4可根据CPU核数调整建议≤CPU核数的1/2base_compaction_check_interval_secondsBase Compaction检查间隔默认300s可缩短至60s。五、查询性能监控业务感知核心重点保体验查询性能直接影响业务体验监控重点是「延迟、吞吐、慢查询」快速定位性能瓶颈优化用户体验核心指标如下5.1 查询延迟与吞吐指标整体性能基线指标名称指标说明告警建议优化方向query.duration.avg.ms所有查询的平均耗时对比历史基线突增2倍 → 告警1. 排查慢查询2. 检查Compaction状态3. 优化索引/分区分桶query.duration.p95.ms95%查询的耗时反映绝大多数查询的性能1000ms根据业务调整 → 告警重点优化长尾查询提升整体体验query.scan.rows.per.sec查询每秒扫描的行数吞吐指标对比基线下降50% → 告警1. 排查IO瓶颈2. 检查索引是否生效3. 优化查询过滤条件query.memory.cost.avg.bytes单查询平均占用内存异常高如10GB → 告警排查是否存在笛卡尔积、无索引全表扫描等问题5.2 慢查询识别与治理性能优化重点慢查询是性能瓶颈的主要来源需开启日志监控快速识别并优化开启慢查询日志fe.conf配置enable_profile true # 开启查询Profile便于分析 log_slow_query true # 开启慢查询日志 slow_query_time 5000 # 慢查询定义单位ms可按业务调整核心监控指标slow_query_count单位时间内的慢查询数量如每分钟slow_query_duration.ms慢查询的平均耗时。实时排查工具-- 查看当前运行中的查询实时定位慢查询SHOW PROC ‘/current_queries’;– 查看历史慢查询记录SHOW PROC ‘/slow_queries’;5.3 Query Profile关键指标单查询优化核心对单条慢查询通过Query Profile分析瓶颈重点关注以下指标通过EXPLAIN ANALYZE获取ScanTime数据扫描时间 → 过长说明扫描范围过大需优化过滤条件、索引JoinTime / AggTimeJoin/聚合计算耗时 → 过长说明计算复杂需优化Join顺序、聚合方式ReturnRows vs ScanRows过滤率 ReturnRows / ScanRows → 过滤率越低越好理想1%过滤率高说明过滤条件无效MemoryUsed查询占用内存 → 过高说明查询逻辑不合理如无限制Group By。六、数据导入Load监控保障数据可靠性Doris支持Stream Load、Broker Load、Routine Load等多种导入方式监控重点是「导入成功率、延迟、错误行数」避免数据同步异常指标名称指标说明关键标准常见失败原因load.job.success.rate导入任务成功率成功数/总任务数99.9%1. 数据格式错误JSON/CSV解析失败2. 内存不足mem_limit超限3. Tablet副本不可用4. 权限不足load.job.pending.count待调度的导入任务数持续10 → 异常stream_load.push.duration.avg.msStream Load推送延迟从提交到开始处理1000ms → 需优化routine_load.error.rowsRoutine Load实时导入的错误行数持续增长 → 异常️ 排查工具通过SHOW LOAD查看导入任务详情通过SHOW ROUTINE LOAD查看实时导入状态。七、集群健康与高可用监控保障集群稳定运行集群高可用依赖FE/BE节点冗余、副本均衡重点监控「节点状态、副本均衡、HA配置」7.1 节点状态监控指标名称指标说明告警建议fe.alive.num存活的FE节点数量HA部署时 3 → 告警需部署奇数个FEbe.alive.num存活的BE节点数量小于集群总节点数的80% → 告警be.last_heartbeatBE节点最后一次向FE发送心跳的时间30s → 节点失联告警7.2 副本均衡监控副本均衡确保数据均匀分布在各个BE节点避免单节点压力过大指标名称指标说明关键关注点tablet.balance.job.runningTablet均衡任务是否正在运行1运行0停止磁盘使用率差异大时需确保均衡任务运行be.disk.path.used.percent.stddev各BE节点磁盘使用率的标准差标准差10 → 磁盘使用率差异过大需触发均衡7.3 高可用HA监控Doris HA核心依赖FE集群需重点监控FE节点数量必须部署奇数个3/5个确保Master选举正常指标fe.role集群中应有1个Master、N个Follower/Observer缺失Master则集群异常Master切换监控fe.master.change.count频繁切换说明集群不稳定需排查网络或节点故障。八、指标采集方式3种方式按需选择结合Doris官方工具与开源组件提供3种采集方式优先推荐「方式1方式2」结合兼顾便捷性与可视化方式1Doris自带HTTP接口推荐零依赖Doris FE/BE自带Prometheus格式指标接口可直接对接Prometheus Grafana快速搭建监控面板FE指标接口http://fe_host:8030/metrics默认端口8030可在fe.conf中修改BE指标接口http://be_host:8040/metrics默认端口8040可在be.conf中修改优势零开发、零依赖指标全面实时性高实操在Prometheus配置文件中添加FE/BE节点配置示例scrape_configs:job_name: ‘doris_fe’static_configs:targets: [‘fe1:8030’, ‘fe2:8030’, ‘fe3:8030’] # 所有FE节点job_name: ‘doris_be’static_configs:targets: [‘be1:8040’, ‘be2:8040’, ‘be3:8040’] # 所有BE节点方式2Doris Manager官方运维平台推荐生产使用Doris Manager是Apache Doris官方开源的集群运维管理平台GitHub地址支持指标监控、集群管理、告警配置等功能无需手动配置Prometheus/Grafana开箱即用核心功能贴合监控需求指标可视化内置FE/BE/查询/导入等核心指标面板无需手动配置告警管理支持自定义告警阈值、告警渠道邮件、短信、钉钉集群运维支持节点启停、配置修改、日志查看一站式运维技术栈基于Java71.0%、TypeScript25.1%开发开源免费社区持续维护。⚠️ 注意Doris Manager最新提交时间为2023年7月当前支持Doris 2.x版本部署时需注意版本兼容性可参考官方docs目录下的初始化文档Initializing.md进行部署。方式3日志监控补充排查兜底保障通过监控FE/BE日志捕捉异常信息作为指标监控的补充关键日志路径与关键词节点类型日志路径默认关键告警关键词FEdoris/fe/log/fe.logFATAL、ERROR、OutOfMemoryError、tablet inconsistentBEdoris/be/log/be.logFATAL、ERROR、memory limit exceeded、IO error导入日志doris/fe/log/load_log.logload failed、parse error、rejected rows九、总结Doris监控落地核心要点Doris生产监控的核心是“聚焦关键指标、搭建闭环体系”落地时牢记3个核心要点必监指标优先监控「不一致Tablet、BE节点存活、磁盘使用率、慢查询数」这4个指标直接决定集群可用性与业务体验采集方式推荐「Doris自带HTTP接口 Doris Manager」结合既保证指标全面又降低运维成本告警闭环告警不仅要“报”还要“能排查”结合Query Profile、日志、集群运维工具快速定位并解决问题。✅ 最佳实践部署Prometheus Grafana导入Doris官方监控模板实现指标可视化开启Doris Manager实现集群运维与告警一站式管理定期分析慢查询、Compaction状态提前优化避免性能退化制定应急预案如BE宕机、副本不一致确保故障快速恢复。