最近公司需要使用Grafana做图表展示,监控一下线上指标,正好抽空学习了一下,功能很强大,也踩了不少坑,很多地方的动态配置也弄的一知半解,所以写一篇入门教程,来讲解一下以Mysql作为数据源的grafana图表展示。
Grafana入门教程
1.安装、下载
1. Windows安装下载
https://grafana.com/grafana/download?platform=windows
2.Mac安装下载
1.下载包体
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.0.darwin-amd64.tar.gz
tar -zxvf grafana-enterprise-9.0.0.darwin-amd64.tar.gz
2.Brew下载启动
brew install grafana
brew services start grafana
Grafana入门教程
1.安装、下载
1. Windows安装下载
https://grafana.com/grafana/download?platform=windows
2.Mac安装下载
1.下载包体
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.0.darwin-amd64.tar.gz
tar -zxvf grafana-enterprise-9.0.0.darwin-amd64.tar.gz
2.Brew下载启动
brew install grafana
brew services start grafana
2.导入导出
1.选择某一Dashboad
2.导出json文件
3.选择导入页面
导入即可。
3.进入控制台
Localhost:3000
1.配置数据源Data source
2.配置Dashboard
1.选择想要输出的表格,配置Query参数
2.手写sql语句
3.配置variable
进入某一个Dashboard
e.g
4.查询编辑器
1.Select table, time column and metric column (FROM)
当您第一次进入编辑模式或添加新查询时,Grafana 将尝试使用具有时间戳列和数字列的第一个表预填充查询构建器。
在 FROM 字段中,Grafana 将建议配置数据库中的表。
选择数据库用户有权访问的另一个数据库中的表或视图,您可以手动输入完全限定名称 (database.table),如 otherDb.metrics。
时间列字段是指保存您的时间值的列的名称。为 Metric 列字段选择一个值是可选的。如果选择了一个值,Metric 列字段将用作系列名称。
度量列建议将仅包含具有文本数据类型(text、tinytext、mediumtext、longtext、varchar、char)的列。
如果您想使用具有不同数据类型的列作为度量列,您可以输入带有强制转换的列名:CAST(numericColumn as CHAR)。
您还可以在度量列字段中输入任意 SQL 表达式,这些表达式的计算结果为文本数据类型,如 CONCAT(column1, “ “, CAST(numericColumn as CHAR))。
2.Columns and Aggregation functions (SELECT)
在 SELECT 行中,您可以指定要使用的列和函数。
在列字段中,您可以编写任意表达式,而不是像 column1 * column2 / column3
这样的列名。
如果使用聚合函数,则需要对结果集进行分组。
如果添加聚合函数,编辑器将自动添加 GROUP BY 时间。
您可以通过单击加号按钮并从菜单中选择列来添加更多值列。
多个值列将在图形面板中绘制为单独的系列。
3.Filter data (WHERE)
要添加过滤器,请单击 WHERE 条件右侧的加号图标。
您可以通过单击过滤器并选择移除来移除过滤器。
当前选定时间范围的过滤器会自动添加到新查询中。
4.Gap Filling
当你按时间分组时,Grafana 可以填充缺失值。
time 函数接受两个参数。
第一个参数是您想要分组的时间窗口,第二个参数是您希望 Grafana 填充缺失项的值。
5.Text Editor Mode (RAW)
您可以通过单击图标并选择切换编辑器模式或单击查询下方的编辑 SQL 来切换到原始查询编辑器模式。
如果您使用原始查询编辑器,请确保您的查询至少具有 ORDER BY 时间和返回时间范围的过滤器。
5.Panel Option
解释:
- Tooltip mode也即是鼠标移动到图形上面展示所有的指标,还是展示鼠标位置的指标。用于多条折线指标。
- Legend标志模式,指标的显示类型,表格还是列表等。
- Standard options配置属性,比如单位值,单位范围等。
- Thresholds显示阈值线,比如告警线,警告线等。
- Graph styles图表的样式,直线弯线。
6.Q&S
- 时间间隔8小时
修改时区,Configuration - 》 preferences -》 Timezone -》 选择UTC时间 -> save
或者进入某个Dashboard -》 settings -》 General -》Time options
- Grafana 时间戳转具体时间
Grafana直接会转换,确定好时区即可。
- 如何动态进行传参
进入dashboard settings,选择variable配置,选择数据源或者固定值,如若要传入其他variable,用$value传入。
- 如何进行分组
在添加add panel的时候 右侧有个add a new row添加分隔符。
- Grafana动态连接数据源
某些场景下,可能连接的数据库/或者es下的index是按照时间变化的,这个时候我们可以配置动态的数据。如果还是无法连接到es,确定该账号权限。
[log_abc_]YYYY_MM_DD 用中括号包含参数 YYYY_MM_DD代表通配符
- Grafana如何根据时间选择器动态修改sql语句
官网通过 $_from , $_to来获取属性 https://grafana.com/docs/grafana/latest/variables/variable-types/global-variables/
总结
Grafana是一款很强大可视化监控软件,支持数据源齐全,也包括很强大动态数据源、动态参数功能,也包含丰富多样的图表软件,我觉得比superset、metabase等更为强大多样。
评论