Grafana:从开源监控工具到可观测性基础设施的进化困局

上周和杭州某互联网公司的SRE团队吃夜宵,几个人抱着冰啤酒吐槽,说上次线上故障,翻了APM系统、日志平台、业务数仓三个地方,花了四十分钟才定位到是某个边缘节点的磁盘满了。最后收尾的话是,早知道直接在Grafana里把三个数据源拼到一个面板上,也不至于熬到三点多。 没人喜欢造轮子。 很多人对Grafana的印象停留在“画折线图的工具”。错的。

被误解的Grafana:它从来不是“高级画图工具”

大部分人对Grafana的认知偏差,来自于它太容易上手了——下载个二进制包,配个Prometheus的地址,五分钟就能画出一张带实时曲线的监控图。这种低门槛的体验,很容易让人忽略它真正的技术定位:它是目前全球应用最广的、不绑定特定存储的可观测性统一前端层。 它本身不存数据。不做实时流计算。甚至不强制你用某一种特定的监控协议。你可以把Graphite的老时序数据、MySQL的业务统计值、Elasticsearch的日志、OpenTelemetry的链路追踪数据、甚至IoT传感器的实时上报值,全部接到同一个界面里,用统一的查询语句拉出来,拼在同一块面板上。 我自己早年搭监控的时候,为了调通一个跨数据源的查询,熬到凌晨两点,最后发现是数据源的权限配错了——那种崩溃感,用过的人都懂。但反过来想,如果不是Grafana把所有数据源的适配层做的足够通用,光自己写代码适配这几十种数据源的连接逻辑,小公司的团队根本扛不住这个成本。 最烦那种上来就说“Grafana就是个套壳前端”的人。你真让他从零搭一个能扛住每秒十万次查询、支持面板秒级刷新的可视化层试试?它在渲染性能、查询语法统一、权限隔离上做的优化,是很多自研监控系统抄都抄不对的地方。
Grafana 多数据源接入架构示意图
Grafana 多数据源接入架构示意图
很多人不知道的冷知识是,不少金融机构的交易实时监控、电力系统的电网运行参数大屏,底层跑的核心面板就是Grafana,只是外面套了一层符合等保要求的合规界面,没人愿意对外说而已。毕竟用开源工具搭出来的系统,稳定性能打住自研团队做的花架子,说出去多少有点丢面子。

跑赢所有商业对手的生态路径

2014年Torkel Ödegaard在瑞典的一家创业公司写第一版Grafana的时候,只是想给自己团队的Graphite监控做个更好看的图。谁能想到十年后,这个项目会变成整个可观测性赛道的事实标准。 现在Grafana Labs的融资估值已经摸到了30亿美元的门槛,旗下的开源项目凑成了完整的LGTM技术栈——用来存时序指标的Mimir、存日志的Loki、存链路追踪的Tempo,再加上面板层的Grafana,整个链路从采集到存储到展示全是开源可自托管的,没有任何强制的厂商绑定。 说实话,这套栈最狠的地方从来不是功能比商业产品强。是它给了所有团队一个“退可守”的选项:你规模小的时候,自己开源搭一套,零成本跑起来;你规模大了,需要企业级的权限、告警、技术支持,直接买商业版的服务就行,不用把之前攒了好几年的面板、告警规则全部推翻重来。
Grafana LGTM 可观测栈组件架构图
Grafana LGTM 可观测栈组件架构图
这种灵活度,是所有云厂商做的商业可观测平台根本比不了的。你想啊,AWS的CloudWatch只能接AWS上的服务,阿里云的ARMS只能管阿里云的资源,如果你是混合云架构,本地机房一套系统,公有云一套系统,要把两边的监控数据拼到一个面板上,光打通权限就要折腾半个月。Grafana呢?只要网络能通,不管你数据存在哪,它都能接进来。 国内的落地场景比很多人想象的要广。去年某头部电商的双11实时大屏,从全平台GMV曲线,到各个物流节点的实时包裹量,到直播间的带宽占用峰值,核心展示层就是Grafana——别觉得那些大促大屏有多神秘,很多时候就是把Grafana开了全屏模式,接了数仓的实时数据源,比自研的大屏系统稳定至少三倍。还有长三角的很多制造工厂,把车间里机床的运行参数、温湿度传感器的读数接进Grafana,在车间的大屏上投实时曲线,成本只有传统工业组态软件的十分之一。

藏在开源光环下的隐忧

藏在开源光环下的隐忧
藏在开源光环下的隐忧
当一个开源工具变成行业默认值的时候,它的问题也会慢慢藏不住。 首先是安全的老问题。这几年Grafana的未授权访问漏洞报了不是一次两次了。很多团队的运维人员搭完Grafana,图方便就把端口直接扔在公网上,连个基础的身份认证都不设,里面存的全是公司的核心业务数据,甚至有的面板开了直接查生产库的权限。之前有安全团队做过统计,全网暴露在公网上的未授权Grafana实例,没有十万也有八万,里面随便翻一翻就能找到某公司的核心交易数据、员工信息。 然后是生态绑架的问题。现在很多SRE团队从入行开始就用Grafana,所有的监控配置、面板的JSON定义、告警规则全是Grafana的专属格式。你想换个别的可视化工具?光把几千个存量面板迁移过去的成本,就够三个工程师不吃不喝干半年。这种迁移成本,其实和商业软件的锁定没有本质区别——只是你当初没花钱而已。 更让老用户吐槽的是开源版的功能迭代。Grafana Labs现在的核心KPI全在商业云的续费率上,很多新的功能,比如高级的告警路由、细粒度的权限管控、AI辅助的根因分析,全部放在付费的商业版里。开源版的界面还是十年前的老样子,很多在GitHub上挂了三四年的功能请求,没人理是常态。我上次跟一个从Grafana Labs出来的工程师聊天,他说现在内部的研发优先级,排第一的永远是商业客户提的需求,社区的反馈?排在最后面。

未来三到五年的几个判断

未来三到五年的几个判断
未来三到五年的几个判断
站在现在的时间点往前看,Grafana不会一直是个“画图表的工具”。 第一,它会往故障响应的全流程渗透。现在他们已经把值班排班、告警升级、故障复盘的功能全部集成进了Grafana的界面,以后SRE团队从发现问题,到拉群通知,到定位根因,到最后写复盘报告,可能全程都不用跳出这个系统。未来的Grafana,更像一个SRE团队的工作入口,而不是单纯的展示面板。 第二,大模型的集成会成为核心功能。现在很多团队的痛点是面板太多了,动辄几千个面板,真出故障的时候,根本不知道该点哪个。以后Grafana肯定会把大模型嵌进去,你直接在搜索框打一句“为什么华东区的订单接口延迟涨了30%”,它自动帮你拉对应的指标、日志、链路数据,直接把可能的根因列出来。这个不是科幻,现在他们的beta版本已经在测试这个功能了。 第三,它和云厂商的关系会变得很微妙。现在很多云厂商已经开始把Grafana作为自己云平台的可选前端,毕竟用户已经习惯了这个界面,硬推自己的自研可视化层根本推不动。但反过来想,如果所有云厂商都把Grafana免费接进去,那Grafana Labs想靠卖商业云服务赚钱的路,会不会被慢慢堵死? 这事儿没人能说准。 不过话说回来,对于普通的使用者来说,不管Grafana以后变成什么样,只要它还能帮我们把分散的数据拼到一个屏幕上,不用再熬大夜翻系统找故障,就够了。

作者|fawen

排版|fawen

审核|满满

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:Grafana:从开源监控工具到可观测性基础设施的进化困局
文章链接:https://lfdjt.com/info_23_30995.html