首页/新闻资讯/正文详情

Apache Doris 集群监控实践:用 Prometheus + Grafana 抓住 4 类半夜告警

发布时间:2026/11/4 11:07:43 来源:云帆数科 栏目:资讯中心
Apache Doris 集群监控实践:用 Prometheus + Grafana 抓住 4 类半夜告警
Apache Doris 集群监控实践用 Prometheus Grafana 抓住 4 类半夜告警【免费下载链接】dorisApache Doris is an easy-to-use, high performance and unified analytics database.项目地址: https://gitcode.com/gh_mirrors/dori/doris本文围绕 Apache Doris 监控展开讲清楚 Prometheus 采集配置、Grafana 面板布局和 Doris 告警规则的取舍原则。读完你可以给一个 FE BE 集群搭起一套只报真事的 Prometheus Grafana 告警链路并拿到一份收到告警后 5 分钟内的定位清单。先想清楚Doris 到底要盯哪些东西先不讲工具讲四个真实运维场景每个场景对应一组指标查询突然变慢业务方只说变慢了你要能回答是资源不够还是某条 SQL 拖后腿。BE 节点掉线进程消失、OOM 被杀或网络断开影响副本可用性和查询成功率。磁盘快满数据目录写满后写入直接失败需要提前几天而不是几小时发现。FE 内存飙升FE 是元数据和查询入口堆内存打满会触发 Full GC整个集群查询一起卡。FE 侧指标统一注册在 MetricRepo以 Prometheus 文本格式经 PrometheusMetricVisitor 输出BE 侧指标见 be/src/util/doris_metrics.h经 HTTP/metrics暴露。四个场景对应的核心指标如下指标名含义建议关注阈值doris_fe_query_err_rateFE 查询错误率0.05 持续 5 分钟doris_fe_connectionsFE 当前连接数对比自身历史基线突增doris_fe_jvm_memory_heap_used_bytesFE 堆内存已用/ max 0.85doris_be_process_mem_bytesBE 进程内存/ 整机内存 0.8doris_be_max_disk_io_util_percent磁盘 IO 利用率峰值85% 持续 10 分钟doris_be_max_tablet_compaction_scorecompaction 积压程度100 持续 30 分钟doris_be_load_mem_consumption导入链路内存突增且无对应导入任务阈值不是拍脑袋compaction score 超过 100 意味着 version 积压到查询需要合并读大量 rowset这正是查询变慢的常见根因。把指标采上来Prometheus 采集 Doris 指标配置FE 默认http_port 8030、BE 默认webserver_port 8040见 conf/fe.conf 与 conf/be.conf两者都在该端口提供/metrics端点指标名分别以doris_fe_、doris_be_开头默认就是开着的无需额外配置重启一次即可生效。Prometheus 侧推荐把 Doris 目标单独拆到一个文件里主配置只引用# prometheus/doris.yml scrape_configs: - job_name: doris_fe scrape_interval: 15s static_configs: - targets: [fe1.example.com:8030] labels: {component: fe} - job_name: doris_be scrape_interval: 15s static_configs: - targets: [be1.example.com:8040, be2.example.com:8040] labels: {component: be}# prometheus/prometheus.yml rule_files: - doris.rules.yml scrape_configs: - job_file: doris.yml采集间隔选 15s 有两个理由其一Grafana 里所有rate(...[2m])窗口至少要有 8 个样本曲线才稳定其二Doris 的/metrics输出是现成文本一次抓取消纳很小15s 对 FE/BE 几乎无压力没必要为了精确压到 5s 以下。节点多起来之后把static_configs换成file_sd_configs或 k8s service discovery 即可规则文件不用动。让看板说人话Grafana 面板布局思路不建议把面板按FE 一块、BE 一块堆上去而是按问题分层每层回答一个具体问题。每个面板只回答一个问题问不出结论的面板删掉。第一屏回答集群是不是健康的BE 存活数量、FE 查询错误率、FE 堆内存。这一屏应该能在 3 秒内看完。第二屏回答查询体验有没有变差QPS 趋势、扫描吞吐按实例分布、compaction score。QPS 平稳而扫描吞吐掉多半是扫描线程池或磁盘出了问题。关键面板的 PromQL注释写在行内# 集群 BE 存活数比 1 - up() 更直观掉线时直接看到数字下跌 count(doris_be_process_mem_bytes) # FE 查询错误率指标本身已按窗口算好无需再做 rate doris_fe_query_err_rate # 各 BE 每秒扫描吞吐按实例拆开才能看出负载不均 sum by (instance) (rate(doris_be_query_scan_bytes[5m]))面板里给所有图统一加instance变量过滤器多集群共用一套 dashboard 时不会串数据。告警规则只留半夜值得被叫醒的原则critical 只报服务正在受损或即将不可用其余降级。按三级组织如下。info不用叫醒人只留记录规则exprfor为什么是这个值CompactionScoreHighmax(doris_be_max_tablet_compaction_score) 10030m短暂尖峰会自行消化持续 30 分钟才是趋势warning工作时间处理规则exprfor为什么是这个值BEProcessMemHighmax(doris_be_process_mem_bytes) / 64e9 0.810m80% 是 OOM 前的安全线10 分钟排除 flush 瞬时抖动FEDiskIOBusymax(doris_be_max_disk_io_util_percent) 8510m磁盘接近打满compaction 会先被拖慢FEQueryErrRatemax(doris_fe_query_err_rate) 0.055m5% 错误率说明是稳定故障不是单条 SQL 抖动critical半夜叫醒人规则exprfor为什么是这个值BENodeDowndoris_be_process_mem_bytes 02mBE 掉线直接损失副本可用性2 分钟排除进程刚重启的窗口FEHeapMemoryHighdoris_fe_jvm_memory_heap_used_bytes / doris_fe_jvm_memory_heap_max_bytes 0.855m再往上就是 Full GCFE 作为查询入口会整体卡顿Alertmanager 按级别分流避免 info 类告警淹没 critical# alertmanager.yml route: receiver: wechat_info group_by: [alertname, cluster] group_wait: 30s group_interval: 5m repeat_interval: 4h routes: - matchers: [severitywarning] receiver: wechat_warning repeat_interval: 1h - matchers: [severitycritical] receiver: wechat_critical repeat_interval: 15m receivers: - name: wechat_critical webhook_configs: - url: http://wechat-webhook.example.com/send?levelcritical收到告警后的 5 分钟定位清单BE 掉线BENodeDown先看该 target 在 Prometheus 里是否 down。if 是 down先判断 BE 进程是否真的不在ps aux | grep doris_be再看机器上/var/log/messages有没有 oom-killer 记录。if 进程在但 scrape down多半是 8040 端口或防火墙问题走采集排查而不是业务排查。查询变慢 / 错误率高先看 QPS 有没有突增。if 有是流量问题查连接数和限流配置if 没有是资源问题看 compaction score 和doris_be_scanner_thread_pool_queue_size是否积压。同时SHOW PROC /current_queries找出正在跑的长查询。磁盘类告警DiskFull / DiskIOBusy先看是容量还是速度。if 容量问题查 compaction score 是否同步升高——score 高说明积压数据在放大磁盘占用先停导入比清数据更急。常用诊断命令curl -s localhost:9090/api/v1/targets | jq .data.activeTargets[] | select(.health!up) tail -n 200 be.WARNING | grep -E IO error|No space上线前检查 常见踩坑端口没放通curl fe_host:8030/metrics和curl be_host:8040/metrics都要返回指标文本target 是 down 时第一件事查这里别急着怀疑 Grafana。标签不一致导致面板空白scrape 时给的component/cluster标签必须和 dashboard 变量、告警规则里的引用完全一致一个字母差就是整屏空白。告警风暴一定配group_byrepeat_interval再对维护窗口加 silence否则一次 BE 滚动重启会刷满企业微信群。磁盘类告警给够时间BE 数据目录写满前通常有数天缓冲for至少给 1h给值班留扩容和迁移的时间。规则改完先空跑新增 expr 先用 Prometheus 的 Rules 页看是否 firing、值是否合理再挂到 Alertmanager避免新规则上线即风暴。小结监控的价值不在面板数量而在告警可信只报半夜值得起来的报了就 5 分钟内能定位。想继续深入可以看 docs/ 下的配置文档生成脚本了解 FE/BE 全量配置项以及 samples/doris-demo/ 里 JDBC 与 REST 的接入示例配合本文的指标清单快速搭起自己的 Doris 监控大盘。【免费下载链接】dorisApache Doris is an easy-to-use, high performance and unified analytics database.项目地址: https://gitcode.com/gh_mirrors/dori/doris创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

