精选文章 grafana使用MYSQL数据源展示

grafana使用MYSQL数据源展示

作者:2018_like菜 时间: 2021-02-05 09:43:19
2018_like菜 2021-02-05 09:43:19
【摘要】新增数据源 
Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。 
官方支持以下数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB。 
每个数据源的查询语言和能力都是不同的。 你可以把来自多个数据源的数据组合到一个仪表板das...

新增数据源

Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。

官方支持以下数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB。

每个数据源的查询语言和能力都是不同的。
你可以把来自多个数据源的数据组合到一个仪表板dashboard。

登录grafana 界面

默认用户和密码均为admin

在左侧栏中选中Configuration --> Data sources

grafana使用MYSQL数据源展示1
进入页面后 点击 add data source

grafana使用MYSQL数据源展示2

选择 符合自己的 数据库类型

grafana使用MYSQL数据源展示3

填入相关信息即可

grafana使用MYSQL数据源展示4

新增dashboard

两个入口,可以点击左侧栏的加号新增 dashboard

grafana使用MYSQL数据源展示5
也可以先点击左侧栏dashboard 进入 manage页面

点击 new dashboard 按钮

grafana使用MYSQL数据源展示6

grafana使用MYSQL数据源展示7

可以看到有两个按钮,一个先新建查询条件,一个是先选择展示的视图。 可以任意选择一个进入,编辑过程中可以切换。

使用官方的模版

如果是常用的监控,我们没有必要 一步步的构建我们的视图和查询条件,可以直接使用官方的模版或者 其他用户已经编辑好的模版。

官方模版地址

以mysql各项指标监控为例子。

通过访问官方模版地址来查看已有仪表盘模板,选取合适的使用。

grafana使用MYSQL数据源展示8

有些模版 使用前有相应的 操作说明,比如需要安装my2。

https://github.com/meob/my2Collector

复制模版的id备用

grafana使用MYSQL数据源展示9

回到自己的Grafana节点,打开Import界面

grafana使用MYSQL数据源展示10

粘贴id,点击文本框外 如果找到该模版,会自动跳转。

grafana使用MYSQL数据源展示11

grafana使用MYSQL数据源展示12

选择相应数据源和 放置的目录即可。

成功展示如图:
grafana使用MYSQL数据源展示13

导入导出dashboard的json

有时候我们想要使用的模版并不是官网的,或者因为版本的问题和 没有外网等原因,grafana可能找不到。

grafana使用MYSQL数据源展示14

这种情况可以使用json的方式导入。

步骤如下:

点击获取 【Download JSON】

grafana使用MYSQL数据源展示15

导入时 点击 upload json 选中下载到本地的json即可。

grafana使用MYSQL数据源展示16

假如我们有一个做好的模版想要复用或者备份,也可以导出json。

点击 右上角的 share dashboard

grafana使用MYSQL数据源展示17

点击export 中的 view json即可

grafana使用MYSQL数据源展示18

grafana使用MYSQL数据源展示19

自定义表格

比如我们在mysql数据中有一个表格如下:

grafana使用MYSQL数据源展示20

想要在 grafana中展示,则需要使用同样的sql

select id   as '序号', apartment   as '型号', area   as '面积', floor   as '层数', buildtime   as '建造时间', all_price   as '总价', unit_price   as '单价'
from `basic`

根据之前的步骤新建dashboard,选择add query。

grafana使用MYSQL数据源展示21

在Query的下拉框 选中我们的数据源。

这里 sql语句有两种模式,一种是 build模式,填入相应的字段即可。

不过sql模式 更直观一些。

点击Edit SQL。

输入如上 sql语句。

点击左侧栏的visualiztion,选中table。

grafana使用MYSQL数据源展示22

回到 sql界面,format as 选中table即可

grafana使用MYSQL数据源展示23

点击右上角的保存按钮。

即可在 dashboard中查看如图,点击右下角可以拖拽 拉长拉宽。

grafana使用MYSQL数据源展示24

grafana使用MYSQL数据源展示25

自定义图形

我们已经尝试了展示表格,实际上 图形也是常用的展示,以下 举一些常用的例子。

重点说明 graph的参数,其他图形 可以参考graph的参数。

变化趋势:Graph面板

Graph面板是最常用的一种可视化面板,其通过折线图或者柱状图的形式显示监控样本随时间而变化的趋势。例如,当需要查看主机CPU、内存使用率的随时间变化的情况时,可以使用Graph面板。同时,Graph还可以非常方便的支持多个数据之间的对比。

创建Graph —曲线图

点击左侧栏的创建Create ----》 dashboard --》Choose Visualization 选中graph。

点击左侧大图标的 Queries。

在Query下拉框中选中 数据源。

