前言

通过数据分析和挖掘,让数据产生价值。一直以来我认为 devops 必须是一个闭环,即 apm,日志,监控着三大系统的数据,必须经过分析对 dev 和 ops 有价值。

数据可视化是大数据的『最后一公里』,做好可视化是对于数据分析是重要的。
今天,主要介绍 redash 这款数据分析的利器。

redash简介

redash 是一款开源的 BI 工具,提供了基于web的数据库查询和数据可视化功能。

k8s与数据分析--利用redash做自助数据分析_redis

支持 SQL, NoSQL, Big Data and API data 等20几种常见的数据源:

k8s与数据分析--利用redash做自助数据分析_数据分析_02

基本上满足了大多数的场景。相比 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。
其他安装方式,见官方文档

简单使用

先上一张实际的效果图:

k8s与数据分析--利用redash做自助数据分析_数据分析_03


包含了 couter 和 area chart。

数据源包括 influxdb 时序数据库,和 mysql 业务库。

k8s与数据分析--利用redash做自助数据分析_sql_04


其中 audit-middware 其实是 Query Results 库。Query Results Data Source 允许你在一些已经存在的查询结果之上再做一些高级的查询, 这样就可以轻易合并一些查询结果。

总结

在实际使用中,redash 和 superset 各有优劣。根据自己的场景来选择吧。查阅资料的过程中,已经有人对 redash 做了二次开发,这也许是深度使用的必经之路。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: k8s