SFML 跨平台 C++ 多媒体库完整教程:5 个库搞定游戏窗口、渲染、音频与网络
SFML 跨平台 C++ 多媒体库完整教程:5 个库搞定游戏窗口、渲染、音频与网络

SFML 跨平台 C 多媒体库完整教程:5 个库搞定游戏窗口、渲染、音频与网络 【免费下载链接】SFML Simple and Fast Multimedia Library 项目地址: https://gitcode.com/gh_mirrors/sf/SFML 写 2D 游戏,卡在哪一步?开窗口、贴图片、播音乐… · 2026/11/4 11:07:43

Linux系统常见操作
Linux系统常见操作

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 11:07:43

十分钟搭一个AI金融分析师:Hermes Agent智能投资分析与财务建模实操
十分钟搭一个AI金融分析师:Hermes Agent智能投资分析与财务建模实操

十分钟搭一个AI金融分析师:Hermes Agent智能投资分析与财务建模实操 想给一家公司做DCF估值(现金流折现,即算未来赚的钱折到今天值多少),你得手写三十行Excel公式。而用Hermes Agent这个开源、会自我学习的AI代理&… · 2026/11/4 11:06:42

AutoHotkey 输入法切换实战:5 个热键参数,中英文切换一次配好
AutoHotkey 输入法切换实战:5 个热键参数,中英文切换一次配好

