搞运维的,监控、APM、日志、告警,手上很少会缺一套。排障的时候问「现在谁有问题」,还是得自己把几套东西串起来。
排障还能直接问。
它叫 DataBuff,开源的。仓库在 GitHub:https://github.com/databufflabs/databuff。数打进来之后,看、告警、问走同一套。界面能点到接口和慢 SQL。
不讲某一个接入怎么跟做,按现在能用的过一遍。
- 收:数从哪来,几路采集进哪个后端。
- 存:放哪,要维护几套组件。
- 看:界面能细到哪一层。
- 告警:错了怎么响,规则在哪配。
- 分析:不想翻图的时候,能不能直接问。
- 运维:平台自己堵了、丢数了怎么办。
- 答疑:不会用、不会接,找谁问。
先从数怎么进来看。
换语言、换采集方式,后端不用换。四路进同一个 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 指过来就行。
数进来了,下一问是放哪,你要维护几套。DataBuff 是 Ingest 收、Doris 存、Web 看和问。中间不必再叠 Kafka、Elasticsearch。拓扑、黄金指标、告警、AI 问数,读的是同一份库。
Grafana LGTM 常见拼法
- 采集 · Alloy / Agent
- 指标 · Prometheus
- 链路 · Tempo
- 日志 · Loki
- 看板 · Grafana
DataBuff 三个核心组件
- Ingest 收
- Doris 存 · 一份数据
- Web 看 / 告警 / AI
Grafana 那套我们同一台机器上装过、用过。套件不差,就是查数要在几个入口之间切,要维护的也多。人少的时候更明显:少翻一套,就少熬一点。单机 8G 能跑起来。
打开全局拓扑,除了应用,还能看到方括号节点——[mysql]…、[kafka]… 这种。中间件多半没再装探针,是调用方出站 Span 里认出来的。
入口红了,往下游看,根因经常不在最前面那个红点上。从服务点下去,接口、单条 Trace、慢 SQL 都能到。Trace 详情能开火焰图,日志能用同一个 Trace ID 对上。
告警不用另接一套监控。黄金指标已经在库里,告警中心里配阈值或突变就行。规则按分钟看最近的数,超线记成事件,回来了标恢复。事件挂在服务或中间件上,点进去还能回到 APM 接着查。服务详情里也能看到相关规则,不用去翻配置文件。
图翻不过来、只想问一句「谁有问题」的时候,开对话。查的就是上面那份数。你问最近一小时有哪些服务、谁连谁、错误率怎么走,它查完答你。
你说对某个服务巡检,它按清单看入口、日志里的 OOM / 超时、告警、下游、实例还在不在,能出带证据的报告。不是大模型直接拍脑袋,背后会派给问数、巡检这些专家去查库。
首页还有容量预测。你让它按历史请求量、延迟看趋势、接下来要不要扩,它会画图、给个判断。
模型 Key 自己填,Kimi、DeepSeek、OpenAI、Ollama 这些入口都有。
平台自己堵了、写出丢了、磁盘顶了,看部署状态这一页。业务机器上的进程、SSH,是另一个专家的活,这儿不写。
总览就四张卡:入站、写出失败、Doris 磁盘、查询失败。点图标题会出说明书:这个数怎么算、什么时候算异常、该动哪个环境变量。写出开始丢的时候,先看队列和超时,别第一眼怪业务没上报。
也可以直接跟 AI 说:对 DataBuff 平台巡检、查丢数原因。它读的是平台自监控的数。你说「修」,它才去改 INGEST_* 这类参数、重启栈内服务、再复查。
卡住了可以问:产品怎么用、OpenTelemetry 怎么接、MCP 怎么配。答疑专家会翻安装文档、接入说明。OTLP 地址怎么填、Java Agent 怎么挂、挂完去服务列表验证,能按文档讲。
要把外部 MCP 挂进专家:AI 平台 → 工具管理 → 新建 MCP,填地址和 SSE / Streamable HTTP,再在数字专家里勾上这个工具。之后对话里才能调到它。
反过来也行:Cursor 这类外部 Agent 要调 DataBuff,走 POST /mcp,配上地址就能问。
Grafana 套件、SkyWalking,和 DataBuff 差在哪,放一张桌上好看出来。
| 对比项 | Grafana 套件 | SkyWalking | DataBuff |
|---|---|---|---|
| 要维护的组件 | 采集 + Prom + Tempo + Loki + Grafana | OAP + 存储 + UI | Ingest + Doris + Web |
| 单机跑起来 | 五件套叠加,偏重 | OAP 集群 | 8G 内存就能跑 |
| 查数 | 指标、链路、日志换入口 | OAP 查询 | 同一套界面 |
| 告警规则 | 手写 PromQL 表达式 | 改 OAP 配置文件 | 产品里对着这份数配 |
| AI 排障 | 另接插件 | — | 问数、巡检、容量,读同一份数 |
| 平台自己出问题 | 自己拼监控 | 自己想办法 | 自监控 + 说明书,说「修」才修 |
人少的时候,少维护几套、少切几个入口,是能感觉到的。
想试的话别一次全上。先拿一个非核心服务挂上 Agent,拓扑里看到它,配一条告警,再开对话问一句「这个服务最近怎么样」。一条命令就能拉起来。