点击 Edit SQL

输入 想要展示的sql语句,需要注意的是,语句中需要包含time_sec 和 metric 以及 value 。

按照如下格式:

SELECT
  UNIX_TIMESTAMP() as time_sec,
   as value,
   as metric
FROM 
WHERE $__timeFilter(time_column)
ORDER BY  ASC
 

time_sec 表示发生的时间,与x轴对应,该字段的数据必须为时间格式。
value 表示 数值 与 y轴对应
metric 表示 系列,也就是有几根线,可以看成是分组

我的语句如下:

SELECT
  UNIX_TIMESTAMP(insert_time) as time_sec,
  unit_price as value,
  concat(area,"平米") as metric
FROM basic
WHERE $__timeFilter(insert_time)
ORDER BY insert_time ASC

$__timeFilter() 表示只选中该字段值是时间的 数据。
UNIX_TIMESTAMP()则表示 转换为 时间戳

注意 如果我们的数据不是持续产生的话, 需要 在右上角 展示时间段内 调整下 展示时间段, 比如我的数据只有4月份的,所以需要调整成 展示最近1年。

展示如下:
grafana使用MYSQL数据源展示26

创建Graph —柱状图

柱状图 的创建方式跟 曲线图一致,区别在于 需要在visualization 中 把模式Draw modes 调整成 bar。

grafana使用MYSQL数据源展示27

这时候 我们发现 如果按照 insert_time 作为 x轴坐标,不符合我们想要看的 纬度,则可以 对 sql 语句进行修改,重新制定分组,然后 在Axes 中 调整X-Axis调整 x轴的mode 为 按系列分,选中series 。 如下:

SELECT
  now() as time_sec,
  unit_price as value,
  concat(area,"平米") as metric
FROM basic
WHERE unit_price < 20000
group by metric
ORDER BY metric ASC

grafana使用MYSQL数据源展示28

结果如图:
grafana使用MYSQL数据源展示29

如果数据很多,x轴排列不下,我们可以取消 x轴的文字显示,而是在下面使用标注的显示方式。

在Axes 中 调整X-Axis调整 x轴的show 为 关闭
grafana使用MYSQL数据源展示30

在Legend 中 调整Options 的show 为 打开

grafana使用MYSQL数据源展示31
效果如图:
grafana使用MYSQL数据源展示32

配置说明

Graph里面的选项有:

General(常规选择)、Axes(坐标轴)、Legend(图例)、 Display(显示样式)、Alert(告警)、Time range(时间范围)

不同版本会有差异。

