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

智极拓荒说
• 阅读 9830

前言

在之前文章中,一直讲prometheus的metrics以及apm的指标的重要性,多侧重于收据的收集和存储。如果不对这些数据进行数据分析,那么就没有收集的意义了。通过数据分析和挖掘,让数据产生价值。一直以来我认为devops必须是一个闭环,即apm,日志,监控着三大系统的数据,必须经过分析对dev和ops有价值。
数据可视化是大数据的『最后一公里』,做好可视化是对于数据分析是重要的。
今天,主要介绍redash这款数据分析的利器。

redash简介

redash是一款开源的BI工具,提供了基于web的数据库查询和数据可视化功能。
k8s与数据分析--利用redash做自助数据分析

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

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

基本上满足了大多数的场景。相比
superset,除了上手简单,支持influxdb等时序数据库。这点对于监控数据分析很有优势。

  • sql友好的SQL editor,更加高效的编写复杂的sql

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

随时写,随时查,实时看到查询的效果

  • 支持丰富的可视化展示形式

    • Boxplot
    • Chart - Line, Bar, Area, Pie, Scatter
    • Cohort
    • Counter
    • Funnel
    • Map
    • Pivot Table
    • Sankey
    • Sunburst
    • Word Cloud

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

  • 角色权限相关,支持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做自助数据分析

包含了couter和area chart。
数据源包括influxdb时序数据库,和mysql业务库。

k8s与数据分析--利用redash做自助数据分析
其中audit-middware 其实是Query Results库。Query Results Data Source 允许你在一些已经存在的查询结果之上再做一些高级的查询, 这样就可以轻易合并一些查询结果。

总结

在实际使用中,redash和superset各有优劣。根据自己的场景来选择吧。查阅资料的过程中,已经有人对redash做了二次开发,这也许是深度使用的必经之路。
为什么非要使用这种开源BI可视化工具?
因为如果是前后端配合的话,工作量会很大。而且也很难实现随时修改随时上线。不过这取决于前期数据的完整性。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Oracle 分析及动态采样
 之前在说OracleOptimizer中的CBO时讲到,当表没有做分析的时候,Oracle会使用动态采样来收集统计信息。获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。所以对于CBO,数据段的分析就非常重要
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Stella981 Stella981
3年前
Linux应急响应(二):捕捉短连接
0x00前言​短连接(shortconnnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。在系统维护中,一般很难去察觉,需要借助网络安全设备或者抓包分析,才能够去发现。0x01应急场景​
Wesley13 Wesley13
3年前
APP数据分析,到底是在分析什么?
当下,逢运营必谈数据分析,APP运营更是如此。数据分析的用意本不在于数据本身,而是要打造一个数据反馈闭环。收集数据,设计基础数据指标,多维度交叉分析不同指标,以数据甄别问题,再反向作用产品,最终形成数据驱动产品设计的闭环。从运营小白到产品经理,提到APP数据分析,必谈DAU、MAU、留存率、频率、时长…..那么,究竟如何将这些数据分析和日常运营结合起来呢
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
智多星V+TNY264278 智多星V+TNY264278
8个月前
淘宝商品数据分析宝典:解锁销售与供应链优化秘籍
对淘宝商品通过API接口的数据进行详细分析,是一个涉及数据收集、处理、分析和结论的复杂过程。以下是一个详细的分析框架,包括需要分析的具体数据、数据来源、重要性以及实用建议。一、分析过程1.数据收集:首先,需要选择合适的API接口来获取淘宝商品数据。淘宝开放
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(