4. Grafana使用mysql作为数据源,呈现图表

4. Grafana使用mysql作为数据源,呈现图表,第1张

近期在使用python写一套模拟API请求的监控项目,考虑数据可视化这方面就采用grafana来呈现,下面来看看怎么弄。

首先安装好mysql,将监控的日志数据写入到mysql之中。如下图:

好了,这里就已经准备好了相关的测试模拟数据。那么下面就使用Grafana来配置图表看看。

如果有不清楚Grafana怎么安装的朋友,可以点击 这里 查看如何安装部署。

按照脚本我已经设置好了 admin 的密码为 newpwd 了。

输入用户名 admin 和 密码 newpwd ,点击 Log In 登录系统。

在登陆系统后的首页,就可以进行数据源的添加了。

访问不了 localhost:3306 的原因是因为Grafana是使用docker容器启动的,而容器当然没有部署mysql。

所以,修改mysql访问配置如下:

好了,数据源mysql已经配置好了。下一步就是配置图表的呈现了。

下面来编写一个SQL查询来看看。

从上图看出,从mysql中查询的结果直接就可以从Grafana表格呈现了。

好了,基本上table表格已经呈现,但是单纯这样的一个表格满足不了我的胃口。

那么下面就来再整一个曲线图来看看。

我不是想单独增加一个新的面板,而是想在刚刚创建的table上面创建一个曲线图,那么该怎么做呢?

从上这个图表的配置我一开始也没太理解清楚,配置过后,看着图表呈现就更加好的理解了。

根据图表的内容,我查询的分析如上图。

当然还可以呈现更加多的图表,这里就基本介绍到这里啦。

你表中的数据,根据你的题目,应该是全部显示才对。是小于5秒还是5分钟?

下面这个是 两条数据间小于5秒的记录的查询语句

select *,timestampdiff(second,t1.time,

(select time from table3 where t1.id<id order by id limit 1) ) td ,

timestampdiff(second,

(select time from table3 where t1.id>id order by id desc limit 1),t1.time

 ) td1

from table3 t1 where timestampdiff (second,t1.time,

(select time from table3 where t1.id<id order by id  limit 1) )<5

or

timestampdiff(second,

(select time from table3 where t1.id>id order by id desc limit 1),t1.time

 )<5

 

order by t1.id


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7437795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存