前言
当业务成长到一定规模之后,会有许多想看各种不同类型报表的需求,如果单独做在后台,那么无疑会浪费前端和后端开发的时间。所以一直都有在寻找一款好用的BI工具。
后面查了一下,市面上好用的一些非商业的BI工具,主要的是 Superset,Redash, Metabase 这三种。
评测请看:
数据可视化的开源方案: Superset vs Redash vs Metabase (一)
数据可视化的开源方案: Superset vs Redash vs Metabase (二)
刚开始采用的是 Superset 这个工具,后面发现从使用体验上来看的话,感觉不好用。 而且文档比较混乱, 最重要的是不支持 mongo。
后面考虑到自己项目的使用情况, 再加上大部分的编写人员都是技术人员,所以后面就选了 Redash 打算先试用一下。
安装
参照官方文档采用docker安装: 官方docker安装文档
前置环境
docker, docker compose, nodejs 都要安装,这边就不细讲了。
git clone 库
1 | git clone https://github.com/getredash/redash.git |
启动docker 服务(走不通)
1 | docker-compose up |
但是发现一直报这个错误:
好像是 pip 的版本太低了,要升级到 18.1 版本。但是我后面升上去之后呢:
1 | [root@VM_156_200_centos redash]# pip -V |
他还是继续给我报这个bug???
docker-compose.production.yml文件
后面就重新参照了这个教程: redash安装及使用
编辑docker-compose.production.yml文件,将数据目录映射出来以及更改密码。就改两个地方:
运行命令完成数据库初始化操作
1 | docker-compose -f docker-compose.production.yml run --rm server create_db |
1 | [root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml run --rm server create_db |
利用docker-compose启动docker运行起来
1 | docker-compose -f docker-compose.production.yml up |
1 | [root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml up |
发现报错了,原来是 nginx的镜像启动失败,80 端口被占用了, 查了一下 docker 容器,发现确实有两个之前就运行的nginx容器还在跑,那就把这个两个容器删掉:
1 | [root@VM_156_200_centos redash]# docker ps |
这样就删掉了, 重试一下:
1 | [root@VM_156_200_centos redash]# docker-compose -f docker-compose.production.yml up |
这样就跑起来了。 接下来就访问 http://119.xx.xx.28/setup 可以看到已经有站点了, 这个就是设置页面:
这时候看了一下 docker 的容器,就会发现 redash 有5个相关的容器:
1 | [root@VM_156_200_centos redash]# docker ps |
设置管理员的用户名和密码
使用
web 页面添加数据源
在这边可以添加数据源:
添加一个新的, 然后选择 mysql:
然后就输入连接配置,这样就连接上了。
我这边配了两个mysql
创建一条query
点击新建query,然后写入sql,生成数据:
可以看到,有数据出来了。 接下来选择 New Visualization 来创建图表
命名完之后, 点击 save ,然后点击右上角的 publish,就可以发布出去了, 就可以在queries列表看到了
创建dashboard
点击创建一个新的dashboard:
点击 Edit,然后点击下面的 Add Widget, 添加query, 将刚才创建的query以图表的方式加进去
最后publish,就可以看到了:
总结
基本上基础的安装和使用就这样子了,至于后面更细的,得看redash对业务的使用情况。