zoukankan      html  css  js  c++  java
  • granfna展示mysql数据源

    一、介绍

    官方文档

    二、添加mysql数据源

    1. 单击顶部标题中的Grafana图标,以打开侧面菜单。
    2. 在该Dashboards链接下的侧面菜单中,您将找到一个名为的链接Data Sources。
    3. 单击+ Add data source顶部标题中的按钮。
    4. 从类型下拉列表中选择MySQL

    1.数据源选项

    名称 描述
    名称 数据源名称。这是您在面板和查询中引用数据源的方式。
    默认 默认数据源意味着将为新面板预先选择它。
    主办 MySQL实例的IP地址/主机名和可选端口。
    数据库 MySQL数据库的名称。
    用户 数据库用户的登录名/用户名
    密码 数据库用户密码
    最大开度 默认情况下,与数据库的最大打开连接数unlimited(Grafana v5.4 +)。
    最大闲置 空闲连接池中的最大连接数,默认2(Grafana v5.4 +)。
    最大寿命 可以重用连接的最长时间(以秒为单位),默认为14400/ 4小时。该值应始终低于MySQL(Grafana v5.4 +)中配置的wait_timeout

    2.最小时间间隔

    $ __ interval和$ __ interval_ms变量的下限。建议设置为写入频率,例如,1m如果每分钟写入一次数据。
    也可以在仪表板面板中的数据源选项下覆盖/配置此选项。重要的是要注意,此值需要格式化为数字,后跟有效的时间标识符,例如1m(1分钟)或30s(30秒)。
    支持以下时间标识符:Y M W d h m s ms

    3.数据库用户权限

    granfna对查询语句不做检查,也就是说类似drop和delete的操作也可以执行。所以要创建一个单独的用户,限制为查询权限。

    CREATE USER 'grafanaReader' IDENTIFIED BY 'password';
    GRANT SELECT ON mydatabase.mytable TO 'grafanaReader';
    

    三、新建模板

    新建模板,在保存时才可以设置名称。

    四、time series查询编辑器

    示例:Time series查询

    time series在编辑查询的时候有很多grafana默认的设置:

    1. 查询必须返回一列time,该列返回SQL日期时间或表示Unix纪元的任何数字数据类型。也就是示例中的time column设置。
    2. 除time和metric以外的任何列均被视为值列。也就是示例中select。
    3. 返回一个名为metricvalue的列,该列用作度量标准名称。也就是示例中的metric column设置。
    4. 如果返回多个值列和名为的列,metric则此列将用作系列名称的前缀(仅在Grafana 5.3+中可用)。

    1.Format as

    format as 可选择两种:table和Time series。table比较简单,sql的约束也少,基本上就是mysql的查询结果,按表格展示出来。
    time series有一些麻烦,本文也重点讲time series

    2.宏

    宏示例 描述
    $__time(dateColumn) 将被表达式替换以转换为UNIX时间戳并将列重命名为time_sec。例如,UNIX_TIMESTAMP(dateColumn)为time_sec
    $__timeEpoch(dateColumn) 将被表达式替换以转换为UNIX时间戳并将列重命名为time_sec。例如,UNIX_TIMESTAMP(dateColumn)为time_sec
    $__timeFilter(dateColumn) 将使用指定的列名替换为时间范围过滤器。例如,dateColumn BETWEEN FROM_UNIXTIME(1494410783)和FROM_UNIXTIME(1494410983)
    $__timeFrom() 将由当前活动时间选择的开始代替。例如,FROM_UNIXTIME(1494410783)
    $__timeTo() 将被当前活动时间选择的结尾替换。例如,FROM_UNIXTIME(1494410983)
    $__timeGroup(dateColumn,'5m') 将由GROUP BY子句中可用的表达式替换。例如,* cast(cast(cast(UNIX_TIMESTAMP(dateColumn)/(300)签名)300签名)),
    $__timeGroup(dateColumn,'5m', 0) 与上述相同,但具有填充参数,因此该系列中的缺失点将由grafana添加,并将0用作值。
    $__timeGroup(dateColumn,'5m', NULL) 与上述相同,但将NULL用作缺失点的值。
    $__timeGroup(dateColumn,'5m', previous) 与上面相同,但是如果未看到任何值但将使用NULL,则该系列中的先前值将用作填充值(仅在Grafana 5.3+中可用)。
    $__timeGroupAlias(dateColumn,'5m') 将替换为与$ __ timeGroup相同,但添加的列别名(仅在Grafana 5.3+中可用)。
    $__unixEpochFilter(dateColumn) 将使用指定列名的时间范围过滤器替换,时间以Unix时间戳表示。例如,dateColumn> 1494410783和dateColumn <1494497183
    $__unixEpochFrom() 将被当前活动时间选择的开始替换为Unix时间戳。例如1494410783
    $__unixEpochTo() 当前活动时间选择的结尾将被替换为Unix时间戳。例如1494497183
    $__unixEpochNanoFilter(dateColumn) 将被使用指定列名的时间范围过滤器替换,时间以纳秒时间戳表示。例如,dateColumn> 1494410783152415214和dateColumn <1494497183142514872
    $__unixEpochNanoFrom() 将被当前活动时间选择的开始替换为纳秒时间戳。例如1494410783152415214
    $__unixEpochNanoTo() 当前活动时间选择的结尾将被替换为纳秒级时间戳。例如1494497183142514872
    $__unixEpochGroup(dateColumn,'5m', [fillmode]) 与$ __ timeGroup相同,但时间存储为Unix时间戳(仅在Grafana 5.3+中可用)。
    $__unixEpochGroupAlias(dateColumn,'5m', [fillmode]) 与上述相同,但还添加了列别名(仅在Grafana 5.3+中可用)。

    3.Generated Sql

    SELECT
      UNIX_TIMESTAMP(data_statistic_time) DIV 600 * 600 AS "time",
      channel_spec AS metric,
      count(data_gather_count) AS "采集量"
    FROM data_statistic
    WHERE
      data_statistic_time BETWEEN FROM_UNIXTIME(1596791926) AND FROM_UNIXTIME(1597396726)
    GROUP BY 1,2
    ORDER BY UNIX_TIMESTAMP(data_statistic_time) DIV 600 * 600
    
  • 相关阅读:
    第五十四天:jQuery内容的基础:
    第五十三天dom基础
    第五十二天js的&#183;进阶
    第五十一天js的基础
    第四十九天css进阶
    第四十八天 html中的form和css基础
    第四十七天:web中德html初级:
    第42天IO模块
    第四十一天:协程操作
    第四十天线程的进阶
  • 原文地址:https://www.cnblogs.com/zhaobowen/p/13493545.html
Copyright © 2011-2022 走看看