k8s与数据分析--利用redash做自助数据分析
前言
在之前文章中,一直讲prometheus的metrics以及apm的指标的重要性,多侧重于收据的收集和存储。如果不对这些数据进行数据分析,那么就没有收集的意义了。通过数据分析和挖掘,让数据产生价值。一直以来我认为devops必须是一个闭环,即apm,日志,监控着三大系统的数据,必须经过分析对dev和ops有价值。
数据可视化是大数据的『最后一公里』,做好可视化是对于数据分析是重要的。
今天,主要介绍redash这款数据分析的利器。
redash简介
redash是一款开源的BI工具,提供了基于web的数据库查询和数据可视化功能。
- 支持 SQL, NoSQL, Big Data and API data等20几种常见的数据源:
基本上满足了大多数的场景。相比
superset,除了上手简单,支持influxdb等时序数据库。这点对于监控数据分析很有优势。
- sql友好的SQL editor,更加高效的编写复杂的sql
随时写,随时查,实时看到查询的效果
支持丰富的可视化展示形式
- Boxplot
- Chart - Line, Bar, Area, Pie, Scatter
- Cohort
- Counter
- Funnel
- Map
- Pivot Table
- Sankey
- Sunburst
- Word Cloud
- 角色权限相关,支持ldap等,方便与企业内部的用户体系打通。
安装和简单使用
安装
如果是想直接体验的话,docker-compose部署最简单,redashgithub仓库中直接提供了docker-compose.production.yml文件,直接docker-compose up -d 即可。
# This is an example configuration for Docker Compose. Make sure to atleast update # the cookie secret & postgres database password. # # Some other recommendations: # 1. To persist Postgres data, assign it a volume host location. # 2. Split the worker service to adhoc workers and scheduled queries workers. version: '2' services: server: image: redash/redash:latest command: server depends_on: - postgres - redis ports: - "5000:5000" environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres" REDASH_COOKIE_SECRET: veryverysecret REDASH_WEB_WORKERS: 4 restart: always worker: image: redash/redash:latest command: scheduler environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres" QUEUES: "queries,scheduled_queries,celery" WORKERS_COUNT: 2 restart: always redis: image: redis:3.0-alpine restart: always postgres: image: postgres:9.5.6-alpine # volumes: # - /opt/postgres-data:/var/lib/postgresql/data restart: always nginx: image: redash/nginx:latest ports: - "80:80" depends_on: - server links: - server:redash restart: always
通过compose文件可以看出,redash依赖redis和pgsql数据库。redis用来缓存一些查询result,而pgsql是元数据库,目前不支持mysql替换pgsql。
其他安装方式,见官方文档
简单使用
先上一张实际的效果图:
包含了couter和area chart。
数据源包括influxdb时序数据库,和mysql业务库。
其中audit-middware 其实是Query Results库。Query Results Data Source 允许你在一些已经存在的查询结果之上再做一些高级的查询, 这样就可以轻易合并一些查询结果。
总结
在实际使用中,redash和superset各有优劣。根据自己的场景来选择吧。查阅资料的过程中,已经有人对redash做了二次开发,这也许是深度使用的必经之路。
为什么非要使用这种开源BI可视化工具?
因为如果是前后端配合的话,工作量会很大。而且也很难实现随时修改随时上线。不过这取决于前期数据的完整性。