grafana mysql插件_Grafana配置mysql展示自定义分组柱状图(Mac)

本文介绍了如何在Mac环境下安装Grafana并配置连接到本地MySQL数据库,展示了如何创建自定义分组的非时序柱状图。通过编辑配置文件grafana.ini连接数据库,并通过brew服务管理重启Grafana。接着,文章演示了如何在Grafana中配置MySQL数据源,构建表结构和录入测试数据。提供了两种SQL查询方式以满足Grafana时间字段要求,最后强调了在展示分组柱状图时时间字段的重要性及不同数据返回格式对图表显示的影响。
摘要由CSDN通过智能技术生成

安装Grafana

安装使用环境为MAC,使用工具安装:

brew update

brew install grafana

配置Grafana连接本地安装的mysql,mysql安装不做说明,配置文件列表如下:

配置文件应该位于/usr/local/etc/grafana/grafana.ini

日志文件应该位于/usr/local/var/log/grafana/grafana.log

如果你想手动安装一个插件放在这里:/usr/local/var/lib/grafana/plugins

默认的sqlite数据库位于 /usr/local/var/lib/grafana

其中,编辑grafana.ini文件连接数据库,重点配置数据库的连接类型,账号,密码,数据库名(切记数据库建立对应的数据库)

cb7cb80a42f9310ecd9f753824831ca0.png

重启Grafana服务

brew tap homebrew/services

brew services start grafana

此时网页访问localhost:3000即为Grafana配置数据源页面(默认账号密码:admin / admin)

bVbaPnW?w=2880&h=1800

配置mysql数据源

连接测试后保存,这样在图表展示数据源勾选默认即为mysql指定数据库,或者勾选指定连接名

084d29e6608e1e92962ee6d76b562b84.png

数据库构建表结构,录入测试数据

7958df4cd300937727588538d73c3249.png

新建一个用于展示的Graph

编辑,鉴于展示目的为不按照时序排列的柱状图,但是Grafana的展示要求有时间字段在列,命名与time相关,故查询时添加time字段为当前时间,返回结果可以为两种可用形式,故展示两种SQL查询:

select

now() as time,

case when (score >=80) then '[80, ~)'

when (score >=60 and score <80) then '[60, 80)'

when (score >=40 and score <60) then '[40, 60)'

when (score >=20 and score <40) then '[20, 40)'

else '(~, 20)'

end grade, count(*) num

from grade group by

case when (score >=80) then '[80, ~)'

when (score >=60 and score <80) then '[60, 80)'

when (score >=40 and score <60) then '[40, 60)'

when (score >=20 and score <40) then '[20, 40)'

else '(~, 20)' end

order by 1;

展示结果为:

4f66d569fc15a0ba00c380d4448a6fca.png

select *, now() as time

from

(select count(*) as '[80, ~)' from grade g where g.score >=80) a,

(select count(*) as '[60, 80)' from grade g where g.score >=60 and g.score <80) b,

(select count(*) as '[40, 60)' from grade g where g.score >=40 and g.score <60) c,

(select count(*) as '[20, 40)' from grade g where g.score >=20 and g.score <40) d,

(select count(*) as '(~, 20)' from grade g where g.score <20) e;

展示结果为:

b881d11a41dee87e1c58d724a2062362.png

重要设置,选择series,选个代表数据是按series分组不是按时间,当前所选时间段进行计算。Y轴仍然表示 值。计算series的avg、min、max、total等。:

fbddcb9814ef7b478833269490357662.png

效果图为:

75f8fc77c8e0527e70c7633709b554e1.png

两种结果都能正常显示,根据显示规律总结为:

返回记录中包含字符串格式的情况下,取字符串值的一列为分组名,对应的柱状图值为avg、min、max、total选择的方法取聚合对应一行记录上的其他数字值:

如果多出来一列字符串值,则图表报错

# 如果没有字符串值列,则取数字列的列名为分组名,对应的柱状图值为每一列分组名下所有值的聚合

返回记录中不包含字符串格式的情况下,取数字列的列名为分组名,对应的柱状图值为每一列分组名下所有值的聚合avg、min、max、total

适用上述所有的,时间字段必须存在,即使目前在分组柱状图中无用,否则会报错,选择format as中的table表现形式为表格,不考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值