技术博客

阅读约 6 分钟

运维领域竟然还有这个宝藏项目

搞运维的,监控、APM、日志、告警,手上很少会缺一套。排障的时候问「现在谁有问题」,还是得自己把几套东西串起来。

排障还能直接问。

它叫 DataBuff,开源的。仓库在 GitHub:https://github.com/databufflabs/databuff。数打进来之后,看、告警、问走同一套。界面能点到接口和慢 SQL。

不讲某一个接入怎么跟做,按现在能用的过一遍。

  • :数从哪来,几路采集进哪个后端。
  • :放哪,要维护几套组件。
  • :界面能细到哪一层。
  • 告警:错了怎么响,规则在哪配。
  • 分析:不想翻图的时候,能不能直接问。
  • 运维:平台自己堵了、丢数了怎么办。
  • 答疑:不会用、不会接,找谁问。

先从数怎么进来看。

1 · 收:语言 Agent、eBPF、RUM、SkyWalking

换语言、换采集方式,后端不用换。四路进同一个 Ingest。

语言 Agent 有 Java、Python、Node、Go、.NET、PHP、Ruby。官方把 exporter 指到 4317(gRPC)或 4318(HTTP)就行,Nginx 模块也走这一路 OTLP。不想往进程里挂探针,用 eBPF,Grafana 那个 OBI。浏览器按 OTel 打过来也收。SkyWalking 还在用的,上报口 11800,老探针不用马上换。

  • 语言 Agent(OpenTelemetry)Java / Python / Node / Go 等
  • eBPF(OpenTelemetry)OBI · 无进程探针
  • RUM(浏览器)页面 OTLP 即收
  • SkyWalking(老探针)上报口 11800

四路采集汇入 DataBuff Ingest:4317 gRPC · 4318 HTTP · SkyWalking 11800 · Trace / 指标 / 日志。

安装部署里的「数据接入」页,按语言把官方启动命令写好了,把 endpoint 指过来就行。

2 · 存:三个容器,别家往往要拼一套

数进来了,下一问是放哪,你要维护几套。DataBuff 是 Ingest 收、Doris 存、Web 看和问。中间不必再叠 Kafka、Elasticsearch。拓扑、黄金指标、告警、AI 问数,读的是同一份库。

Grafana LGTM 常见拼法

  • 采集 · Alloy / Agent
  • 指标 · Prometheus
  • 链路 · Tempo
  • 日志 · Loki
  • 看板 · Grafana

DataBuff 三个核心组件

  • Ingest 收
  • Doris 存 · 一份数据
  • Web 看 / 告警 / AI

Grafana 那套我们同一台机器上装过、用过。套件不差,就是查数要在几个入口之间切,要维护的也多。人少的时候更明显:少翻一套,就少熬一点。单机 8G 能跑起来。

3 · 看:界面铺得开,粒度能下到接口和 SQL

打开全局拓扑,除了应用,还能看到方括号节点——[mysql]…[kafka]… 这种。中间件多半没再装探针,是调用方出站 Span 里认出来的。

入口红了,往下游看,根因经常不在最前面那个红点上。从服务点下去,接口、单条 Trace、慢 SQL 都能到。Trace 详情能开火焰图,日志能用同一个 Trace ID 对上。

全局拓扑,应用与中间件节点,部分服务标红
全局拓扑。红点是不健康,不是装饰。
接口级调用分析
接口级调用,能继续落到 Trace。
Trace 详情瀑布图
一条 Trace 的调用次序和耗时。
数据库慢 SQL 列表
数据库专页的慢 SQL。
4 · 告警:对着已经在看的那些数配规则

告警不用另接一套监控。黄金指标已经在库里,告警中心里配阈值或突变就行。规则按分钟看最近的数,超线记成事件,回来了标恢复。事件挂在服务或中间件上,点进去还能回到 APM 接着查。服务详情里也能看到相关规则,不用去翻配置文件。

告警列表,事件挂在服务上
规则在产品里配。SkyWalking 那边很多环境还是改 OAP 配置文件。
5 · 分析:问数、巡检、容量上的判断

图翻不过来、只想问一句「谁有问题」的时候,开对话。查的就是上面那份数。你问最近一小时有哪些服务、谁连谁、错误率怎么走,它查完答你。

你说对某个服务巡检,它按清单看入口、日志里的 OOM / 超时、告警、下游、实例还在不在,能出带证据的报告。不是大模型直接拍脑袋,背后会派给问数、巡检这些专家去查库。

AI 对话里用自然语言问系统
问数:中文问服务、拓扑、趋势。
巡检 HTML 报告
巡检报告,不是陪聊。

首页还有容量预测。你让它按历史请求量、延迟看趋势、接下来要不要扩,它会画图、给个判断。

AI 对话里按 QPS 判断容量
按历史 QPS / 延迟做容量上的判断。

模型 Key 自己填,Kimi、DeepSeek、OpenAI、Ollama 这些入口都有。

6 · 运维:平台自己出问题怎么办

平台自己堵了、写出丢了、磁盘顶了,看部署状态这一页。业务机器上的进程、SSH,是另一个专家的活,这儿不写。

总览就四张卡:入站、写出失败、Doris 磁盘、查询失败。点图标题会出说明书:这个数怎么算、什么时候算异常、该动哪个环境变量。写出开始丢的时候,先看队列和超时,别第一眼怪业务没上报。

部署状态总览
先看平台自己堵不堵。
点指标标题出现说明书
点标题,说明书写在旁边。

也可以直接跟 AI 说:对 DataBuff 平台巡检、查丢数原因。它读的是平台自监控的数。你说「修」,它才去改 INGEST_* 这类参数、重启栈内服务、再复查。

AI 对 DataBuff 平台做巡检
对平台巡检、查丢数,说修才动手改参数。
7 · 答疑:怎么用、怎么接、MCP 怎么配

卡住了可以问:产品怎么用、OpenTelemetry 怎么接、MCP 怎么配。答疑专家会翻安装文档、接入说明。OTLP 地址怎么填、Java Agent 怎么挂、挂完去服务列表验证,能按文档讲。

产品答疑专家说明 OTLP 接入
问「OpenTelemetry 怎么接」,它会把 endpoint 和验证步骤讲出来。

要把外部 MCP 挂进专家:AI 平台 → 工具管理 → 新建 MCP,填地址和 SSE / Streamable HTTP,再在数字专家里勾上这个工具。之后对话里才能调到它。

新建远程 MCP 工具
新建 MCP:地址 + 传输协议。
把 MCP 绑定到数字专家
专家勾选之后才会去调。

反过来也行:Cursor 这类外部 Agent 要调 DataBuff,走 POST /mcp,配上地址就能问。

8 · 跟别家摆一张桌上

Grafana 套件、SkyWalking,和 DataBuff 差在哪,放一张桌上好看出来。

对比项Grafana 套件SkyWalkingDataBuff
要维护的组件采集 + Prom + Tempo + Loki + GrafanaOAP + 存储 + UIIngest + Doris + Web
单机跑起来五件套叠加,偏重OAP 集群8G 内存就能跑
查数指标、链路、日志换入口OAP 查询同一套界面
告警规则手写 PromQL 表达式改 OAP 配置文件产品里对着这份数配
AI 排障另接插件问数、巡检、容量,读同一份数
平台自己出问题自己拼监控自己想办法自监控 + 说明书,说「修」才修

人少的时候,少维护几套、少切几个入口,是能感觉到的。

想试的话别一次全上。先拿一个非核心服务挂上 Agent,拓扑里看到它,配一条告警,再开对话问一句「这个服务最近怎么样」。一条命令就能拉起来。