Advertisement

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
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-16/4l1pAVLyK5XW7ozqd0kZjEbfcs36.png)
复制代码
    ---折线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
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-16/EzbjY07AahD8ik1R24veZLVgHuGI.png)

效果如下:

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~