Grafana 小白初体验
Grafana 初体验
初衷
最近想用Grafana来做低代码可视化平台,我采用的是Postgresql数据库,按照教程快速配置好一个Time series 面板后,我很高兴,以为终于可以解放双手了,殊不知是噩梦的开端,这里记录下一些踩坑记录
基础环境
Docker 部署 + Postgresql (最初配置)
.net 9 API (2026-01-05+)
2026-01-05日 记
grafana.ini 配置
位置:/etc/grafana/grafana.ini
why:为了快速测试生成的面板能否融入个人的页面中,开启匿名访问功能,生产环境建议还是使用授权模式
# 允许匿名访问
[auth.anonymous]
enabled = true
org_name = Main Org.
org_role = Viewer
why: 我们的需求需要面板能够频繁刷新,至少需要1s一次,而默认的最低刷新频率为5s,因此调整最低刷新频率为1s
# 调整默认刷新频率
[dashboards]
min_refresh_interval = 1s
SQL 暴漏问题(坑1)
面板嵌入网页后,我习惯性的打开了F12,看下数据交互逻辑,然后就发现两点:
- 面板采用js进行的定时刷新,不是主动推送的数据,因此会受网络、浏览器策略等影响实际的刷新效果
- query中,竟然携带有完整的sql语句,数据库类型等极端敏感信息,really??!
就SQL暴漏问题,解决方案也相当简单:数据源用API就好,可以使用官方的infinity插件提供的能力,但是收费,不过目前我还在测试阶段,提供的免费额度就足够了,反正后边真用了又不用我掏钱,我只管这个插件好不好用就行。目前来看对比JSON、JSON Fetcher等插件,确实要好用不少,可以直接使用我现有的API,不用在给单独开发一个
2026-01-07 日修正
当直接分享整个仪表板时,是没有SQL暴漏问题的,如下:
而直接分享面板时,是有该问题的:
分享出去的面板,右上角会有个探索(Explore)按钮(坑2)
我不确定如果是授权模式会不会有这个,至少匿名模式是有的
这个坑巨大无比,因为你点击后能够调试sql或者API,认真的吗这是???
网上会有一些文章,说你给后缀加上kiosk=true就没有这个按钮了,有的说你给ini中,配置viewers_can_edit = false就好了,更有的说,改代码吧,用黑色theme的做效果,白色theme的改代码后去除按钮,做展示,呵呵哒,我信你个鬼
最终睡了一晚上之后(实际上一晚上没睡好),在ini文件中找到了答案:
# 全局关闭探索按钮
[explore]
enabled = false
不过这个效果也不好,这三个点还在,但至少没有探索按钮了
2026-01-06日 记
饼图pie chart问题(坑1)
数据如下:
| label | value |
|---|---|
| test1 | 100 |
| test2 | 100 |
你们期望的饼图长什么样?至少echarts告诉我他应该长这样:
然后Grafana给的长这样:
看到什么问题了没,grafana的test1和test2的颜色竟然是一样的,然后给数据调整如下(注意test2):
| label | value |
|---|---|
| test1 | 100 |
| test2 | 101 |
嗯,他又正常了
我本来以为是我的配置有问题,就找了官网的演示页面,将数据修改为test1=test2=100,然后官网的演示也是test1和test2一个色儿
然后我同事告诉我,“饼图中相同比例的饼颜色就应该是一样的”,颜色是一样的,认真的吗?
请回答我几个问题:
1. 图例是干什么用的?图例上为什么是label + 不同的颜色,而不是 % + 不同的颜色?
3. 饼的扇形面是做什么用的?为什么不同比例的数据对应的扇形面角度是不一样的?
4. 如果扇形面角度用来表示比例,然后颜色也用来表示比例,那你这饼图的信息熵是不是不对啊?
Look in my eyes,回答我!
我找了一上午没有找到解决方案,最后不甘心又回去翻官方文档,里边确实提供了
以及
两种饼图使用方案。然后我午睡过后突然想到,官方示例和我习惯给echarts用的数据,都是多行数据模式的,那我如果做个行转列,使用文档中提到的单行多列数据会怎样?
于是数据变为了:
| test1 | test2 |
|---|---|
| 100 | 100 |
然后
来来来,大声的再跟我说一遍:“饼图中相同比例的饼颜色就应该是一样的”,呵呵~~~
当然我不可能因为这个再去改我的API,又不是只有Grafana在用我的接口,所以可以增加一个行列转换,

那么当数据源还是多行模式时,Grafana会自动行列转换,并实际按照单行多列渲染,如下:


2026-01-07日 记
分享仪表板和分享面板
- 分享仪表板
- 优点1:不会暴漏SQL、API等信息,因此确实可以如我同事所说直连数据库,减少API服务压力(
抱歉我的同事,是我错怪你了,如果领导愿意接受缺点的话,嗯) - 优点2:仪表板内的面板右上角没有烦人的探索按钮等
- 优点3:待补充…
- 缺点1:仪表板内的面板不能单独控制刷新频率,统一由仪表板控制
- 缺点2:仪表板左上角和右下角会有Grafana的Logo和连接,据查似乎企业版可以定制,我目前使用的是个人版,ini中的[white_labeling]似乎并不起作用。
- 缺点3:待补充…
- 优点1:不会暴漏SQL、API等信息,因此确实可以如我同事所说直连数据库,减少API服务压力(
- 分享面板
- 优点1: 可定制性高,刷新频率、位置、大小等都可以调整
- 优点2:待补充…
- 缺点1:会有暴漏SQL等风险
- 缺点2:右上角有烦人的探索按钮,目前还是只能去除按钮,不能隐藏那三个黑点点
- 缺点3:待补充…
Good morning, and in case I don’t see you, good afternoon, good evening, and good night!
更多推荐




所有评论(0)