1)General(常规选择:http://docs.grafana.org/features/panels/graph/)

grafana使用MYSQL数据源展示33

General允许定制面板的外观和菜单选项。

General Options

Title:仪表盘上的面板标题

Description:仪表盘描述信息

Transparent :是否透明,选择之后会把该图的背景去掉,即透明状态

Repeat panel:是否重复panel,填写是重复的变量(参考后文变量配置),即这个标题名中添加对应的变量,引用该变量需添加$,图标题即可随着自选的变量而变化。

panel links(为当前panel增加超链接)

(2)Axes(坐标轴)

grafana使用MYSQL数据源展示34
Left Y和Right Y可以自定义,即可以设置多重坐标轴,方便对比查看

Show:是否显示,可以通过从显示轴中取消适当的框来隐藏轴。

Unit:y轴的显示单元

Scale:Y轴的间隔度。选择“log base 2”以double的速度递增,(0、1、2、4、8…),选择“log base 32”,就是(0、1、32…)

Y-Min:Y轴的最小值(默认atuo)

Y-Max:Y轴的最大值(默认atuo)

Lable:Y轴的文本标签

(3)Legend(图例)

grafana使用MYSQL数据源展示35

通过选择显示复选框隐藏图例。如果它被显示,它可以通过检查表复选框显示为一个值表。没有值的系列可以使用隐藏空复选框,从而在图例中隐藏。

options:

show:是否显示图例

as table:作为表格样式显示

to the right:显示在右边

values:

在图例中,显示每个series的max\min\avg\total\current,能设置小数点位数。在图上显示,

通过点击列标题(如果保存的话,这个选项将会被持久化)来排序,通过min/max/avg来排序。

点击图例,也可单独显示某个series。

(4)Display(显示样式)

grafana使用MYSQL数据源展示36

1、Draw option

Draw Modes:Bars(柱状图)、lines(折线图)、Points(点)

Mode Options:Fill(充满区域透明度),Line Width(线宽度),Staircase(是否阶梯),Point Radius(点的半径,以此控制点的大小)

Hover tooltip

Mode:All series(鼠标移到点上显示所有图例的值),single(鼠标移到点上显示该series图例的值)

Sort order:None(按图例排列顺序显示),increaseing(值的从小到大递增),Decreasing(值从大到小递减)

Stacking&Null value :stack(多series是否堆叠显示),percent(百分比),Null value:空值怎么显示(connected:null值被忽略,直线直接跳转到下一个值,null:空值被保留为空,这将在图中留下空白区域,null as zero:空值被绘制为零值)

2、series overrieds:多坐标轴重写,即可以在这里设置y轴正负轴或z轴的正负轴,需要选择对应的指标,而且因指标、指标别名的变化需重新设置,设置完成后对比效果更好

alias or regex:series图例名称

Y-axis:显示在Y轴左右哪边,

z-index(多series显示前后位置),

stack:堆叠,可选择,metric中A\B\C\D哪个。

transform(negative-Y:将值显示为负数)

fill below to:(将两者值充满颜色 ,由上往下从大值到小值,所以不可以写成min fill below tu max写法如图:)

3、Thresholds & Time regions:

grafana使用MYSQL数据源展示37

Thresholds 可以写多条临界值在界面上显示,大于400,和大于600两个。如设置了alert,就不能设置这个。

Time regions 时间区域允许你突出特定的时间区域图的,更容易看到例如周末营业时间和/或工作时间。

(5)Alert(告警)

grafana使用MYSQL数据源展示38

Alert Config

Name & Evaluation interval:在这里可以指定警报规则的名称,以及调度器应该多长时间对警报规则进行评估。

Conditions:目前唯一存在的条件类型是一个查询条件,允许您指定查询字母(metric里查询语句的字母,代表哪个查询语句)、时间范围和聚合函数。

Notifications

在警告选项卡中,还可以指定警报规则通知,以及关于警报规则的详细信息。这个消息可以包含任何信息,关于如何解决这个问题的信息,链接到runbook等。实际的通知被配置并在多个警报之间共享。

State History

警戒状态的变化都被记录在内部注释Grafana的数据库表。状态更改可视为警报规则的图形面板中的注释。

graph更多解析可参考:https://www.jianshu.com/p/7e7e0d06709b

分布统计:Heatmap面板

Heatmap是是Grafana v4.3版本以后新添加的可视化面板,通过热图可以直观的查看样本的分布情况。
在Grafana v5.1版本中Heatmap完善了对Prometheus的支持。

创建步骤:

点击左侧栏的创建Create ----》 dashboard --》Choose Visualization 选中 Heatmap。

点击左侧大图标的 Queries。

在Query下拉框中选中 数据源。

点击 Edit SQL

输入 想要展示的sql语句,需要注意的是,语句中需要包含time_sec 和 metric 以及 value 。

按照如下格式:

SELECT
  UNIX_TIMESTAMP() as time_sec,
   as value,
   as metric
FROM 
WHERE $__timeFilter(time_column) ORDER BY ASC

语句可以相应修改,比如我需要看 不同的时间段中面积的分布。

使用sql如下:

SELECT
  UNIX_TIMESTAMP(insert_time) as time_sec,
  unit_price as value
FROM basic
WHERE 1=1

效果如图:

目前 Heatmap 只支持使用时间作为 X轴,暂时没发现可以不使用时间作为X轴的方法。

grafana使用MYSQL数据源展示39

当前状态:SingleStat面板

Singlem Panel侧重于展示系统的当前状态而非变化趋势。如下所示,在以下场景中特别适用于使用SingleStat:

当前系统中所有服务的运行状态;
当前基础设施资源的使用量;
当前系统中某些事件发生的次数或者资源数量等。

创建步骤:

点击左侧栏的创建Create ----》 dashboard --》Choose Visualization 选中 SingleStat。

点击左侧大图标的 Queries。

在Query下拉框中选中 数据源。

点击 Edit SQL

输入 想要展示的sql语句,需要注意的是,语句中需要包含time_sec 和 metric 以及 value 。

使用SQL如下:

SELECT
  now() as time,
  sum(all_price) as value
FROM basic
WHERE 1=1

需要注意的是 SingleStat使用的sql,除了必备的time字段外, 必须只有一个值,也就是总的数值。

如下所示,是使用SingleStat进行数据可视化的显示效果:

grafana使用MYSQL数据源展示40

使用变量

在Grafana中可以为Dashboard定义一组变量(Variables),变量一般包含一个到多个可选值。

通过Dashboard页面的Settings选项,可以进入Dashboard的配置页面并且选择Variables子菜单:

grafana使用MYSQL数据源展示41
用户需要指定变量的名称,后续用户就可以通过$variable_name的形式引用该变量。

Grafana目前支持7种不同的变量类型。

类型工作方式
Query允许用户通过Datasource查询表达式的返回值动态生成变量的可选值
Interval该变量代表时间跨度,通过Interval类型的变量,可以动态改变PromQL区间向量表达式中的时间范围。如rate(node_cpu[2m])
Datasource允许用户动态切换当前Dashboard的数据源,特别适用于同一个Dashboard展示多个数据源数据的情况
Custom用户直接通过手动的方式,定义变量的可选值
Constant常量,在导入Dashboard时,会要求用户设置该常量的值
Text box输入框,允许用户输入
Ad hoc filters非常特殊的变量,目前仅适用于某些数据源,InfluxDB和Elasticsearch。它允许您添加键/值过滤器,这些过滤器将自动添加到使用指定数据源的所有度量标准查询中

我们以Text box演示变量的用法,以SingleStat面板为例。

首先设置好环境变量名和类型如下:

grafana使用MYSQL数据源展示42

点击Add 按钮 看到创建变量成功如下:

grafana使用MYSQL数据源展示43

点击左边的save按钮,填入版本描述信息。

点击左上的箭头回到 编辑图表界面。

点击左侧的General按钮,在title栏里输入 单价小于$max_price的房子总价,发现变量生效了。

grafana使用MYSQL数据源展示44

sql中使用如下:

SELECT
  now() as time,
  sum(all_price) as value
FROM basic
WHERE unit_price < '${max_price}'

保存dashboard后 在 界面上即可通过输入 变量 进行 筛选了。

grafana使用MYSQL数据源展示45

更多图表json参考

自定义组件–Dashboard List Panel等
https://grafana.com/docs/grafana/latest/features/panels/dashlist/

模版
https://github.com/percona/grafana-dashboards/tree/master/dashboards

模版
http://grafana.openstack.org/dashboards

模版
http://47.96.36.117:3000/d/000000002/nginxfang-wen-tong-ji?orgId=1

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Java Optional类源码解析和用法

下一篇:Yolo系列详解

您可能感兴趣

  • 如何制作和使用帮助文件

    如何制作和使用帮助文件  整理编辑:China ASP    带 有 帮 助 文 件 的 应 用 程 序 无 论 对 程 序 员 还 是 用 户 都 是 不 同 凡 响 的, 它 能 节 省 印 刷 大 量 用 户 手 册 的 开 支, 对 程 序 员 编 辑 修 改 和 用 户 手 册 的 复 制 保 存 都 极 为 方 便。 帮 助 文 件 的 另 一 个 很 有 前 景 的 应 用 是...

  • 使用ASP和Word进行服务器端拼写检查

    编译 甘冀平(2000-09-26) 本文讨论的问题与下列方面相关: Microsoft Word 97 for Windows Microsoft Visual InterDev, version 6.0 Microsoft Internet Information Server version 4.0 概要 本文描述了如何使用Microsoft Word在Web页面ASP文件中添加拼写检...

  • MySQL based on Linux by C

    int LoginJudge(USER_ACCOUNT req){      int i=0;  char *name;  char *reqname;   char *password;  char *reqpass;   reqname=req.Name;  reqpass=req.Password;   if(!(mysql_connect(&mysql,NULL,"root","11...

  • Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用

    --------------------------------------------------------------------------------Windows 的资源文件不管在Dos下编程还是在Windows下编程,我们总是要用到除了可执行文件外的很多其他数据,如声音数据,图形数据,文本等等,在Dos下编程,我们可以自己定义这些文件的格式,但这样一来就造成了很多资源共享的问题...

  • Win32汇编教程六 工具栏和状态栏的使用

    --------------------------------------------------------------------------------有关工具栏和状态栏工具栏和状态栏也是Windows标准界面的组成部分,工具栏一般位于菜单栏的下方,上面是一些系统定义的或自己定义的图片,可以通俗地显示这个按钮的作用。状态栏一般位于窗口的最下方,用来显示程序运行中的一些信息。工具栏和状...

  • 基于MySQL的高性能数据库应用开发

    在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开始,我们采用了MS SQL Server 6.5 作为数据库系统,用Visual C++ 6.0开...

  • 使用Rundll32.exe和Rundll.exe

    福州 Pasic 常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个文件不会陌生吧,不过,由于这两个程序的功能原先只限于在微软内部使用,因而真正知道如何使用它们的朋友想必不多。那么好,如果你还不清楚的话,那么就让我来告诉你吧。  首先,请你做个小实验(请事先保存好你正在运行的程序的结果,否则...

  • 系统钩子的使用

    Win32全局钩子在VC5中的实现  ·贺成士   Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
grafana使用MYSQL数据源展示介绍:华为云为您免费提供grafana使用MYSQL数据源展示在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多grafana使用MYSQL数据源展示的相关内容。| 移动地址: grafana使用MYSQL数据源展示 | 写博客