Grafana+MySQL(4)grafana展示mysql表数据:生成折线图
发布时间
阅读量:
阅读量
背景
grafana展示mysql源数据,且以折线形式展示。
MySQL表内数据格式如下:

折线图 仅需各个接口在point_time处的rps值以及第99百分位响应时间, 其他字段无需考虑.

添加折线图
在Dashboard中添加一个Panel,在右侧菜单中选择Time Series选项,并从该选项中创建一个新的Panel来显示时间序列数据。
首先,在左侧菜单找到Data Sources选项卡并点击进入。
然后切换至SQL编辑模式,并编写相应的查询语句。
最后,在左侧菜单找到Data Sources选项卡并点击进入。
完成后,请确保所有设置都已正确保存,并重启应用程序以应用新的配置。

SQL如下:
SELECT
date_sub(point_time, interval +8 hour) AS "time",
'每秒请求数' as metric,
ROUND(rps) AS RPS
FROM report_flow_data
WHERE path = "$path"
AND service = "$service"
AND $__timeFilter(point_time)
ORDER BY point_time asc
sql
__$timeFilter(point_time)的作用是将查询中的时间范围替换为Grafana用户自定义的时间范围。
ROUND(rps) AS RPS 同样地也可以表示为 ROUND(rps) AS value
添加多折线图
添加两个Query,选择SQL Edit模式,输入下面的SQL语句
---折线1 Query A---
SELECT
date_sub(point_time, interval +8 hour) AS "time",
'每秒请求数' as metric,
ROUND(rps) AS RPS
FROM report_flow_data
WHERE path = "$path"
AND service = "$service"
AND $__timeFilter(point_time)
ORDER BY point_time asc
sql

---折线2 Query B---
SELECT
date_sub(point_time, interval +8 hour) AS "time",
'p99响应时间(ms)' as metric,
ROUND(p99_response_time) AS P99RT
FROM report_flow_data
WHERE path = "$path"
AND service = "$service"
AND $__timeFilter(point_time)
ORDER BY point_time asc
sql

效果如下:

全部评论 (0)
还没有任何评论哟~