AutoHotkey 输入法切换实战:5 个热键参数,中英文切换一次配好 【免费下载链接】AutoHotkey AutoHotkey - macro-creation and automation-oriented scripting utility for Windows. 项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey 写技… · 2026/11/4 11:51:37

匈牙利移居路线全解:基于 RUN 手册拆解客座投资者、白卡、Hungarian Card 与欧盟蓝卡
匈牙利移居路线全解:基于 RUN 手册拆解客座投资者、白卡、Hungarian Card 与欧盟蓝卡

【免费下载链接】RUN RUN 润:海外移居手册(欧洲 36 国 110 条路线 主要移民地区) 项目地址: https://gitcode.com/gh_mirrors/run33/RUN 点击查看 免费下载 匈牙利在 RUN(润)这本海外移居手册里被收录为… · 2026/11/4 11:51:37

转:不要“想象客户”,要去“成为客户”
转:不要“想象客户”,要去“成为客户”

个人理解: 要么解决自己的痛点,要么沉浸式复刻客户处境 解决自己的问题,满足自己的需求 不要“想象客户”,要去“成为客户” 不要“想象客户”,要去“成为客户” 想象出来的需求都是幻觉。要么解决自己的痛点&#… · 2026/11/4 11:51:37

LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译
LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译

LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator LunaTranslator 是一款免费开源、… · 2026/11/4 11:50:37

如何用自有ROM构建多语言Emerald 3DS:西班牙语、法语与意大利语版本构建教程
如何用自有ROM构建多语言Emerald 3DS:西班牙语、法语与意大利语版本构建教程

【免费下载链接】emerald-3ds Native Pokmon Emerald port for Nintendo 3DS, featuring dual-screen gameplay, stereoscopic 3D, and a fully 3D world. 项目地址: https://gitcode.com/gh_mirrors/em/emerald-3ds 点击查看 免费下载 Emerald 3DS 是《宝可梦 红宝… · 2026/11/4 11:50:37

蔡司三坐标测量仪是什么?一文读懂原理、型号、精度与行业应用
蔡司三坐标测量仪是什么?一文读懂原理、型号、精度与行业应用

蔡司三坐标测量仪是什么?简单说,三坐标测量机(CMM,Coordinate Measuring Machine)就是一台能在三维空间里 "量尺寸" 的设备:测头沿着 X、Y、Z 三个方向移动,逐点或连续扫过工件表面&a… · 2026/11/4 11:49:36

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码