Superset#
说明:#
业务需要,需要分析经营数据。之前是 elasticsearch + grafana。因为 grafana 属于时序性的可视化工具,对于数据的挖掘与预警不是很给力。所以开始寻找新的开源工具;今天的注脚就是 superset
安装:#
选择了 docker 安装
hub.docker.com 搜了一下。直接用官方方法:
$ docker run -d -p 8080:8088 --name superset apache/superset
With your local superset container already running...
-
Setup your local admin account
$ docker exec -it superset superset fab create-admin \ --username admin \ --firstname Superset \ --lastname Admin \ --email [email protected] \ --password admin
-
Migrate local DB to latest
$ docker exec -it superset superset db upgrade
-
Load Examples
$ docker exec -it superset superset load_examples
-
Setup roles
$ docker exec -it superset superset init
-
Login and take a look -- navigate to http://localhost:8080/login/ -- u/p: [admin/admin]
-
需要装一个 es 插件,因为我的库是 es
$ docker exec -it superset pip install elasticsearch-dbapi
小试牛刀#
导入数据源:elasticsearch
登录后 --> 右上角 setting --> Database Connections
新页面 --> 右上角 +DATABASE 寻找 es。按格式添加就行。
elasticsearch+http://192.168.100.68:9200/
之后的操作就是:
- 创建一个 Datasets;我理解就是一个先从数据库按时间格式搞出一套数据。
- 画图 --Charts;
- 把图添加到 Dashboards;
刚开始我导入的 es 数据没有时间器,不支持序列的图。查看原因是导入的数据日期列给我识别的格式是字符串。网上查了一圈,说是需要在导入的时候,把日期列格式化成 epoch_ms
【假装有图床】
但是我尝试搞了一下不行。最后把数据源删除,重新增加 es 的数据源。
神奇的是 data 列 识别的格式变成 Datetime 了。那这一切问题就好解决了
深入探索:#
画图
1、线、柱、点常规图#
-
这些时间序列的图,基本都 OK。
-
也可以把时间区间随图展示出来,加入到 Dashboards 后,也可以按之前选定的时间大区间内再随意调整显示。
-
高级选项内也可以按时间段分割。求和、平均、最大、最小等。。。
2、饼图#
-
常规正常显示,只能按预选时间段的数据进行显示。
-
相较于线形图,不能提供 datetime 选择性显示。
-
可以选择 sunburst (一种类复合饼图),效果还不错。
3、其他图形#
其他图形也都支持的不错。大部分都测试通过。
总结:#
优点:
- 支持 docker 部署,我比较中意这个。
- 支持导入的数据库也很多,因为我用的 es。测试效果还不错
- 支持的图形种类齐全,可以做出炫酷的 Dashboard
缺点:
- Dashboard 不支持参数。这样就不能按时间选择显示,也不能按条件查询。
- 画图过程太繁琐,导入数据后还得先 Dataset。
- 只能按预先想好的查询语句画图。比较死板!!!
总体来说,还是不错的,只是不符合我的需求。假如只统计提前订好的计划,做出漂亮的 Dashboard 还是很炫酷的!