最近公司需要使用Grafana做图表展示,监控一下线上指标,正好抽空学习了一下,功能很强大,也踩了不少坑,很多地方的动态配置也弄的一知半解,所以写一篇入门教程,来讲解一下以Mysql作为数据源的grafana图表展示。
https://grafana.com/grafana/download?platform=windows
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
brew install grafana
brew services start grafana
https://grafana.com/grafana/download?platform=windows
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
brew install grafana
brew services start grafana
Localhost:3000
进入某一个Dashboard
e.g
当您第一次进入编辑模式或添加新查询时,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))。
在 SELECT 行中,您可以指定要使用的列和函数。
在列字段中,您可以编写任意表达式,而不是像 column1 * column2 / column3
这样的列名。
如果使用聚合函数,则需要对结果集进行分组。
如果添加聚合函数,编辑器将自动添加 GROUP BY 时间。
您可以通过单击加号按钮并从菜单中选择列来添加更多值列。
多个值列将在图形面板中绘制为单独的系列。
要添加过滤器,请单击 WHERE 条件右侧的加号图标。
您可以通过单击过滤器并选择移除来移除过滤器。
当前选定时间范围的过滤器会自动添加到新查询中。
当你按时间分组时,Grafana 可以填充缺失值。
time 函数接受两个参数。
第一个参数是您想要分组的时间窗口,第二个参数是您希望 Grafana 填充缺失项的值。
您可以通过单击图标并选择切换编辑器模式或单击查询下方的编辑 SQL 来切换到原始查询编辑器模式。
如果您使用原始查询编辑器,请确保您的查询至少具有 ORDER BY 时间和返回时间范围的过滤器。
解释:
修改时区,Configuration - 》 preferences -》 Timezone -》 选择UTC时间 -> save
或者进入某个Dashboard -》 settings -》 General -》Time options
Grafana直接会转换,确定好时区即可。
进入dashboard settings,选择variable配置,选择数据源或者固定值,如若要传入其他variable,用$value传入。
在添加add panel的时候 右侧有个add a new row添加分隔符。
某些场景下,可能连接的数据库/或者es下的index是按照时间变化的,这个时候我们可以配置动态的数据。如果还是无法连接到es,确定该账号权限。
[log_abc_]YYYY_MM_DD 用中括号包含参数 YYYY_MM_DD代表通配符
官网通过 $_from , $_to来获取属性
https://grafana.com/docs/grafana/latest/variables/variable-types/global-variables/
Grafana是一款很强大可视化监控软件,支持数据源齐全,也包括很强大动态数据源、动态参数功能,也包含丰富多样的图表软件,我觉得比superset、metabase等更为强大多样。