Grafana + Mysql 可视化报表搭建指南

Grafana + Mysql 可视化报表搭建指南

Grafana 是大规模指标数据可视化展现的开源工具,广泛应用于监控报警、数据分析。它可以支持多种数据源,包括 Graphite,Elasticsearch,CloudWatch,InfluxDB,OpenTSDB,Prometheus,MySQL,Postgres,Microsoft SQL Server (MSSQL)。

这里介绍下在 Mac 环境下,使用 MySQL 作为数据源时,搭建 Grafana 的流程。

安装并启动 Mysql

从官网下载 dmg 安装包:https://dev.mysql.com/downloads/mysql/

注意安装过程中保存这个密码,这是首次登陆 mysql 时的 root 密码:

enter image description here

从 Mac 的系统偏好设置打开 Mysql,如下图,点击 Start MySQL Server 就启动了 Mysql。

enter image description here

打开终端,用命令行操作 Mysql,首先登陆,密码就是安装过程中显示的那个密码:

mysql -u root -p

登陆之后首先要修改密码,否则执行 sql 命令都会失败:

SET PASSWORD = PASSWORD('123456');

接下来创建给 Grafana 作为数据源的 database 和 table,table 包括两列,time 作为横轴数据,counter 作为纵轴数据:

CREATE DATABASE grafana;
USE grafana;
CREATE TABLE counter_table (time DATETIME, counter INT);

写入一些测试数据:

INSERT INTO counter_table (time, counter) VALUES ('2018-10-27 09:00:00', 5);
INSERT INTO counter_table (time, counter) VALUES ('2018-10-27 10:00:00', 1);
INSERT INTO counter_table (time, counter) VALUES ('2018-10-27 11:00:00', 10);

安装并启动 Grafana

brew update
brew install grafana
brew tap homebrew/services
brew services start grafana

浏览器设置 Grafana

通过浏览器打开:http://localhost:3000/,首先设置 Data Sources,按如下图所示设置即可:

enter image description here

然后新建一个 Graph 类型的 dashboard,点击 Panel Title,从列表中选择 Edit:

enter image description here

接下来将 Data Source 设置成上面给 Data Source 起的名字,并设置 sql 语句:

SELECT
  UNIX_TIMESTAMP(time) as time_sec,
  counter as value,
  'counter' as metric
FROM counter_table
WHERE $__timeFilter(time)
ORDER BY time ASC

enter image description here

最后调整好时间范围,mysql 的数据就展示在了报表上了:

enter image description here

最终的显示效果:

enter image description here

发表评论

电子邮件地址不会被公开。 必填项已用*标注